From 62b5ae4b66f214fb2f105590bdac14133f0cdc20 Mon Sep 17 00:00:00 2001 From: "Steven J. Hill" Date: Wed, 18 Jul 2007 18:07:19 +0000 Subject: 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. --- Makefile | 45 +++++++++++++++++++++++-------------------- package/config/Makefile | 1 + target/initramfs/initramfs.mk | 2 ++ target/linux/Makefile.in | 15 ++++++++------- 4 files changed, 35 insertions(+), 28 deletions(-) diff --git a/Makefile b/Makefile index 65752ea95..a4d09eb89 100644 --- a/Makefile +++ b/Makefile @@ -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) -- cgit v1.2.3-55-g7522