summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Config.in6
-rw-r--r--Makefile11
-rw-r--r--TODO1
-rw-r--r--mk/build.mk47
-rw-r--r--mk/image.mk15
-rw-r--r--mk/kernel-vars.mk2
-rw-r--r--mk/package.mk2
-rw-r--r--mk/pkg-bottom.mk2
-rw-r--r--package/busybox/Makefile12
-rw-r--r--package/busybox/patches/patch-include_libbb_h18
-rw-r--r--package/busybox/patches/patch-include_platform_h47
-rw-r--r--package/eglibc/Config.in0
-rw-r--r--package/eglibc/Config.in.manual21
-rw-r--r--package/eglibc/Makefile20
-rw-r--r--package/glibc/Config.in0
-rw-r--r--package/glibc/Config.in.manual21
-rw-r--r--package/glibc/Makefile19
-rw-r--r--package/linux-atm/Makefile1
-rw-r--r--package/ncurses/Makefile1
-rw-r--r--package/uclibc++/Config.in0
-rw-r--r--package/uclibc++/Config.in.manual8
-rw-r--r--package/uclibc/Config.in0
-rw-r--r--package/uclibc/Config.in.manual23
-rw-r--r--package/uclibc/Makefile12
-rw-r--r--rules.mk1
-rw-r--r--scripts/ipkg-build4
-rw-r--r--scripts/scan-pkgs.sh13
-rw-r--r--scripts/scan-tools.sh14
-rw-r--r--target/Config.in62
-rw-r--r--target/ag241/Makefile6
-rw-r--r--target/ag241/TODO3
-rw-r--r--target/alix1c/Makefile4
-rw-r--r--target/alix2d/Makefile4
-rw-r--r--target/alix2d/target.mk4
-rw-r--r--target/bulk.lst3
-rw-r--r--target/foxboard/Makefile4
-rw-r--r--target/foxboard/target.mk4
-rw-r--r--target/g1/Makefile2
-rw-r--r--target/g1/target.mk4
-rw-r--r--target/lemote/Makefile14
-rw-r--r--target/linux/config/Config.in.network1
-rw-r--r--target/linux/patches/2.6.31.5/aufs2.patch24455
-rw-r--r--target/linux/patches/2.6.31.5/cris-initrd.patch14
-rw-r--r--target/linux/patches/2.6.31.5/cygwin-compat.patch66
-rw-r--r--target/linux/patches/2.6.31.5/freebsd-compat.patch11
-rw-r--r--target/linux/patches/2.6.31.5/mtd-root.patch62
-rw-r--r--target/linux/patches/2.6.31.5/ocf.patch23653
-rw-r--r--target/linux/patches/2.6.31.5/startup.patch20
-rw-r--r--target/linux/patches/2.6.31.5/swconfig.patch1075
-rw-r--r--target/linux/patches/2.6.31.5/yaffs2.patch15066
-rw-r--r--target/linux/patches/2.6.32/bsd-compatibility.patch2513
-rw-r--r--target/linux/patches/2.6.32/cc-abstract.patch14
-rw-r--r--target/linux/patches/2.6.32/cygwin-compat.patch52
-rw-r--r--target/native/Makefile4
-rw-r--r--target/native/target.mk4
-rw-r--r--target/qemu-arm/Makefile12
-rw-r--r--target/qemu-arm/target.mk4
-rw-r--r--target/qemu-cris/Makefile6
-rw-r--r--target/qemu-cris/target.mk4
-rw-r--r--target/qemu-mips/Makefile8
-rw-r--r--target/qemu-mips64/Makefile8
-rw-r--r--target/qemu-mips64/target.mk4
-rw-r--r--target/qemu-mips64el/Makefile10
-rw-r--r--target/qemu-mips64el/target.mk4
-rw-r--r--target/qemu-mipsel/Makefile9
-rw-r--r--target/qemu-mipsel/target.mk4
-rw-r--r--target/qemu-x86/Makefile14
-rw-r--r--target/qemu-x86_64/Makefile12
-rw-r--r--target/rb411/Makefile8
-rw-r--r--target/rb411/target.mk4
-rw-r--r--target/rb433/Makefile8
-rw-r--r--target/rb433/target.mk4
-rw-r--r--target/rb532/Makefile6
-rw-r--r--target/rescue-x86/Makefile5
-rw-r--r--target/rescue-x86/target.mk4
-rw-r--r--target/rescue-x86_64/Makefile10
-rw-r--r--target/rescue-x86_64/target.mk4
-rw-r--r--target/shuttle/Makefile11
-rw-r--r--target/shuttle/target.mk4
-rw-r--r--target/tomtom/Makefile3
-rw-r--r--target/tomtom/target.mk4
-rw-r--r--target/wag54g/Makefile8
-rw-r--r--target/wag54g/target.mk4
-rw-r--r--target/wrap/Makefile6
-rw-r--r--target/wrap/target.mk4
-rw-r--r--target/zaurus/Makefile3
-rw-r--r--target/zaurus/target.mk4
-rw-r--r--toolchain/eglibc/Makefile2
-rw-r--r--toolchain/eglibc/Makefile.inc2
-rw-r--r--toolchain/eglibc/eglibc.config68
-rw-r--r--toolchain/gcc/Makefile1
-rw-r--r--toolchain/gcc/patches/mirbsd-compat.patch12
-rw-r--r--toolchain/glibc/Makefile.inc6
-rw-r--r--toolchain/kernel-headers/Makefile6
95 files changed, 2965 insertions, 64781 deletions
diff --git a/.gitignore b/.gitignore
index dab5008b6..aa2ea3d93 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,4 +29,5 @@ package/*/Config.in
package/*/Config.in.lib
tools_build/
extra/
+bulkdir/
.menu
diff --git a/Config.in b/Config.in
index 8970fc779..298cb2a10 100644
--- a/Config.in
+++ b/Config.in
@@ -110,7 +110,11 @@ config ADK_HOST_OPENBSD
boolean
config ADK_HOST_NETBSD
- prompt "OpenBSD"
+ prompt "NetBSD"
+ boolean
+
+config ADK_HOST_CYGWIN
+ prompt "Cygwin"
boolean
endchoice
diff --git a/Makefile b/Makefile
index e3c019d62..8c66e020e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,14 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
+_UNLIMIT= ulimit -dS $$(ulimit -dH 2>/dev/null ) 2>/dev/null;
+
all: .prereq_done
- @${GMAKE_INV} all
+ @${_UNLIMIT} ${GMAKE_INV} all
v: .prereq_done
@(echo; echo "Build started on $$(LC_ALL=C LANGUAGE=C date)"; \
- set -x; ${GMAKE_FMK} VERBOSE=1 all) 2>&1 | tee -a make.log
+ set -x; ${_UNLIMIT} ${GMAKE_FMK} VERBOSE=1 all) 2>&1 | tee -a make.log
help:
@echo 'Common targets:'
@@ -117,6 +119,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
@@ -163,7 +168,7 @@ NO_ERROR=0
fi
@echo "TOPDIR:=$$(readlink -nf . 2>/dev/null || pwd -P)" >prereq.mk
@echo "BASH:=$$(which bash)" >>prereq.mk
- @if [ -z "$$(which gmake)" ]; then \
+ @if [ -z "$$(which gmake 2>/dev/null )" ]; then \
echo "GMAKE:=$$(which make)" >>prereq.mk ;\
else \
echo "GMAKE:=$$(which gmake)" >>prereq.mk ;\
diff --git a/TODO b/TODO
index f7809cbb1..364a66212 100644
--- a/TODO
+++ b/TODO
@@ -1,5 +1,4 @@
- netbsd build
-- win cygwin build
- macos x build
- openbsd build
- make rpm package backend working
diff --git a/mk/build.mk b/mk/build.mk
index 87271f863..2fb5bb3bf 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -80,6 +80,9 @@ include ${TOPDIR}/mk/split-cfg.mk
all: world
+allcopy: all
+ $(CP) $(BIN_DIR) $(TOPDIR)/bulkdir/${d}/
+
${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config
mksh ${TOPDIR}/package/depmaker
@@ -200,14 +203,14 @@ cleantarget:
@$(TRACE) cleantarget
@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
rm -rf $(BUILD_DIR) $(BIN_DIR) $(TARGET_DIR) ${TOPDIR}/.cfg
- rm -rf $(TOOLCHAIN_BUILD_DIR) $(STAGING_PARENT)
+ rm -rf $(TOOLCHAIN_BUILD_DIR) $(STAGING_PARENT) all.config .defconfig
rm -f .tmpconfig.h ${TOPDIR}/package/*/info.mk
distclean:
@$(TRACE) distclean
@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
@rm -rf $(BUILD_DIR_PFX) $(BIN_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \
- ${TOPDIR}/.cfg* ${TOPDIR}/package/pkglist.d
+ ${TOPDIR}/.cfg* ${TOPDIR}/package/pkglist.d $(TOPDIR)/bulkdir
@rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_PARENT_PFX) $(TOOLS_BUILD_DIR)
@rm -f .config* .defconfig .tmpconfig.h all.config ${TOPDIR}/prereq.mk \
.menu ${TOPDIR}/package/*/info.mk ${TOPDIR}/package/Depends.mk
@@ -236,7 +239,7 @@ $(CONFIG)/conf:
$(CONFIG)/mconf:
@$(MAKE) -C $(CONFIG)
-defconfig: .menu
+defconfig: .menu $(CONFIG)/conf
ifeq (${OStype},Linux)
@echo ADK_HOST_LINUX=y > $(TOPDIR)/.defconfig
endif
@@ -252,6 +255,9 @@ endif
ifeq (${OStype},NetBSD)
@echo ADK_HOST_NETBSD=y > $(TOPDIR)/.defconfig
endif
+ifneq (,$(filter CYGWIN%,${OStype}))
+ @echo ADK_HOST_CYGWIN=y > $(TOPDIR)/.defconfig
+endif
@if [ ! -z "$(TARGET)" ];then \
grep "^config" target/Config.in \
|grep -i "$(TARGET)" \
@@ -261,10 +267,10 @@ endif
echo $$symbol >> $(TOPDIR)/.defconfig; \
done; \
fi
-ifneq (,$(filter %_qemu,${TARGET}))
+ifneq (,$(filter qemu%,${TARGET}))
@echo ADK_LINUX_QEMU=y >> $(TOPDIR)/.defconfig
endif
-ifneq (,$(filter %_rescue,${TARGET}))
+ifneq (,$(filter rescue%,${TARGET}))
@echo ADK_LINUX_RESCUE=y >> $(TOPDIR)/.defconfig
endif
ifneq (,$(filter rb%,${TARGET}))
@@ -344,14 +350,6 @@ _mconfig: ${CONFIG}/conf _mconfig2 _config
_mconfig2: ${CONFIG}/conf modconfig .menu
@${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) \
@@ -360,7 +358,28 @@ distclean:
@rm -f .config* .defconfig all.config .tmpconfig.h ${TOPDIR}/prereq.mk \
.menu ${TOPDIR}/package/*/info.mk ${TOPDIR}/package/Depends.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 && \
+ if [ "x$$p" = xy ];then \
+ $(MAKE) TARGET=$$target LIBC=$$libc FS=$$fs PKG=ipkg \
+ allmodconfig; \
+ else \
+ $(MAKE) TARGET=$$target LIBC=$$libc FS=$$fs PKG=ipkg \
+ defconfig; \
+ 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
.menu menu:
mksh $(TOPDIR)/package/pkgmaker
diff --git a/mk/image.mk b/mk/image.mk
index a41e41482..c6f5ce266 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -48,27 +48,28 @@ image-prepare-post:
chmod 4511 ${TARGET_DIR}/bin/busybox
chmod 1777 ${TARGET_DIR}/tmp
-INITRAMFS= ${ADK_TARGET}-${ARCH}-${FS}
-ROOTFSSQUASHFS= ${ADK_TARGET}-${ARCH}-${FS}.img
-ROOTFSTARBALL= ${ADK_TARGET}-${ARCH}-${FS}.tar.gz
-INITRAMFS_PIGGYBACK= ${ADK_TARGET}-${ARCH}-${FS}.cpio
+INITRAMFS= ${ADK_TARGET}-${ADK_LIBC}-${FS}
+ROOTFSSQUASHFS= ${ADK_TARGET}-${ADK_LIBC}-${FS}.img
+ROOTFSTARBALL= ${ADK_TARGET}-${ADK_LIBC}-${FS}.tar.gz
+INITRAMFS_PIGGYBACK= ${ADK_TARGET}-${ADK_LIBC}-${FS}.cpio
${BIN_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR}
cd ${TARGET_DIR}; tar -cf - --owner=0 --group=0 . | gzip -n9 >$@
${BIN_DIR}/${INITRAMFS}: ${TARGET_DIR}
cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | sort | \
- cpio -R 0:0 --quiet -oC512 -Mdist -Hnewc | ${ADK_COMPRESSION_TOOL} >$@
+ cpio -R 0:0 -oC512 -Mdist -Hnewc | ${ADK_COMPRESSION_TOOL} >$@
${BUILD_DIR}/${INITRAMFS_PIGGYBACK}: ${TARGET_DIR}
cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | sort | \
- cpio -R 0:0 --quiet -oC512 -Mdist -Hnewc >$@
+ cpio -R 0:0 -oC512 -Mdist -Hnewc >$@
${BIN_DIR}/${ROOTFSSQUASHFS}: ${TARGET_DIR}
PATH='${TARGET_PATH}' \
mksquashfs ${TARGET_DIR} ${BUILD_DIR}/root.squashfs \
-nopad -noappend -root-owned $(MAKE_TRACE)
- cat ${BIN_DIR}/${ADK_TARGET}-${ARCH}-kernel ${BUILD_DIR}/root.squashfs > \
+ cat ${BIN_DIR}/${ADK_TARGET}-${FS}-kernel \
+ ${BUILD_DIR}/root.squashfs > \
${BUILD_DIR}/${ROOTFSSQUASHFS}
# padding of images is required, foxboard only?
#dd if=${BUILD_DIR}/${ROOTFSSQUASHFS} of=${BIN_DIR}/${ROOTFSSQUASHFS} \
diff --git a/mk/kernel-vars.mk b/mk/kernel-vars.mk
index cbc1257ff..2f238c2c6 100644
--- a/mk/kernel-vars.mk
+++ b/mk/kernel-vars.mk
@@ -3,6 +3,6 @@
KERNEL_MAKE_OPTS:= -C "${LINUX_DIR}" V=1
ifneq ($(ADK_NATIVE),y)
-KERNEL_MAKE_OPTS+= CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) CC="$(TARGET_CC)"
+KERNEL_MAKE_OPTS+= CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) CC="$(TARGET_CC)" HOSTCC="${HOSTCC}"
endif
diff --git a/mk/package.mk b/mk/package.mk
index c9d9c7978..f5a48dba8 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -229,7 +229,7 @@ endif
find usr ! -type d 2>/dev/null | \
grep -v -e '^usr/share' -e '^usr/man' -e '^usr/info' | \
tee '$${STAGING_PARENT}/pkg/$(1)' | \
- cpio -apdlmu --quiet '$${STAGING_DIR}'
+ cpio -apdlmu '$${STAGING_DIR}'
@cd '$${STAGING_DIR}'; grep 'usr/lib/.*\.la$$$$' \
'$${STAGING_PARENT}/pkg/$(1)' | while read fn; do \
chmod u+w $$$$fn; \
diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk
index e5870f331..3a7320d6e 100644
--- a/mk/pkg-bottom.mk
+++ b/mk/pkg-bottom.mk
@@ -140,7 +140,7 @@ endif
find usr ! -type d 2>/dev/null | \
grep -v -e '^usr/share' -e '^usr/man' -e '^usr/info' | \
tee '${STAGING_PARENT}/pkg/${PKG_NAME}' | \
- cpio -apdlmu --quiet '${STAGING_DIR}'
+ cpio -apdlmu '${STAGING_DIR}'
@cd '${STAGING_DIR}'; grep 'usr/lib/.*\.la$$' \
'${STAGING_PARENT}/pkg/${PKG_NAME}' | while read fn; do \
chmod u+w $$fn; \
diff --git a/package/busybox/Makefile b/package/busybox/Makefile
index 6a0569428..78b741ca3 100644
--- a/