[LinuxBIOS] [PATCH] buildrom: add extract and busybox-config, uclibc-config targets

Ward Vandewege ward at gnu.org
Fri Jan 11 00:18:49 CET 2008



-- 
Ward Vandewege <ward at fsf.org>
Free Software Foundation - Senior System Administrator
-------------- next part --------------

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.

Signed-off-by: Ward Vandewege <ward at gnu.org>

Index: Makefile
===================================================================
--- Makefile	(revision 89)
+++ Makefile	(working copy)
@@ -20,7 +20,7 @@
 config-targets := 1
 endif
 
-ifneq ($(filter config %config,$(MAKECMDGOALS)),)
+ifneq ($(filter textconfig oldconfig defconfig menuconfig,$(MAKECMDGOALS)),)
 config-targets := 1
 dot-config := 0
 endif
@@ -47,11 +47,14 @@
 
 PKG_clean=$(patsubst %, %-clean, $(PKGLIST))
 PKG_distclean=$(patsubst %, %-distclean, $(PKGLIST))
+PKG_extract=$(patsubst %, %-extract, $(PKGLIST))
 
 all: $(HOSTTOOLS-y) payload linuxbios
 
 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 89)
+++ packages/kernel/kernel.inc	(working copy)
@@ -28,6 +28,7 @@
 $(KERNEL_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(KERNEL_SOURCE)
 	@ mkdir -p $(KERNEL_DIR)
 	@ echo "Unpacking kernel..."
+	@ mkdir -p $(KERNEL_STAMP_DIR)
 	@ tar -C $(KERNEL_DIR) -jxf $(SOURCE_DIR)/$(KERNEL_SOURCE)
 	@ touch $@
 
@@ -83,3 +84,6 @@
 
 generic-kernel-distclean:
 	@ rm -rf $(KERNEL_DIR)
+
+kernel-extract: $(KERNEL_STAMP_DIR)/.patched
+
Index: packages/unifdef/unifdef.mk
===================================================================
--- packages/unifdef/unifdef.mk	(revision 89)
+++ packages/unifdef/unifdef.mk	(working copy)
@@ -18,6 +18,7 @@
 	@ wget -P $(SOURCE_DIR) $(UNIFDEF_URL)/$(UNIFDEF_SOURCE)
 
 $(UNIFDEF_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(UNIFDEF_SOURCE)
+	@ mkdir -p $(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 +49,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 89)
+++ packages/busybox/busybox.mk	(working copy)
@@ -17,11 +17,20 @@
 
 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)
+	@ mkdir -p $(BUSYBOX_DIR)
+	@ mkdir -p $(BUSYBOX_STAMP_DIR)
 	@ echo "Unpacking busybox..."
 	@ tar -C $(BUSYBOX_DIR) -jxf $(SOURCE_DIR)/$(BUSYBOX_SOURCE)
 	@ touch $@	
@@ -32,7 +41,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..."
@@ -57,8 +66,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 89)
+++ packages/mkelfimage/mkelfimage.mk	(working copy)
@@ -21,6 +21,7 @@
 
 $(MKELFIMAGE_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(MKELFIMAGE_SOURCE)
 	@ echo "Unpacking mkelfimage..."
+	@ mkdir -p $(MKELFIMAGE_STAMP_DIR)
 	@ tar -C $(MKELFIMAGE_DIR) -zxf $(SOURCE_DIR)/$(MKELFIMAGE_SOURCE)
 	@ touch $@	
 
@@ -60,3 +61,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 89)
+++ 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,13 @@
 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)
+	@ mkdir -p $(UCLIBC_DIR)
+	@ mkdir -p $(UCLIBC_STAMP_DIR)
 	@ echo "Unpacking uclibc..." 
 	@ tar -C $(UCLIBC_DIR) -jxf $(SOURCE_DIR)/$(UCLIBC_SOURCE)
 	@ touch $@	
@@ -77,3 +87,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 89)
+++ packages/lzma/lzma.mk	(working copy)
@@ -19,6 +19,7 @@
 
 $(LZMA_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(LZMA_SOURCE)
 	@ mkdir -p $(LZMA_SRC_DIR)
+	@ mkdir -p $(LZMA_STAMP_DIR)
 	@ tar -C $(LZMA_SRC_DIR) -jxf $(SOURCE_DIR)/$(LZMA_SOURCE)
 	@ touch $@
 
@@ -44,3 +45,6 @@
 
 lzma-distclean:
 	@ rm -rf $(LZMA_DIR)/*
+
+lzma-extract: $(LZMA_STAMP_DIR)/.unpacked
+
Index: packages/linuxbios/tyan-s2891-linuxbios.mk
===================================================================
--- packages/linuxbios/tyan-s2891-linuxbios.mk	(revision 89)
+++ packages/linuxbios/tyan-s2891-linuxbios.mk	(working copy)
@@ -32,6 +32,7 @@
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): 
 	@ echo "Fetching the LinuxBIOS code..."
 	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ mkdir -p $(LINUXBIOS_LOG_DIR)
 	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
 	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
 	> $(LINUXBIOS_FETCH_LOG) 2>&1
Index: packages/linuxbios/tyan-s2882-linuxbios.mk
===================================================================
--- packages/linuxbios/tyan-s2882-linuxbios.mk	(revision 89)
+++ packages/linuxbios/tyan-s2882-linuxbios.mk	(working copy)
@@ -32,6 +32,7 @@
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): 
 	@ echo "Fetching the LinuxBIOS code..."
 	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ mkdir -p $(LINUXBIOS_LOG_DIR)
 	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
 	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
 	> $(LINUXBIOS_FETCH_LOG) 2>&1
Index: packages/linuxbios/msm800sev-linuxbios.mk
===================================================================
--- packages/linuxbios/msm800sev-linuxbios.mk	(revision 89)
+++ packages/linuxbios/msm800sev-linuxbios.mk	(working copy)
@@ -23,6 +23,7 @@
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): 
 	@ echo "Fetching the LinuxBIOS code..."
 	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ mkdir -p $(LINUXBIOS_LOG_DIR)
 	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
 	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
 	> $(LINUXBIOS_FETCH_LOG) 2>&1
Index: packages/linuxbios/ga-2761gxdk-linuxbios.mk
===================================================================
--- packages/linuxbios/ga-2761gxdk-linuxbios.mk	(revision 89)
+++ packages/linuxbios/ga-2761gxdk-linuxbios.mk	(working copy)
@@ -25,6 +25,7 @@
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL):
 	@ echo "Fetching the LinuxBIOS code..."
 	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ mkdir -p $(LINUXBIOS_LOG_DIR)
 	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
 	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
 	> $(LINUXBIOS_FETCH_LOG) 2>&1
Index: packages/linuxbios/linuxbios.inc
===================================================================
--- packages/linuxbios/linuxbios.inc	(revision 89)
+++ packages/linuxbios/linuxbios.inc	(working copy)
@@ -70,6 +70,7 @@
 
 $(LINUXBIOS_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(LINUXBIOS_TARBALL)
 	@ echo "Unpacking LinuxBIOS..."
+	@ mkdir -p $(LINUXBIOS_STAMP_DIR)
 	@ tar -C $(LINUXBIOS_DIR) -zxf $(SOURCE_DIR)/$(LINUXBIOS_TARBALL)
 	@ touch $@	
 
@@ -115,3 +116,5 @@
 	fi	
 
 	@ rm -rf $(LINUXBIOS_DIR)/*
+
+linuxbios-extract: $(LINUXBIOS_STAMP_DIR)/.patched
Index: packages/linuxbios/supermicro-h8dmr-linuxbios.mk
===================================================================
--- packages/linuxbios/supermicro-h8dmr-linuxbios.mk	(revision 89)
+++ packages/linuxbios/supermicro-h8dmr-linuxbios.mk	(working copy)
@@ -36,6 +36,7 @@
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): 
 	@ echo "Fetching the LinuxBIOS code..."
 	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ mkdir -p $(LINUXBIOS_LOG_DIR)
 	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
 	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
 	> $(LINUXBIOS_FETCH_LOG) 2>&1
Index: packages/linuxbios/norwich-linuxbios.mk
===================================================================
--- packages/linuxbios/norwich-linuxbios.mk	(revision 89)
+++ packages/linuxbios/norwich-linuxbios.mk	(working copy)
@@ -23,6 +23,7 @@
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): 
 	@ echo "Fetching the LinuxBIOS code..."
 	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ mkdir -p $(LINUXBIOS_LOG_DIR)
 	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
 	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
 	> $(LINUXBIOS_FETCH_LOG) 2>&1
Index: packages/linuxbios/generic-linuxbios.mk
===================================================================
--- packages/linuxbios/generic-linuxbios.mk	(revision 89)
+++ packages/linuxbios/generic-linuxbios.mk	(working copy)
@@ -29,6 +29,7 @@
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): 
 	@ echo "Fetching the LinuxBIOS code..."
 	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ mkdir -p $(LINUXBIOS_LOG_DIR)
 	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
 	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
 	> $(LINUXBIOS_FETCH_LOG) 2>&1
Index: packages/linuxbios/m57sli-linuxbios.mk
===================================================================
--- packages/linuxbios/m57sli-linuxbios.mk	(revision 89)
+++ packages/linuxbios/m57sli-linuxbios.mk	(working copy)
@@ -36,6 +36,7 @@
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): 
 	@ echo "Fetching the LinuxBIOS code..."
 	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ mkdir -p $(LINUXBIOS_LOG_DIR)
 	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
 	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
 	> $(LINUXBIOS_FETCH_LOG) 2>&1
Index: packages/linuxbios/alix1c-linuxbios.mk
===================================================================
--- packages/linuxbios/alix1c-linuxbios.mk	(revision 89)
+++ packages/linuxbios/alix1c-linuxbios.mk	(working copy)
@@ -23,6 +23,7 @@
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): 
 	@ echo "Fetching the LinuxBIOS code..."
 	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ mkdir -p $(LINUXBIOS_LOG_DIR)
 	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
 	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
 	> $(LINUXBIOS_FETCH_LOG) 2>&1
Index: packages/linuxbios/serengeti_cheetah.mk
===================================================================
--- packages/linuxbios/serengeti_cheetah.mk	(revision 89)
+++ packages/linuxbios/serengeti_cheetah.mk	(working copy)
@@ -45,6 +45,7 @@
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL):
 	@ echo "Fetching the LinuxBIOS code..."
 	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ mkdir -p $(LINUXBIOS_LOG_DIR)
 	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
 	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
 	> $(LINUXBIOS_FETCH_LOG) 2>&1
Index: packages/linuxbios/qemu.mk
===================================================================
--- packages/linuxbios/qemu.mk	(revision 89)
+++ packages/linuxbios/qemu.mk	(working copy)
@@ -34,6 +34,7 @@
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL):
 	@ echo "Fetching the LinuxBIOS code..."
 	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ mkdir -p $(LINUXBIOS_LOG_DIR)
 	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(LINUXBIOS_SVN_DIR) \
 	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
 	> $(LINUXBIOS_FETCH_LOG) 2>&1


More information about the coreboot mailing list