diff options
author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2007-07-18 18:07:19 +0000 |
---|---|---|
committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2007-07-18 18:07:19 +0000 |
commit | 62b5ae4b66f214fb2f105590bdac14133f0cdc20 (patch) | |
tree | e5371fb6c1bc8f7d9736ed05a2af892731bfdf92 | |
parent | 88494a7bbebf55051368175c146dc9ff1e6a34fd (diff) |
Fix INITRAMFS target that was broken. Get rid of config stuff out of the top-level directory. Finally fix Linux kernel module building such that modules are built and installed first followed by rest of packages. This allows for packages to build external Linux kernel modules.
-rw-r--r-- | Makefile | 45 | ||||
-rw-r--r-- | package/config/Makefile | 1 | ||||
-rw-r--r-- | target/initramfs/initramfs.mk | 2 | ||||
-rw-r--r-- | target/linux/Makefile.in | 15 |
4 files changed, 35 insertions, 28 deletions
@@ -187,6 +187,9 @@ include .config.cmd # each selected package to TARGETS if that package was selected # in the .config file. include toolchain/*/*.mk +ifeq ($(BR2_PACKAGE_LINUX),y) +TARGETS+=linux26-modules +endif include package/*/*.mk # target stuff is last so it can override anything else @@ -309,47 +312,47 @@ $(CONFIG)/mconf: fi menuconfig: $(CONFIG)/mconf - @-mkdir -p include/config - @KCONFIG_AUTOCONFIG=include/config/auto.conf \ - KCONFIG_AUTOHEADER=include/autoconf.h \ + @-mkdir -p $(CONFIG)/buildroot-config + @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \ + KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \ $(CONFIG)/mconf $(CONFIG_CONFIG_IN) config: $(CONFIG)/conf - @-mkdir -p include/config - @KCONFIG_AUTOCONFIG=include/config/auto.conf \ - KCONFIG_AUTOHEADER=include/autoconf.h \ + @-mkdir -p $(CONFIG)/buildroot-config + @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \ + KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \ $(CONFIG)/conf $(CONFIG_CONFIG_IN) oldconfig: $(CONFIG)/conf - @-mkdir -p include/config - @KCONFIG_AUTOCONFIG=include/config/auto.conf \ - KCONFIG_AUTOHEADER=include/autoconf.h \ + @-mkdir -p $(CONFIG)/buildroot-config + @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \ + KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \ $(CONFIG)/conf -o $(CONFIG_CONFIG_IN) randconfig: $(CONFIG)/conf - @-mkdir -p include/config - @KCONFIG_AUTOCONFIG=include/config/auto.conf \ - KCONFIG_AUTOHEADER=include/autoconf.h \ + @-mkdir -p $(CONFIG)/buildroot-config + @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \ + KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \ $(CONFIG)/conf -r $(CONFIG_CONFIG_IN) allyesconfig: $(CONFIG)/conf cat $(CONFIG_DEFCONFIG) > .config - @-mkdir -p include/config - @KCONFIG_AUTOCONFIG=include/config/auto.conf \ - KCONFIG_AUTOHEADER=include/autoconf.h \ + @-mkdir -p $(CONFIG)/buildroot-config + @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \ + KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \ $(CONFIG)/conf -y $(CONFIG_CONFIG_IN) #sed -i -e "s/^CONFIG_DEBUG.*/# CONFIG_DEBUG is not set/" .config allnoconfig: $(CONFIG)/conf - @-mkdir -p include/config - @KCONFIG_AUTOCONFIG=include/config/auto.conf \ - KCONFIG_AUTOHEADER=include/autoconf.h \ + @-mkdir -p $(CONFIG)/buildroot-config + @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \ + KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \ $(CONFIG)/conf -n $(CONFIG_CONFIG_IN) defconfig: $(CONFIG)/conf - @-mkdir -p include/config - @KCONFIG_AUTOCONFIG=include/config/auto.conf \ - KCONFIG_AUTOHEADER=include/autoconf.h \ + @-mkdir -p $(CONFIG)/buildroot-config + @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \ + KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \ $(CONFIG)/conf -d $(CONFIG_CONFIG_IN) # check if download URLs are outdated diff --git a/package/config/Makefile b/package/config/Makefile index 982569f74..3b4384920 100644 --- a/package/config/Makefile +++ b/package/config/Makefile @@ -34,6 +34,7 @@ distclean: clean $(Q)rm -f $(lxdialog) $(conf-objs) $(mconf-objs) $(kxgettext-objs) \ $(hostprogs-y) $(qconf-cxxobjs) $(qconf-objs) $(gconf-objs) \ mconf .depend + $(Q)rm -rf buildroot-config FORCE: .PHONY: FORCE clean distclean diff --git a/target/initramfs/initramfs.mk b/target/initramfs/initramfs.mk index e4ae1480a..d44f47bf4 100644 --- a/target/initramfs/initramfs.mk +++ b/target/initramfs/initramfs.mk @@ -13,6 +13,8 @@ INITRAMFS_TARGET:= #nothing endif $(INITRAMFS_TARGET) initramfs: host-fakeroot makedevs + rm -f $(TARGET_DIR)/init + ln -s sbin/init $(TARGET_DIR)/init -find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true; rm -rf $(TARGET_DIR)/usr/man rm -rf $(TARGET_DIR)/usr/info diff --git a/target/linux/Makefile.in b/target/linux/Makefile.in index bbb3726d6..db7be0e69 100644 --- a/target/linux/Makefile.in +++ b/target/linux/Makefile.in @@ -131,12 +131,7 @@ $(LINUX26_KERNEL): $(LINUX26_DIR)/.depend_done cp -dpf $(LINUX26_DIR)/$(LINUX26_BINLOC) $(LINUX26_KERNEL) touch -c $@ -$(TARGET_DIR)/boot/$(LINUX26_FORMAT): $(LINUX26_KERNEL) - [ -d $(TARGET_DIR)/boot/ ] || mkdir $(TARGET_DIR)/boot - cp -dpf $(LINUX26_DIR)/$(LINUX26_BINLOC) $(LINUX26_DIR)/System.map $(TARGET_DIR)/boot/ - touch -c $@ - -linux26-modules $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep: $(LINUX26_DIR)/.depend_done +$(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep: $(LINUX26_DIR)/.configured rm -rf $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION) rm -f $(TARGET_DIR)/sbin/cardmgr $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) modules @@ -145,6 +140,7 @@ linux26-modules $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep: $(LINU INSTALL_MOD_PATH=$(TARGET_DIR) modules_install rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/build rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/source + $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod26 -b $(TARGET_DIR) $(LINUX_HEADERS_VERSION) touch -c $@ linux26-menuconfig: $(LINUX26_DIR)/.patched host-sed @@ -152,7 +148,12 @@ linux26-menuconfig: $(LINUX26_DIR)/.patched host-sed $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig -[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured -linux26: cross-depmod26 $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep $(INITRAMFS_TARGET) $(TARGET_DIR)/boot/$(LINUX26_FORMAT) +linux26: $(INITRAMFS_TARGET) $(LINUX26_KERNEL) + +$(LINUX26_DIR)/.modules_installed: $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep + touch $@ + +linux26-modules: cross-depmod26 $(LINUX26_DIR)/.modules_installed linux26-source: $(DL_DIR)/$(LINUX26_SOURCE) |