summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit62b5ae4b66f214fb2f105590bdac14133f0cdc20 (patch)
treee5371fb6c1bc8f7d9736ed05a2af892731bfdf92
parent88494a7bbebf55051368175c146dc9ff1e6a34fd (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--Makefile45
-rw-r--r--package/config/Makefile1
-rw-r--r--target/initramfs/initramfs.mk2
-rw-r--r--target/linux/Makefile.in15
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)