summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-12-21 13:01:07 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2009-12-21 13:01:07 +0100
commit2737423784ee8b84a7594232ec6aa2df0b400488 (patch)
tree3ea68a92bd187469847b3383f07be9a87d2c3a8b
parent6b9416e4465c909141f4fcfd314e8d3cf0ea8477 (diff)
add a more realistic bulk target
thx to mirabilos
-rw-r--r--.gitignore1
-rw-r--r--Makefile3
-rw-r--r--mk/build.mk39
-rw-r--r--package/linux-atm/Makefile1
-rw-r--r--target/bulk.lst3
5 files changed, 35 insertions, 12 deletions
diff --git a/.gitignore b/.gitignore
index 7e9e1ef50..46c2fdb03 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,4 @@ dl/
package/*/info.mk
tools_build/
extra/
+bulkdir/
diff --git a/Makefile b/Makefile
index 6a5609fd2..392e780e8 100644
--- a/Makefile
+++ b/Makefile
@@ -121,6 +121,9 @@ image_clean imageclean cleanimage: .prereq_done
menuconfig: .prereq_done
@${GMAKE_INV} menuconfig
+defconfig: .prereq_done
+ @${GMAKE_INV} defconfig
+
allnoconfig: .prereq_done
@${GMAKE_INV} _config W=-n
diff --git a/mk/build.mk b/mk/build.mk
index 145856d6d..98dc6592c 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -79,6 +79,9 @@ include ${TOPDIR}/mk/split-cfg.mk
all: world
+allcopy: all
+ $(CP) $(BIN_DIR) $(TOPDIR)/bulkdir/${d}/
+
.NOTPARALLEL:
.PHONY: all world clean cleantarget cleandir distclean image_clean
@@ -200,7 +203,7 @@ distclean:
@$(TRACE) distclean
@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
rm -rf $(BUILD_DIR_PFX) $(BIN_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \
- ${TOPDIR}/.cfg*
+ ${TOPDIR}/.cfg* $(TOPDIR)/bulkdir
rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_PARENT_PFX) $(TOOLS_BUILD_DIR)
rm -f .config* .defconfig .tmpconfig.h all.config \
${TOPDIR}/package/*/info.mk
@@ -224,7 +227,7 @@ $(CONFIG)/conf:
$(CONFIG)/mconf:
@$(MAKE) -C $(CONFIG)
-defconfig:
+defconfig: $(CONFIG)/conf
ifeq (${OStype},Linux)
@echo ADK_HOST_LINUX=y > $(TOPDIR)/.defconfig
endif
@@ -332,20 +335,32 @@ _mconfig: ${CONFIG}/conf _mconfig2 _config
_mconfig2: ${CONFIG}/conf modconfig
@${CONFIG}/conf -m ${RCONFIG} >/dev/null
-# build all targets and combinations
-bulk:
- mkdir $(TOPDIR)/bulk
- $(MAKE) TARGET=alix1c LIBC=uclibc FS=nfsroot PKG=ipkg allmodconfig
- $(MAKE) v
- $(CP) $(BIN_DIR) $(TOPDIR)/bulk
- $(MAKE) cleantarget
-
distclean:
@$(MAKE) -C $(CONFIG) clean
@rm -rf $(BUILD_DIR) $(TOOLS_BUILD_DIR) $(BIN_DIR) $(DISTDIR) \
- ${TOPDIR}/.cfg*
+ ${TOPDIR}/.cfg* $(TOPDIR)/bulkdir
@rm -rf $(TOOLCHAIN_BUILD_DIR) $(STAGING_PARENT) $(TARGET_DIR)
@rm -f .config* .defconfig all.config .tmpconfig.h \
${TOPDIR}/package/*/info.mk
-endif # ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y)
+endif # ! ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y)
+
+# build all targets and combinations
+bulk:
+ while read target libc fs p; do \
+ mkdir -p $(TOPDIR)/bulkdir/$$target-$$libc-$$fs; \
+ ( \
+ echo === building $$target $$libc $$fs on $$(date); \
+ $(MAKE) prereq && \
+ $(MAKE) TARGET=$$target LIBC=$$libc FS=$$fs PKG=ipkg \
+ defconfig && \
+ if [ "x$$p" = xy ];then \
+ $(MAKE) TARGET=$$target LIBC=$$libc FS=$$fs PKG=ipkg \
+ allmodconfig; \
+ fi && \
+ $(MAKE) VERBOSE=1 -f mk/build.mk allcopy \
+ d=$$target-$$libc-$$fs && \
+ $(MAKE) cleantarget; \
+ rm .*config; \
+ ) 2>&1 | tee $(TOPDIR)/bulkdir/$$target-$$libc-$$fs/log; \
+ done <${TOPDIR}/target/bulk.lst
diff --git a/package/linux-atm/Makefile b/package/linux-atm/Makefile
index 1ebd2172b..b6f06694f 100644
--- a/package/linux-atm/Makefile
+++ b/package/linux-atm/Makefile
@@ -11,6 +11,7 @@ PKG_DESCR:= ATM library and tools for Linux
PKG_SECTION:= libs
PKG_URL:= http://linux-atm.sourceforge.net
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=linux-atm/}
+PKG_NOPARALLEL:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz
diff --git a/target/bulk.lst b/target/bulk.lst
new file mode 100644
index 000000000..ab34a4697
--- /dev/null
+++ b/target/bulk.lst
@@ -0,0 +1,3 @@
+alix1c uclibc nfsroot y
+alix1c eglibc nfsroot y
+alix1c glibc nfsroot y