From 1007042ca0a748f75f8e61c89e0278df55c8f390 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 20 Dec 2009 10:39:32 +0100 Subject: check for MirBSD ksh --- Makefile | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index d3130388d..093fb73e2 100644 --- a/Makefile +++ b/Makefile @@ -153,6 +153,10 @@ NO_ERROR=0 echo "GNU bash needs to be installed."; \ exit 1; \ fi + @if ! mksh -c 'echo $$KSH_VERSION' 2>&1 | fgrep 'MIRBSD' >/dev/null 2>&1; then \ + echo "MirBSD ksh (mksh) needs to be installed."; \ + exit 1; \ + fi @if test x"$$(umask 2>/dev/null | sed 's/00*22/OK/')" != x"OK"; then \ echo >&2 Error: you must build with umask 022, sorry.; \ exit 1; \ -- cgit v1.2.3 From fed4931572ca5a46b4f316184f3f8d357636fbfb Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 20 Dec 2009 11:25:09 +0100 Subject: add subpackage descriptions and make menu pkgmaker should only be run by developers. takes to long otherwise. generated Config.in data can be committed. --- Makefile | 5 +++++ mk/build.mk | 4 ++++ mk/package.mk | 1 + package/pkgmaker | 5 +++-- 4 files changed, 13 insertions(+), 2 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 093fb73e2..f1d49ed44 100644 --- a/Makefile +++ b/Makefile @@ -64,6 +64,8 @@ pkg-help: @echo 'This does not automatically resolve package dependencies!' dev-help: + @echo 'Regenerate menu information via "make menu"' + @echo @echo 'Fast way of updating package patches:' @echo ' run "make package= clean" to start with a good base' @echo ' run "make package= patch" to fetch, unpack and patch the source' @@ -135,6 +137,9 @@ package_index: .prereq_done bulk: .prereq_done @${GMAKE_INV} bulk +menu: .prereq_done + @${GMAKE_INV} menu + world: .prereq_done @${GMAKE_INV} world diff --git a/mk/build.mk b/mk/build.mk index c1828599f..f70d40cb1 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -352,3 +352,7 @@ distclean: ${TOPDIR}/package/*/info.mk endif # ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y) + +menu: + mksh $(TOPDIR)/package/pkgmaker + diff --git a/mk/package.mk b/mk/package.mk index 7562b9e4f..c9d9c7978 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -149,6 +149,7 @@ define PKG_template ALL_PKGOPTS+= $(1) PKGNAME_$(1)= $(2) PKGDEPS_$(1)= $(4) +PKGDESC_$(1)= $(5) IPKG_$(1)= $(PACKAGE_DIR)/$(2)_$(3)_${CPU_ARCH}.${PKG_SUFFIX} IDIR_$(1)= $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(2) ifneq (${ADK_PACKAGE_$(1)}${DEVELOPER},) diff --git a/package/pkgmaker b/package/pkgmaker index 23e2a25a5..9d5b40761 100644 --- a/package/pkgmaker +++ b/package/pkgmaker @@ -53,7 +53,8 @@ for sd in */Makefile; do while (( ${#xf} < 34 )); do xf=$xf. done - print "\tprompt \"$xf ${pd:-$pn}\"" + desc=$($GMAKE show=PKGDESC_$xu) + print "\tprompt \"$xf ${desc:-${pd:-$pn}}\"" print \\ttristate print \\tdefault n deps=$($GMAKE show=PKGDEPS_$xu) @@ -111,6 +112,6 @@ EOF print \\thelp print "\t flavour ADK_PACKAGE_${dnu}_$pf" done - ) >Config.new + ) >Config.in cd .. done -- cgit v1.2.3 From c26f83a3f04f3281bb4431a1c4ac9a6f7dc55b84 Mon Sep 17 00:00:00 2001 From: Thorsten Glaser Date: Sun, 20 Dec 2009 15:31:55 +0059 Subject: Fix BSD make Signed-off-by: Thorsten Glaser --- BSDmakefile | 6 +++++- GNUmakefile | 2 ++ Makefile | 9 ++------- Makefile.inc | 4 ++++ 4 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 Makefile.inc (limited to 'Makefile') diff --git a/BSDmakefile b/BSDmakefile index 843c4146a..86b674100 100644 --- a/BSDmakefile +++ b/BSDmakefile @@ -5,6 +5,10 @@ ADKVERSION= 0.1.0 TOPDIR= ${.CURDIR} PWD= ${.CURDIR} +.include "${.CURDIR}/Makefile.inc" + +GMAKE_ENV+= ADKVERSION=${ADKVERSION:Q} + .if defined(package) && !empty(package) subdir:= package/${package} . if !make(clean) @@ -22,7 +26,7 @@ _subdir: ${_subdir_dep} exit 1; \ fi cd ${.CURDIR}/${subdir} && TOPDIR=${.CURDIR} DEVELOPER=1 \ - gmake VERBOSE=1 ${.MFLAGS} ${_subdir} + ${GMAKE} VERBOSE=1 ${.MFLAGS} ${_subdir} . include "${.CURDIR}/prereq.mk" . include "${.CURDIR}/mk/split-cfg.mk" diff --git a/GNUmakefile b/GNUmakefile index 5d2279a17..83d4f4386 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -4,6 +4,8 @@ TOPDIR:= $(shell pwd) PWD:= ${TOPDIR} +include Makefile.inc + ADKVERSION= 0.1.0 export ADKVERSION diff --git a/Makefile b/Makefile index f1d49ed44..0c92ba021 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,6 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. -CC?= gcc -GMAKE?= $(PWD)/scripts/make -GMAKE_FMK= ${GMAKE} -f $(PWD)/mk/build.mk -GMAKE_INV= ${GMAKE_FMK} --no-print-directory - all: .prereq_done @${GMAKE_INV} all @@ -145,11 +140,11 @@ world: .prereq_done prereq: @rm -f .prereq_done - @${MAKE} .prereq_done --no-print-directory + @${GMAKE} .prereq_done prereq-noerror: @rm -f .prereq_done - @${MAKE} .prereq_done NO_ERROR=1 + @${GMAKE} .prereq_done NO_ERROR=1 NO_ERROR=0 .prereq_done: diff --git a/Makefile.inc b/Makefile.inc new file mode 100644 index 000000000..4cc06dfad --- /dev/null +++ b/Makefile.inc @@ -0,0 +1,4 @@ +CC?= gcc +GMAKE?= env ${GMAKE_ENV} $(PWD)/scripts/make +GMAKE_FMK= ${GMAKE} -f $(PWD)/mk/build.mk +GMAKE_INV= ${GMAKE_FMK} --no-print-directory -- cgit v1.2.3 From 784a72b02ba2f0940c4d4ec63f9bac0e66c49e59 Mon Sep 17 00:00:00 2001 From: Thorsten Glaser Date: Sun, 20 Dec 2009 15:37:39 +0059 Subject: fix typo Signed-off-by: Thorsten Glaser --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 0c92ba021..e3c019d62 100644 --- a/Makefile +++ b/Makefile @@ -65,7 +65,7 @@ dev-help: @echo ' run "make package= clean" to start with a good base' @echo ' run "make package= patch" to fetch, unpack and patch the source' @echo ' edit the package sources at build_dir/w--*/-' - @echo ' run "make package= update-patches to regenerate patch files' + @echo ' run "make package= update-patches" to regenerate patch files' @echo '' @echo 'All changed patches will be opened with your $$EDITOR,' @echo 'so you can add a description and verify the modifications.' -- cgit v1.2.3 From 2737423784ee8b84a7594232ec6aa2df0b400488 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 21 Dec 2009 13:01:07 +0100 Subject: add a more realistic bulk target thx to mirabilos --- .gitignore | 1 + Makefile | 3 +++ mk/build.mk | 39 +++++++++++++++++++++++++++------------ package/linux-atm/Makefile | 1 + target/bulk.lst | 3 +++ 5 files changed, 35 insertions(+), 12 deletions(-) create mode 100644 target/bulk.lst (limited to 'Makefile') 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 -- cgit v1.2.3