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.

This commit is contained in:
"Steven J. Hill" 2007-07-18 18:07:19 +00:00
parent 88494a7bbe
commit 62b5ae4b66
4 changed files with 35 additions and 28 deletions

View File

@ -187,6 +187,9 @@ include .config.cmd
# each selected package to TARGETS if that package was selected # each selected package to TARGETS if that package was selected
# in the .config file. # in the .config file.
include toolchain/*/*.mk include toolchain/*/*.mk
ifeq ($(BR2_PACKAGE_LINUX),y)
TARGETS+=linux26-modules
endif
include package/*/*.mk include package/*/*.mk
# target stuff is last so it can override anything else # target stuff is last so it can override anything else
@ -309,47 +312,47 @@ $(CONFIG)/mconf:
fi fi
menuconfig: $(CONFIG)/mconf menuconfig: $(CONFIG)/mconf
@-mkdir -p include/config @-mkdir -p $(CONFIG)/buildroot-config
@KCONFIG_AUTOCONFIG=include/config/auto.conf \ @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
KCONFIG_AUTOHEADER=include/autoconf.h \ KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
$(CONFIG)/mconf $(CONFIG_CONFIG_IN) $(CONFIG)/mconf $(CONFIG_CONFIG_IN)
config: $(CONFIG)/conf config: $(CONFIG)/conf
@-mkdir -p include/config @-mkdir -p $(CONFIG)/buildroot-config
@KCONFIG_AUTOCONFIG=include/config/auto.conf \ @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
KCONFIG_AUTOHEADER=include/autoconf.h \ KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
$(CONFIG)/conf $(CONFIG_CONFIG_IN) $(CONFIG)/conf $(CONFIG_CONFIG_IN)
oldconfig: $(CONFIG)/conf oldconfig: $(CONFIG)/conf
@-mkdir -p include/config @-mkdir -p $(CONFIG)/buildroot-config
@KCONFIG_AUTOCONFIG=include/config/auto.conf \ @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
KCONFIG_AUTOHEADER=include/autoconf.h \ KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
$(CONFIG)/conf -o $(CONFIG_CONFIG_IN) $(CONFIG)/conf -o $(CONFIG_CONFIG_IN)
randconfig: $(CONFIG)/conf randconfig: $(CONFIG)/conf
@-mkdir -p include/config @-mkdir -p $(CONFIG)/buildroot-config
@KCONFIG_AUTOCONFIG=include/config/auto.conf \ @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
KCONFIG_AUTOHEADER=include/autoconf.h \ KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
$(CONFIG)/conf -r $(CONFIG_CONFIG_IN) $(CONFIG)/conf -r $(CONFIG_CONFIG_IN)
allyesconfig: $(CONFIG)/conf allyesconfig: $(CONFIG)/conf
cat $(CONFIG_DEFCONFIG) > .config cat $(CONFIG_DEFCONFIG) > .config
@-mkdir -p include/config @-mkdir -p $(CONFIG)/buildroot-config
@KCONFIG_AUTOCONFIG=include/config/auto.conf \ @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
KCONFIG_AUTOHEADER=include/autoconf.h \ KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
$(CONFIG)/conf -y $(CONFIG_CONFIG_IN) $(CONFIG)/conf -y $(CONFIG_CONFIG_IN)
#sed -i -e "s/^CONFIG_DEBUG.*/# CONFIG_DEBUG is not set/" .config #sed -i -e "s/^CONFIG_DEBUG.*/# CONFIG_DEBUG is not set/" .config
allnoconfig: $(CONFIG)/conf allnoconfig: $(CONFIG)/conf
@-mkdir -p include/config @-mkdir -p $(CONFIG)/buildroot-config
@KCONFIG_AUTOCONFIG=include/config/auto.conf \ @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
KCONFIG_AUTOHEADER=include/autoconf.h \ KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
$(CONFIG)/conf -n $(CONFIG_CONFIG_IN) $(CONFIG)/conf -n $(CONFIG_CONFIG_IN)
defconfig: $(CONFIG)/conf defconfig: $(CONFIG)/conf
@-mkdir -p include/config @-mkdir -p $(CONFIG)/buildroot-config
@KCONFIG_AUTOCONFIG=include/config/auto.conf \ @KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
KCONFIG_AUTOHEADER=include/autoconf.h \ KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
$(CONFIG)/conf -d $(CONFIG_CONFIG_IN) $(CONFIG)/conf -d $(CONFIG_CONFIG_IN)
# check if download URLs are outdated # check if download URLs are outdated

View File

@ -34,6 +34,7 @@ distclean: clean
$(Q)rm -f $(lxdialog) $(conf-objs) $(mconf-objs) $(kxgettext-objs) \ $(Q)rm -f $(lxdialog) $(conf-objs) $(mconf-objs) $(kxgettext-objs) \
$(hostprogs-y) $(qconf-cxxobjs) $(qconf-objs) $(gconf-objs) \ $(hostprogs-y) $(qconf-cxxobjs) $(qconf-objs) $(gconf-objs) \
mconf .depend mconf .depend
$(Q)rm -rf buildroot-config
FORCE: FORCE:
.PHONY: FORCE clean distclean .PHONY: FORCE clean distclean

View File

@ -13,6 +13,8 @@ INITRAMFS_TARGET:= #nothing
endif endif
$(INITRAMFS_TARGET) initramfs: host-fakeroot makedevs $(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; -find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
rm -rf $(TARGET_DIR)/usr/man rm -rf $(TARGET_DIR)/usr/man
rm -rf $(TARGET_DIR)/usr/info rm -rf $(TARGET_DIR)/usr/info

View File

@ -131,12 +131,7 @@ $(LINUX26_KERNEL): $(LINUX26_DIR)/.depend_done
cp -dpf $(LINUX26_DIR)/$(LINUX26_BINLOC) $(LINUX26_KERNEL) cp -dpf $(LINUX26_DIR)/$(LINUX26_BINLOC) $(LINUX26_KERNEL)
touch -c $@ touch -c $@
$(TARGET_DIR)/boot/$(LINUX26_FORMAT): $(LINUX26_KERNEL) $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep: $(LINUX26_DIR)/.configured
[ -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
rm -rf $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION) rm -rf $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)
rm -f $(TARGET_DIR)/sbin/cardmgr rm -f $(TARGET_DIR)/sbin/cardmgr
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) modules $(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 INSTALL_MOD_PATH=$(TARGET_DIR) modules_install
rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/build rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/build
rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/source rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/source
$(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod26 -b $(TARGET_DIR) $(LINUX_HEADERS_VERSION)
touch -c $@ touch -c $@
linux26-menuconfig: $(LINUX26_DIR)/.patched host-sed 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 $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig
-[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured -[ -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) linux26-source: $(DL_DIR)/$(LINUX26_SOURCE)