[LinuxBIOS] [PATCH] buildrom: add extract and busybox-config, uclibc-config targets
Ward Vandewege
ward at gnu.org
Fri Jan 11 23:48:49 CET 2008
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 <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 when 'make' is issued.
Signed-off-by: Ward Vandewege <ward at gnu.org>
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
More information about the coreboot
mailing list