On Thu, Jan 10, 2008 at 04:39:57PM -0700, Myles Watson wrote: > Sorry to be so dense, but it looks like you added mkdir -p in a lot of > places for directories, even though there are already makefile rules for > them.
Right, that was stupid, I had not noticed those. This patch fixes that, and it's updated to r94. Thanks for catching that :) Thanks, Ward. -- Ward Vandewege <[EMAIL PROTECTED]> Free Software Foundation - Senior System Administrator
This patch adds extract targets, as well as the first of a a bunch of config targets: busybox-config and uclibc-config. The extract targets will just extract the component(s) under work. The config targets will run a configure command for the component, and then copy the resulting config file to packages/component/conf/customconfig. That config file will then be used to build the image when 'make' is issued. Signed-off-by: Ward Vandewege <[EMAIL PROTECTED]> Index: Makefile =================================================================== --- Makefile (revision 94) +++ Makefile (working copy) @@ -21,7 +21,7 @@ config-targets := 1 endif -ifneq ($(filter config %config,$(MAKECMDGOALS)),) +ifneq ($(filter textconfig oldconfig defconfig menuconfig,$(MAKECMDGOALS)),) config-targets := 1 dot-config := 0 endif @@ -60,6 +60,7 @@ PKG_clean=$(patsubst %, %-clean, $(PKGLIST)) PKG_distclean=$(patsubst %, %-distclean, $(PKGLIST)) +PKG_extract=$(patsubst %, %-extract, $(PKGLIST)) # This is the top level target - for v2, the final deliverable is built # by LinuxBIOS, for v3 it is built by us, so we have ifdef magic here @@ -78,6 +79,8 @@ payload: $(PAYLOAD_TARGET) +extract: $(PKG_extract) + clean: $(PKG_clean) @ rm -rf $(INITRD_DIR) $(OUTPUT_DIR) Index: packages/kernel/kernel.inc =================================================================== --- packages/kernel/kernel.inc (revision 94) +++ packages/kernel/kernel.inc (working copy) @@ -25,7 +25,7 @@ KERNEL_INSTALL_LOG=$(KERNEL_LOG_DIR)/install.log endif -$(KERNEL_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(KERNEL_SOURCE) +$(KERNEL_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(KERNEL_SOURCE) $(KERNEL_STAMP_DIR) @ mkdir -p $(KERNEL_DIR) @ echo "Unpacking kernel..." @ tar -C $(KERNEL_DIR) -jxf $(SOURCE_DIR)/$(KERNEL_SOURCE) @@ -83,3 +83,6 @@ generic-kernel-distclean: @ rm -rf $(KERNEL_DIR) + +kernel-extract: $(KERNEL_STAMP_DIR)/.patched + Index: packages/unifdef/unifdef.mk =================================================================== --- packages/unifdef/unifdef.mk (revision 94) +++ packages/unifdef/unifdef.mk (working copy) @@ -17,7 +17,7 @@ @ mkdir -p $(SOURCE_DIR) @ wget -P $(SOURCE_DIR) $(UNIFDEF_URL)/$(UNIFDEF_SOURCE) -$(UNIFDEF_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(UNIFDEF_SOURCE) +$(UNIFDEF_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(UNIFDEF_SOURCE) $(UNIFDEF_STAMP_DIR) @ tar -C $(UNIFDEF_DIR) -zxf $(SOURCE_DIR)/$(UNIFDEF_SOURCE) @ rm -f $(UNIFDEF_SRC_DIR)/unifdef @ rm -f $(UNIFDEF_SRC_DIR)/unifdef.o @@ -48,4 +48,8 @@ echo "Source: $(UNIFDEF_URL)/$(UNIFDEF_SOURCE)" echo "" +unifdef-extract: $(UNIFDEF_STAMP_DIR)/.unpacked + .PHONY: unifdef + + Index: packages/busybox/busybox.mk =================================================================== --- packages/busybox/busybox.mk (revision 94) +++ packages/busybox/busybox.mk (working copy) @@ -17,11 +17,18 @@ BUSYBOX_CONFIG ?= defconfig +ifeq ($(BUSYBOX_CONFIG),defconfig) +ifeq ($(shell if [ -f $(PACKAGE_DIR)/busybox/conf/customconfig ]; then echo 1; fi),1) + BUSYBOX_CONFIG = customconfig +endif +endif + $(SOURCE_DIR)/$(BUSYBOX_SOURCE): + @ echo "Downloading busybox..." @ mkdir -p $(SOURCE_DIR) @ wget -P $(SOURCE_DIR) $(BUSYBOX_URL)/$(BUSYBOX_SOURCE) -$(BUSYBOX_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(BUSYBOX_SOURCE) +$(BUSYBOX_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(BUSYBOX_SOURCE) $(BUSYBOX_STAMP_DIR) $(BUSYBOX_DIR) @ echo "Unpacking busybox..." @ tar -C $(BUSYBOX_DIR) -jxf $(SOURCE_DIR)/$(BUSYBOX_SOURCE) @ touch $@ @@ -32,7 +39,7 @@ @ touch $@ $(BUSYBOX_SRC_DIR)/.config: $(BUSYBOX_STAMP_DIR)/.patched - @ cp $(PACKAGE_DIR)/busybox/conf/$(BUSYBOX_CONFIG) $@ + @ cp -f $(PACKAGE_DIR)/busybox/conf/$(BUSYBOX_CONFIG) $@ $(BUSYBOX_SRC_DIR)/busybox: $(BUSYBOX_SRC_DIR)/.config @ echo "Building busybox..." @@ -46,7 +53,7 @@ @ $(MAKE) -C $(BUSYBOX_SRC_DIR) \ PREFIX=$(INITRD_DIR) install > $(BUSYBOX_INSTALL_LOG) 2>&1 -$(BUSYBOX_STAMP_DIR) $(BUSYBOX_LOG_DIR): +$(BUSYBOX_STAMP_DIR) $(BUSYBOX_LOG_DIR) $(BUSYBOX_DIR): @ mkdir -p $@ busybox: $(BUSYBOX_STAMP_DIR) $(BUSYBOX_LOG_DIR) $(INITRD_DIR)/bin/busybox @@ -57,8 +64,17 @@ busybox-distclean: @ rm -rf $(BUSYBOX_DIR)/* + @ rm -f $(PACKAGE_DIR)/busybox/conf/customconfig busybox-bom: @ echo "Package: busybox" @ echo "Source: $(BUSYBOX_URL)/$(BUSYBOX_SOURCE)" @ echo "" + +busybox-extract: $(BUSYBOX_STAMP_DIR)/.patched + +busybox-config: $(BUSYBOX_STAMP_DIR)/.patched + @ echo "Configure busybox..." + @ $(MAKE) -C $(BUSYBOX_SRC_DIR) menuconfig + @ cp -f $(BUSYBOX_SRC_DIR)/.config $(PACKAGE_DIR)/busybox/conf/customconfig + Index: packages/mkelfimage/mkelfimage.mk =================================================================== --- packages/mkelfimage/mkelfimage.mk (revision 94) +++ packages/mkelfimage/mkelfimage.mk (working copy) @@ -19,7 +19,7 @@ @ mkdir -p $(SOURCE_DIR) @ wget -P $(SOURCE_DIR) $(MKELFIMAGE_URL)/$(MKELFIMAGE_SOURCE) -$(MKELFIMAGE_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(MKELFIMAGE_SOURCE) +$(MKELFIMAGE_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(MKELFIMAGE_SOURCE) $(MKELFIMAGE_STAMP_DIR) @ echo "Unpacking mkelfimage..." @ tar -C $(MKELFIMAGE_DIR) -zxf $(SOURCE_DIR)/$(MKELFIMAGE_SOURCE) @ touch $@ @@ -60,3 +60,6 @@ echo "Package: mkelfimage" echo "Source: $(MKELFIMAGE_URL)/$(MKELFIMAGE_SOURCE)" echo "" + +mkelfimage-extract: $(MKELFIMAGE_STAMP_DIR)/.patched + Index: packages/uclibc/uclibc.mk =================================================================== --- packages/uclibc/uclibc.mk (revision 94) +++ packages/uclibc/uclibc.mk (working copy) @@ -7,8 +7,15 @@ UCLIBC_VER ?= 0.9.28 UCLIBC_ARCH ?= i386 UCLIBC_CONFIG ?= defconfig + +ifeq ($(UCLIBC_CONFIG),defconfig) +ifeq ($(shell if [ -f $(PACKAGE_DIR)/ucblic/conf/customconfig ]; then echo 1; fi),1) + UCLIBC_CONFIG = customconfig endif +endif +endif + UCLIBC_URL=http://www.uclibc.org/downloads UCLIBC_SOURCE=uClibc-$(UCLIBC_VER).tar.bz2 UCLIBC_DIR=$(BUILD_DIR)/uclibc @@ -25,10 +32,11 @@ endif $(SOURCE_DIR)/$(UCLIBC_SOURCE): + @ echo "Downloading uclibc..." @ mkdir -p $(SOURCE_DIR) @ wget -P $(SOURCE_DIR) $(UCLIBC_URL)/$(UCLIBC_SOURCE) -$(UCLIBC_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(UCLIBC_SOURCE) +$(UCLIBC_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(UCLIBC_SOURCE) $(UCLIBC_STAMP_DIR) $(UCLIBC_DIR) @ echo "Unpacking uclibc..." @ tar -C $(UCLIBC_DIR) -jxf $(SOURCE_DIR)/$(UCLIBC_SOURCE) @ touch $@ @@ -61,7 +69,7 @@ @ install -m 755 -d $(STAGING_DIR)/bin @ install -m 755 $< $@ -$(UCLIBC_STAMP_DIR) $(UCLIBC_LOG_DIR): +$(UCLIBC_STAMP_DIR) $(UCLIBC_LOG_DIR) $(UCLIBC_DIR): @ mkdir -p $@ uclibc: $(UCLIBC_STAMP_DIR) $(UCLIBC_LOG_DIR) $(STAGING_DIR)/lib/libc.a @@ -77,3 +85,11 @@ @ echo "Package: uclibc" @ echo "Source: $(UCLIBC_URL)/$(UCLIBC_SOURCE)" @ echo "" + +uclibc-extract: $(UCLIBC_STAMP_DIR)/.unpacked + +uclibc-config: $(UCLIBC_STAMP_DIR)/.unpacked + @ echo "Configure uclibc..." + @ $(MAKE) -C $(UCLIBC_SRC_DIR) menuconfig + @ cp -f $(UCLIBC_SRC_DIR)/.config $(PACKAGE_DIR)/uclibc/conf/customconfig + Index: packages/lzma/lzma.mk =================================================================== --- packages/lzma/lzma.mk (revision 94) +++ packages/lzma/lzma.mk (working copy) @@ -17,7 +17,7 @@ @ mkdir -p $(SOURCE_DIR) @ wget -P $(SOURCE_DIR) $(LZMA_URL)/$(LZMA_SOURCE) -$(LZMA_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(LZMA_SOURCE) +$(LZMA_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(LZMA_SOURCE) $(LZMA_STAMP_DIR) @ mkdir -p $(LZMA_SRC_DIR) @ tar -C $(LZMA_SRC_DIR) -jxf $(SOURCE_DIR)/$(LZMA_SOURCE) @ touch $@ @@ -44,3 +44,6 @@ lzma-distclean: @ rm -rf $(LZMA_DIR)/* + +lzma-extract: $(LZMA_STAMP_DIR)/.unpacked + Index: packages/linuxbios/linuxbios.inc =================================================================== --- packages/linuxbios/linuxbios.inc (revision 94) +++ packages/linuxbios/linuxbios.inc (working copy) @@ -58,7 +58,7 @@ $(LBV2_PAYLOAD_TARGET): $(PAYLOAD_TARGET) @ cp $< $@ -$(LBV2_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(LBV2_TARBALL) +$(LBV2_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(LBV2_TARBALL) $(LBV2_STAMP_DIR) $(LBV2_LOG_DIR) @ echo "Unpacking LinuxBIOS..." @ tar -C $(LBV2_DIR) -zxf $(SOURCE_DIR)/$(LBV2_TARBALL) @ touch $@ @@ -98,3 +98,5 @@ fi @ rm -rf $(LBV2_DIR)/* + +linuxbios-extract: $(LBV2_STAMP_DIR)/.patched
-- linuxbios mailing list linuxbios@linuxbios.org http://www.linuxbios.org/mailman/listinfo/linuxbios