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
# 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

View File

@ -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

View File

@ -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

View File

@ -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)