diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2014-04-02 07:37:27 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2014-04-02 07:37:27 +0200 |
commit | 7236e468162b3af51c0acecad10fbef1838c06ad (patch) | |
tree | 9c8027cf769aaa7ef7f0a6330b34d7666238b920 /mk | |
parent | a691abc857458de0023f5e532feee866af0218ed (diff) | |
parent | 309f13ab6858e1c1639814e210a6c86380ca717b (diff) |
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'mk')
-rw-r--r-- | mk/build.mk | 174 | ||||
-rw-r--r-- | mk/buildhlp.mk | 4 | ||||
-rw-r--r-- | mk/fetch.mk | 1 | ||||
-rw-r--r-- | mk/host-bottom.mk | 20 | ||||
-rw-r--r-- | mk/host.mk | 13 | ||||
-rw-r--r-- | mk/image.mk | 41 | ||||
-rw-r--r-- | mk/kernel-build.mk | 12 | ||||
-rw-r--r-- | mk/kernel-vars.mk | 31 | ||||
-rw-r--r-- | mk/kernel-ver.mk | 28 | ||||
-rw-r--r-- | mk/mirrors.mk | 13 | ||||
-rw-r--r-- | mk/modules.mk | 17 | ||||
-rw-r--r-- | mk/package.mk | 6 | ||||
-rw-r--r-- | mk/pkg-bottom.mk | 2 | ||||
-rw-r--r-- | mk/rootfs.mk | 13 | ||||
-rw-r--r-- | mk/vars.mk | 80 |
15 files changed, 218 insertions, 237 deletions
diff --git a/mk/build.mk b/mk/build.mk index c4371f477..78079bea9 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -9,7 +9,7 @@ $(error your umask is not 022) endif CONFIG_CONFIG_IN = Config.in -CONFIG = config +CONFIG = adk/config DEFCONFIG= ADK_DEBUG=n \ ADK_STATIC=n \ ADK_WGET_TIMEOUT=180 \ @@ -41,8 +41,6 @@ DEFCONFIG= ADK_DEBUG=n \ ADK_PKG_TEST=n \ ADK_PKG_MPDBOX=n \ ADK_PKG_DEVELOPMENT=n \ - ADK_PKG_CONSOLE=n \ - ADK_PKG_TEST=n \ ADK_TOOLCHAIN_GCC_USE_SSP=n \ ADK_TOOLCHAIN_GCC_USE_LTO=n \ BUSYBOX_IFPLUGD=n \ @@ -81,6 +79,7 @@ DEFCONFIG= ADK_DEBUG=n \ BUSYBOX_FEATURE_VI_REGEX_SEARCH=n \ ADK_KERNEL_RT2X00_DEBUG=n \ ADK_KERNEL_ATH5K_DEBUG=n \ + ADK_KERNEL_BUG=n \ ADK_KERNEL_DEBUG_WITH_KGDB=n noconfig_targets:= menuconfig \ @@ -94,13 +93,13 @@ POSTCONFIG= -@\ if [ -f .adkinit ];then rm .adkinit;\ else \ if [ -f .config.old ];then \ - $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild;\ + $(TOPDIR)/adk/tools/pkgrebuild;\ rebuild=0; \ if [ "$$(grep ^BUSYBOX .config|md5sum)" != "$$(grep ^BUSYBOX .config.old|md5sum)" ];then \ touch .rebuild.busybox;\ rebuild=1;\ fi; \ - for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE ADK_TARGET_QEMU_MICROBLAZE_MODEL;do \ + for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE ADK_RUNTIME_GETTY ADK_RUNTIME_SHELL;do \ if [ "$$(grep ^$$i .config|md5sum)" != "$$(grep ^$$i .config.old|md5sum)" ];then \ touch .rebuild.base-files;\ rebuild=1;\ @@ -122,7 +121,7 @@ POSTCONFIG= -@\ make kernelclean;\ fi; \ if [ "$$(grep ^ADK_LINUX_ARM_WITH_THUMB .config|md5sum)" != "$$(grep ^ADK_LINUX_ARM_WITH_THUMB .config.old|md5sum)" ];then \ - echo "You should make cleantarget, after changing thumb mode";\ + echo "You should make cleandir, after changing thumb mode";\ fi; \ if [ $$rebuild -eq 1 ];then \ cp .config .config.old;\ @@ -140,27 +139,26 @@ include $(TOPDIR)/rules.mk all: world -${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/Makefile) - $(STAGING_HOST_DIR)/usr/bin/depmaker > ${TOPDIR}/package/Depends.mk +${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/Makefile) $(TOPDIR)/adk/tools/depmaker + $(TOPDIR)/adk/tools/depmaker > ${TOPDIR}/package/Depends.mk .NOTPARALLEL: -.PHONY: all world clean cleantarget cleandir cleantoolchain distclean image_clean +.PHONY: all world clean cleandir cleantoolchain distclean image_clean world: - mkdir -p $(DL_DIR) $(BUILD_DIR) $(TARGET_DIR) $(FW_DIR) \ - $(PACKAGE_DIR) $(TOOLS_BUILD_DIR) $(STAGING_HOST_DIR)/usr/bin \ - $(TOOLCHAIN_BUILD_DIR) $(STAGING_PKG_DIR)/stamps + mkdir -p $(DL_DIR) $(HOST_BUILD_DIR) $(BUILD_DIR) $(TARGET_DIR) $(FW_DIR) \ + $(STAGING_HOST_DIR) $(TOOLCHAIN_BUILD_DIR) $(STAGING_PKG_DIR)/stamps ${BASH} ${TOPDIR}/scripts/scan-pkgs.sh ${BASH} ${TOPDIR}/scripts/update-sys ${BASH} ${TOPDIR}/scripts/update-pkg ifeq ($(ADK_TOOLCHAIN),y) ifeq ($(ADK_TOOLCHAIN_ONLY),y) - $(MAKE) -f mk/build.mk tools/install toolchain/fixup package/compile + $(MAKE) -f mk/build.mk package/hostcompile toolchain/fixup package/compile else - $(MAKE) -f mk/build.mk tools/install toolchain/fixup package/compile root_clean package/install + $(MAKE) -f mk/build.mk package/hostcompile toolchain/fixup package/compile root_clean package/install endif else - $(MAKE) -f mk/build.mk tools/install toolchain/fixup target/config-prepare target/compile package/compile root_clean package/install target/install package_index + $(MAKE) -f mk/build.mk package/hostcompile toolchain/fixup target/config-prepare target/compile package/compile root_clean package/install target/install package_index endif package_index: @@ -171,7 +169,11 @@ endif ${STAGING_TARGET_DIR} ${STAGING_TARGET_DIR}/etc ${STAGING_HOST_DIR}: mkdir -p ${STAGING_TARGET_DIR}/{bin,etc,lib,usr/bin,usr/include,usr/lib/pkgconfig} \ - ${STAGING_HOST_DIR}/{bin,lib,usr/bin,usr/lib,usr/include} + ${STAGING_HOST_DIR}/{usr/bin,usr/lib,usr/include} + for i in lib64 lib32 libx32;do \ + cd ${STAGING_TARGET_DIR}/; ln -sf lib $$i; \ + cd ${STAGING_TARGET_DIR}/usr; ln -sf lib $$i; \ + done ${STAGING_TARGET_DIR}/etc/ipkg.conf: ${STAGING_TARGET_DIR}/etc ifeq ($(ADK_TARGET_PACKAGE_IPKG),y) @@ -188,9 +190,6 @@ target/%: toolchain/%: ${STAGING_TARGET_DIR} $(MAKE) -C toolchain $(patsubst toolchain/%,%,$@) -tools/%: - $(MAKE) -C tools $(patsubst tools/%,%,$@) - image: $(MAKE) -C target image @@ -215,16 +214,11 @@ switch: fi \ fi -ifeq (${ADK_TARGET_KERNEL64},y) -KERNEL_CFG:=kernel64.config -else -KERNEL_CFG:=kernel.config -endif - kernelconfig: - cp $(TOPDIR)/target/$(ADK_TARGET_ARCH)/${KERNEL_CFG} $(BUILD_DIR)/linux/.config - ${KERNEL_MAKE_ENV} ${MAKE} ARCH=$(ARCH) ${KERNEL_MAKE_OPTS} -C $(BUILD_DIR)/linux menuconfig - cp $(BUILD_DIR)/linux/.config $(TOPDIR)/target/$(ADK_TARGET_ARCH)/${KERNEL_CFG} + ${KERNEL_MAKE_ENV} ${MAKE} \ + ARCH=$(ARCH) \ + ${KERNEL_MAKE_OPTS} \ + -C $(BUILD_DIR)/linux menuconfig # create a new package from package/.template newpackage: @@ -268,7 +262,7 @@ cleandir: @$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE) rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) \ ${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d - rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_HOST_DIR_PFX) $(TOOLS_BUILD_DIR) + rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_HOST_DIR_PFX) rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX) rm -f .menu .tmpconfig.h .rebuild* ${TOPDIR}/package/Depends.mk ${TOPDIR}/prereq.mk @@ -276,23 +270,16 @@ cleantoolchain: @$(TRACE) cleantoolchain @rm -rf $(BUILD_DIR_PFX) $(TARGET_DIR_PFX) \ ${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d - @rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_HOST_DIR_PFX) $(TOOLS_BUILD_DIR) + @rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_HOST_DIR_PFX) @rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX) @rm -f .menu .tmpconfig.h .rebuild* ${TOPDIR}/package/Depends.mk -cleantarget: - @$(TRACE) cleantarget - @$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE) - rm -rf $(BUILD_DIR) $(FW_DIR) $(TARGET_DIR) - rm -rf $(TOOLCHAIN_BUILD_DIR) $(STAGING_HOST_DIR) $(STAGING_TARGET_DIR) $(STAGING_PKG_DIR) - rm -f .tmpconfig.h all.config .defconfig - distclean: @$(TRACE) distclean @$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE) - @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \ + @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DL_DIR) \ ${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d - @rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_HOST_DIR_PFX) $(TOOLS_BUILD_DIR) + @rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_HOST_DIR_PFX) @rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX) @rm -f .adkinit .config* .defconfig .tmpconfig.h all.config ${TOPDIR}/prereq.mk \ .menu ${TOPDIR}/package/Depends.mk .ADK_HAVE_DOT_CONFIG .rebuild.* @@ -370,12 +357,6 @@ endif |sed -e "s#^config \(.*\)#\1=y#" \ >> $(TOPDIR)/.defconfig; \ fi - @if [ ! -z "$(PKG)" ];then \ - grep "^config" target/config/Config.in \ - |grep -i "$(PKG)" \ - |sed -e "s#^config \(.*\)#\1=y#" \ - >> $(TOPDIR)/.defconfig; \ - fi @if [ ! -z "$(LIBC)" ];then \ grep "^config" target/config/Config.in \ |grep -i "$(LIBC)" \ @@ -434,12 +415,6 @@ endif |sed -e "s#^config \(.*\)#\1=y#" \ >> $(TOPDIR)/all.config; \ fi - @if [ ! -z "$(PKG)" ];then \ - grep "^config" target/config/Config.in \ - |grep -i "$(PKG)" \ - |sed -e "s#^config \(.*\)#\1=y#" \ - >> $(TOPDIR)/all.config; \ - fi @if [ ! -z "$(LIBC)" ];then \ grep "^config" target/config/Config.in \ |grep -i "$(LIBC)" \ @@ -475,9 +450,9 @@ _mconfig2: ${CONFIG}/conf modconfig .menu distclean: @$(MAKE) -C $(CONFIG) clean - @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \ + @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DL_DIR) \ ${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d - @rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_TARGET_DIR_PFX) $(TOOLS_BUILD_DIR) + @rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_TARGET_DIR_PFX) @rm -rf $(STAGING_HOST_DIR_PFX) $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX) @rm -f .adkinit .config* .defconfig .tmpconfig.h all.config ${TOPDIR}/prereq.mk \ .menu .rebuild.* ${TOPDIR}/package/Depends.mk .ADK_HAVE_DOT_CONFIG @@ -487,7 +462,7 @@ endif # ! ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y) # build all target architecture and libc combinations (toolchain only) bulktoolchain: - if [ -z "$(LIBC)" ];then \ + @if [ -z "$(LIBC)" ];then \ libc="glibc uclibc musl"; \ else \ libc="$(LIBC)"; \ @@ -497,43 +472,48 @@ bulktoolchain: mkdir -p ${TOPDIR}/firmware; \ ( \ echo === building $$arch $$libc toolchain-$$arch on $$(date); \ - tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#"); \ - if [ -f ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz ];then exit;fi; \ + tarch=$$(echo $$arch|sed -e "s#sh4.*#sh#" -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#hf##" -e "s#x86_64.*#x86_64#" ); \ + carch=$$(echo $$arch|sed -e "s#hf##" -e "s#mips64n.*#mips64#" -e "s#mips64el.*#mips64el#" -e 's#x86$$#i686#' -e "s#x86_64.*#x86_64#" ); \ $(GMAKE) prereq && \ $(GMAKE) ARCH=$$tarch SYSTEM=toolchain-$$arch LIBC=$$libc defconfig; \ + tabi=$$(grep ^ADK_TARGET_ABI= .config|cut -d \" -f 2);\ + if [ $$arch = "armhf" ];then arch=arm; else arch=$$arch;fi; \ + if [ -z $$tabi ];then abi="";else abi=_$$tabi;fi; \ + if [ -f ${TOPDIR}/firmware/toolchain_$${carch}_$${libc}$${abi}.tar.xz ];then exit;fi; \ $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; break;fi; \ - tar -cvJf ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz host_* target_$${arch}_$${libc}*; \ + tar -cvJf ${TOPDIR}/firmware/toolchain_$${carch}_$${libc}$${abi}.tar.xz toolchain_${GNU_HOST_NAME} target_$${carch}_$${libc}$${abi}; \ $(GMAKE) cleantoolchain; \ rm .config; \ - ) 2>&1 | tee $(TOPDIR)/firmware/toolchain_$${arch}_$${libc}_build.log; \ + ) 2>&1 | tee -a $(TOPDIR)/firmware/toolchain_build.log; \ if [ -f .exit ];then break;fi \ done <${TOPDIR}/target/tarch.lst ;\ if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \ done test-framework: - if [ -z "$(LIBC)" ];then \ + @if [ -z "$(LIBC)" ];then \ libc="glibc uclibc musl"; \ else \ libc="$(LIBC)"; \ fi; \ for libc in $$libc;do \ ( \ - for arch in arm microblaze microblazeel mips mipsel mips64 mips64el ppc ppc64 sh4 sh4eb sparc sparc64 i686 x86_64;do \ - tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#i686#x86#" -e "s#sh4#sh#"); \ + mkdir -p $(TOPDIR)/firmware/; \ + for arch in $$(grep -v m68k target/tarch.lst|xargs);do \ + tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#i686#x86#" -e "s#sh4#sh#" -e "s#hf##" -e "s#x86_64.*#x86_64#"); \ + arch=$$(echo $$arch|sed -e 's#x86$$#i686#'); \ echo === building qemu-$$arch for $$libc with $$tarch on $$(date); \ - $(GMAKE) prereq && \ - $(GMAKE) ARCH=$$tarch SYSTEM=qemu-$$arch LIBC=$$libc FS=archive COLLECTION=test defconfig; \ + $(GMAKE) ARCH=$$tarch SYSTEM=qemu-$$arch LIBC=$$libc FS=initramfsarchive COLLECTION=test defconfig; \ $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \ tabi=$$(grep ^ADK_TARGET_ABI= .config|cut -d \" -f 2);\ if [ -z $$tabi ];then abi="";else abi=_$$tabi;fi; \ + qarch=$$(echo $$arch|sed -e "s#armhf#arm#" -e 's#mips64n.*$$#mips64#' -e 's#mips64eln.*$$#mips64el#' -e "s#x86_64.*#x86_64#"); \ + cp -a root_qemu_$${qarch}_$${libc}$${abi} root; \ + mkdir -p $(TOPDIR)/firmware/qemu/$$arch; \ + tar cJvf $(TOPDIR)/firmware/qemu/$$arch/root.tar.xz root; \ if [ -d root ];then rm -rf root;fi; \ - echo cp -a root_qemu_$${arch}_$${libc}$${abi} root; \ - cp -a root_qemu_$${arch}_$${libc}$${abi} root; \ - mkdir -p $(TOPDIR)/firmware/qemu/$$tarch; \ - tar cJvf $(TOPDIR)/firmware/qemu/$$tarch/root.tar.xz root; \ - cp $(TOPDIR)/firmware/qemu_$${arch}_$${libc}$${abi}/qemu-$${arch}-archive-kernel \ - $(TOPDIR)/firmware/qemu/$$tarch/kernel; \ + cp $(TOPDIR)/firmware/qemu_$${qarch}_$${libc}$${abi}/qemu-$${qarch}-initramfsarchive-kernel \ + $(TOPDIR)/firmware/qemu/$$arch/kernel; \ rm .config; \ done; \ ) 2>&1 | tee $(TOPDIR)/firmware/test-framework-build.log; \ @@ -543,14 +523,13 @@ test-framework: release: for libc in uclibc glibc musl;do \ - mkdir -p $(TOPDIR)/firmware/$(SYSTEM)_$(ARCH)_$$libc; \ ( \ echo === building $$libc on $$(date); \ $(GMAKE) prereq && \ $(GMAKE) ARCH=$(ARCH) SYSTEM=$(SYSTEM) LIBC=$$libc FS=archive allmodconfig; \ $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \ rm .config; \ - ) 2>&1 | tee $(TOPDIR)/firmware/$(SYSTEM)_$(ARCH)_$$libc/build.log; \ + ) 2>&1 | tee $(TOPDIR)/firmware/release-build.log; \ if [ -f .exit ];then echo "Bulk build failed!"; break;fi \ done if [ -f .exit ];then rm .exit;exit 1;fi @@ -561,14 +540,14 @@ bulk: while read arch; do \ systems=$$(./scripts/getsystems $$arch|grep -v toolchain); \ for system in $$systems;do \ - mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \ + mkdir -p $(TOPDIR)/firmware; \ ( \ echo === building $$arch $$system $$libc on $$(date); \ $(GMAKE) prereq && \ $(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive defconfig; \ $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \ rm .config; \ - ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \ + ) 2>&1 | tee $(TOPDIR)/firmware/bulkbuild.log; \ if [ -f .exit ]; then break;fi \ done; \ if [ -f .exit ]; then break;fi \ @@ -581,14 +560,14 @@ bulkall: while read arch; do \ systems=$$(./scripts/getsystems $$arch| grep -v toolchain); \ for system in $$systems;do \ - mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \ + mkdir -p $(TOPDIR)/firmware; \ ( \ echo === building $$arch $$system $$libc on $$(date); \ $(GMAKE) prereq && \ $(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive allconfig; \ $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \ rm .config; \ - ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \ + ) 2>&1 | tee $(TOPDIR)/firmware/bulkallbuild.log; \ if [ -f .exit ]; then break;fi \ done; \ if [ -f .exit ]; then break;fi \ @@ -601,15 +580,15 @@ bulkallmod: while read arch; do \ systems=$$(./scripts/getsystems $$arch| grep -v toolchain); \ for system in $$systems;do \ - mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \ + mkdir -p $(TOPDIR)/firmware; \ ( \ echo === building $$arch $$system $$libc on $$(date); \ $(GMAKE) prereq && \ $(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive allmodconfig; \ $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then echo $$system-$$libc >.exit; exit 1;fi; \ - $(GMAKE) cleantarget; \ + $(GMAKE) clean; \ rm .config; \ - ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \ + ) 2>&1 | tee $(TOPDIR)/firmware/bulkallmodbuild.log; \ if [ -f .exit ]; then break;fi \ done; \ if [ -f .exit ]; then break;fi \ @@ -617,45 +596,42 @@ bulkallmod: if [ -f .exit ];then echo "Bulk build failed!"; cat .exit;rm .exit; exit 1;fi \ done -$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker: $(TOPDIR)/tools/adk/pkgmaker.c $(TOPDIR)/tools/adk/sortfile.c $(TOPDIR)/tools/adk/strmap.c - @mkdir -p host_$(GNU_HOST_NAME)/usr/bin - @$(CC_FOR_BUILD) -g -o $@ tools/adk/pkgmaker.c tools/adk/sortfile.c tools/adk/strmap.c +$(TOPDIR)/adk/tools/pkgmaker: $(TOPDIR)/adk/tools/pkgmaker.c $(TOPDIR)/adk/tools/sortfile.c $(TOPDIR)/adk/tools/strmap.c + @$(CC_FOR_BUILD) -g -o $@ adk/tools/pkgmaker.c adk/tools/sortfile.c adk/tools/strmap.c -$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild: $(TOPDIR)/tools/adk/pkgrebuild.c $(TOPDIR)/tools/adk/strmap.c - @$(CC_FOR_BUILD) -g -o $@ tools/adk/pkgrebuild.c tools/adk/strmap.c +$(TOPDIR)/adk/tools/pkgrebuild: $(TOPDIR)/adk/tools/pkgrebuild.c $(TOPDIR)/adk/tools/strmap.c + @$(CC_FOR_BUILD) -g -o $@ adk/tools/pkgrebuild.c adk/tools/strmap.c -package/Config.in.auto menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile) $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild +package/Config.in.auto menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile) $(TOPDIR)/adk/tools/pkgmaker $(TOPDIR)/adk/tools/pkgrebuild @echo "Generating menu structure ..." - @$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker + @$(TOPDIR)/adk/tools/pkgmaker @:>.menu -$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker: $(TOPDIR)/tools/adk/depmaker.c - @mkdir -p host_$(GNU_HOST_NAME)/usr/bin - $(CC_FOR_BUILD) -g -o $@ $(TOPDIR)/tools/adk/depmaker.c +$(TOPDIR)/adk/tools/depmaker: $(TOPDIR)/adk/tools/depmaker.c + $(CC_FOR_BUILD) -g -o $@ $(TOPDIR)/adk/tools/depmaker.c -dep: $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker +dep: $(TOPDIR)/adk/tools/depmaker @echo "Generating dependencies ..." - @$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker > ${TOPDIR}/package/Depends.mk + @$(TOPDIR)/adk/tools/depmaker > ${TOPDIR}/package/Depends.mk .PHONY: menu dep include $(TOPDIR)/toolchain/gcc/Makefile.inc check-dejagnu: - @-rm tests/adk.exp tests/master.exp >/dev/null 2>&1 - @sed -e "s#@ADK_TARGET_IP@#$(ADK_TARGET_IP)#" tests/adk.exp.in > \ - tests/adk.exp.in.tmp - @sed -e "s#@ADK_TARGET_PORT@#$(ADK_TARGET_PORT)#" tests/adk.exp.in.tmp > \ - tests/adk.exp - @sed -e "s#@TOPDIR@#$(TOPDIR)#" tests/master.exp.in > \ - tests/master.exp + @-rm adk/tests/adk.exp adk/tests/master.exp >/dev/null 2>&1 + @sed -e "s#@ADK_TARGET_IP@#$(ADK_TARGET_IP)#" \ + -e "s#@ADK_TARGET_PORT@#$(ADK_TARGET_PORT)#" \ + adk/tests/adk.exp.in > adk/tests/adk.exp + @sed -e "s#@TOPDIR@#$(TOPDIR)#" adk/tests/master.exp.in > \ + adk/tests/master.exp check-gcc: check-dejagnu - env DEJAGNU=$(TOPDIR)/tests/master.exp \ + env DEJAGNU=$(TOPDIR)/adk/tests/master.exp \ $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/$(PKG_NAME)-$(PKG_VERSION)-final/gcc check-gcc check-g++: check-dejagnu - env DEJAGNU=$(TOPDIR)/tests/master.exp \ + env DEJAGNU=$(TOPDIR)/adk/tests/master.exp \ $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/$(PKG_NAME)-$(PKG_VERSION)-final/gcc check-g++ check: check-gcc check-g++ diff --git a/mk/buildhlp.mk b/mk/buildhlp.mk index 701f0f4a2..5ce3ca4a0 100644 --- a/mk/buildhlp.mk +++ b/mk/buildhlp.mk @@ -81,7 +81,7 @@ ${WRKDIST}/.prepared: ${WRKDIST}/.extract_done touch $@ endif -update-patches: +update-patches host-update-patches: @test ! -d ${WRKDIR}.orig || rm -rf ${WRKDIR}.orig @test ! -d ${WRKDIR}.orig ifeq ($(strip ${_IN_PACKAGE})$(strip ${_IN_CVTC}),1) @@ -115,4 +115,4 @@ endif rm -rf ${WRKDIR}.orig; \ [[ $$toedit != FAIL ]] -.PHONY: update-patches +.PHONY: update-patches host-update-patches diff --git a/mk/fetch.mk b/mk/fetch.mk index 6382571b3..ee24f0b60 100644 --- a/mk/fetch.mk +++ b/mk/fetch.mk @@ -26,7 +26,6 @@ refetch: -rm -f ${FULLDISTFILES} ${MAKE} fetch -# XXX for now _CHECKSUM_COOKIE?= ${WRKDIR}/.checksum_done checksum: ${_CHECKSUM_COOKIE} ifeq ($(strip ${NO_CHECKSUM}),) diff --git a/mk/host-bottom.mk b/mk/host-bottom.mk index 23d5652ba..8ef4a868e 100644 --- a/mk/host-bottom.mk +++ b/mk/host-bottom.mk @@ -3,6 +3,7 @@ host-extract: ${_HOST_PATCH_COOKIE} +hostpre-configure: host-configure: ${_HOST_CONFIGURE_COOKIE}: ${_HOST_PATCH_COOKIE} @mkdir -p ${WRKBUILD} @@ -25,6 +26,7 @@ endif ${CP} ${SCRIPT_DIR}/config.guess $$i; \ fi; \ done; + @${MAKE} hostpre-configure $(MAKE_TRACE) ifneq (${HOST_STYLE},manual) ifeq ($(strip ${HOST_STYLE}),) cd ${WRKBUILD}; rm -f config.{cache,status}; \ @@ -75,29 +77,23 @@ endif touch $@ hostpost-install: -hpkg-install: ${ALL_HOSTINST} -host-install: +host-install: ${ALL_HOSTINST} ${_HOST_FAKE_COOKIE}: ${_HOST_BUILD_COOKIE} @$(CMD_TRACE) "host installing... " + @mkdir -p ${HOST_WRKINST} ifneq (${HOST_STYLE},manual) ifeq ($(strip ${HOST_STYLE}),) cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \ DESTDIR='${HOST_WRKINST}' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE) - env ${HOST_MAKE_ENV} ${MAKE} hpkg-install $(MAKE_TRACE) + env ${HOST_MAKE_ENV} ${MAKE} host-install $(MAKE_TRACE) else cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \ DESTDIR='' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE) endif else - env ${HOST_MAKE_ENV} ${MAKE} hpkg-install $(MAKE_TRACE) + env ${HOST_MAKE_ENV} ${MAKE} host-install $(MAKE_TRACE) endif env ${HOST_MAKE_ENV} ${MAKE} hostpost-install $(MAKE_TRACE) - rm -rf ${WRKBUILD} ${WRKDIST} ${WRKSRC} - exec ${MAKE} host-extract $(MAKE_TRACE) - mkdir -p ${HOST_WRKINST} - # avoid rebuild - @touch ${_HOST_CONFIGURE_COOKIE} - @touch ${_HOST_BUILD_COOKIE} @touch $@ ${_HOST_COOKIE}: @@ -107,3 +103,7 @@ ifeq ($(HOST_LINUX_ONLY),) hostpackage: ${ALL_HOSTDIRS} @touch ${_HOST_COOKIE} endif + +hostclean: + @$(CMD_TRACE) "cleaning... " + rm -rf ${WRKDIR} ${STAGING_PKG_DIR}/stamps/${PKG_NAME}*-host diff --git a/mk/host.mk b/mk/host.mk index aa88bab44..88f8d2e01 100644 --- a/mk/host.mk +++ b/mk/host.mk @@ -1,10 +1,16 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. +# This is where all package operation is done in +ifneq (,$(findstring host,$(MAKECMDGOALS))) +WRKDIR?= ${HOST_BUILD_DIR}/w-${PKG_NAME}-${PKG_VERSION}-${PKG_RELEASE}-host +endif + HOST_CONFIGURE_ENV+= AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \ CONFIG_SHELL='$(strip ${SHELL})' \ PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig' \ PATH='${HOST_PATH}' \ + CC='$(strip ${CC_FOR_BUILD})' \ CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \ CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \ CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \ @@ -23,6 +29,7 @@ HOST_INSTALL_TARGET?= install HOST_MAKE_ENV+= PATH='${HOST_PATH}' \ PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig' \ + CC='$(strip ${CC_FOR_BUILD})' \ CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \ CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \ CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \ @@ -30,7 +37,7 @@ HOST_MAKE_ENV+= PATH='${HOST_PATH}' \ HOST_MAKE_FLAGS+= ${HOST_XAKE_FLAGS} V=1 HOST_FAKE_FLAGS+= ${HOST_XAKE_FLAGS} -HOST_WRKINST= ${WRKDIR}/host +HOST_WRKINST= ${WRKDIR}/fake _HOST_EXTRACT_COOKIE= ${WRKDIST}/.extract_done _HOST_PATCH_COOKIE= ${WRKDIST}/.prepared @@ -54,7 +61,7 @@ hostfake: ${_HOST_FAKE_COOKIE} define HOST_template ALL_PKGOPTS+= $(1) PKGNAME_$(1)= $(2) -HOSTDIR_$(1)= $(WRKDIR)/host +HOSTDIR_$(1)= $(WRKDIR)/fake ALL_HOSTDIRS+= $${HOSTDIR_$(1)} ALL_HOSTINST+= $(2)-hostinstall @@ -63,4 +70,4 @@ $$(HOSTDIR_$(1)): ${_HOST_PATCH_COOKIE} ${_HOST_FAKE_COOKIE} endef .PHONY: all hostextract hostpatch hostconfigure \ - hostbuild hostpackage hostfake + hostbuild hostpackage hostfake hostclean diff --git a/mk/image.mk b/mk/image.mk index 6721549b5..ee2f991e0 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -34,6 +34,9 @@ imageprepare: image-prepare-post extra-install # if an extra directory exist in TOPDIR, copy all content over the # root directory, do the same if make extra=/dir/to/extra is used extra-install: + @-if [ -h ${TARGET_DIR}/etc/resolv.conf -a -f $(TOPDIR)/extra/etc/resolv.conf ];then \ + rm ${TARGET_DIR}/etc/resolv.conf;\ + fi @if [ -d $(TOPDIR)/extra ];then $(CP) $(TOPDIR)/extra/* ${TARGET_DIR};fi @if [ ! -z $(extra) ];then $(CP) $(extra)/* ${TARGET_DIR};fi @@ -51,22 +54,24 @@ image-prepare-post: -rm -f ${TARGET_DIR}/bin/sh ln -sf ${BINSH} ${TARGET_DIR}/bin/sh ifeq ($(ADK_LINUX_X86_64),y) +ifeq ($(ADK_TARGET_ABI_32),) # fixup lib dirs mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH} rm -rf ${TARGET_DIR}/lib/ ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib -mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null - mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} + -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} rm -rf ${TARGET_DIR}/usr/lib/ (cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib) endif +endif ifeq ($(ADK_LINUX_PPC64),y) # fixup lib dirs mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH} rm -rf ${TARGET_DIR}/lib/ ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib -mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null - mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} + -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} rm -rf ${TARGET_DIR}/usr/lib/ (cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib) endif @@ -76,7 +81,7 @@ ifeq ($(ADK_LINUX_SPARC64),y) rm -rf ${TARGET_DIR}/lib/ ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib -mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null - mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} + -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} rm -rf ${TARGET_DIR}/usr/lib/ (cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib) endif @@ -86,7 +91,7 @@ ifeq ($(ADK_TARGET_ABI_N32),y) rm -rf ${TARGET_DIR}/lib/ ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib -mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null - mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} + -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} rm -rf ${TARGET_DIR}/usr/lib/ (cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib) endif @@ -96,7 +101,7 @@ ifeq ($(ADK_TARGET_ABI_N64),y) rm -rf ${TARGET_DIR}/lib/ ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib -mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null - mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} + -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} rm -rf ${TARGET_DIR}/usr/lib/ (cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib) endif @@ -122,7 +127,7 @@ ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGE ROOTFSJFFS2= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-jffs2.img ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz -ROOTFSISO= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.iso +ROOTFSISO= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}.iso else TARGET_KERNEL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_FS}-kernel INITRAMFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS} @@ -130,7 +135,7 @@ ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img ROOTFSJFFS2= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-jffs2.img ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz -ROOTFSISO= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.iso +ROOTFSISO= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}.iso endif ${FW_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package @@ -144,18 +149,8 @@ ${FW_DIR}/${ROOTFSUSERTARBALL}: ${TARGET_DIR} ${STAGING_HOST_DIR}/usr/bin/cpio -o -Hustar -P | gzip -n9 >$@ ${STAGING_TARGET_DIR}/${INITRAMFS}_list: ${TARGET_DIR} - $(BASH) ${LINUX_DIR}/scripts/gen_initramfs_list.sh -u squash -g squash \ + env PATH='${HOST_PATH}' $(BASH) ${LINUX_DIR}/scripts/gen_initramfs_list.sh -u squash -g squash \ ${TARGET_DIR}/ >$@ - ( \ - echo "nod /dev/console 0644 0 0 c 5 1"; \ - echo "nod /dev/tty 0644 0 0 c 5 0"; \ - for i in 0 1 2 3 4; do \ - echo "nod /dev/tty$$i 0644 0 0 c 4 $$$$i"; \ - done; \ - echo "nod /dev/systty 0644 0 0 c 4 0"; \ - echo "nod /dev/null 0644 0 0 c 1 3"; \ - echo "nod /dev/ram 0655 0 0 b 1 1"; \ - ) >>$@ ${FW_DIR}/${INITRAMFS}: ${STAGING_TARGET_DIR}/${INITRAMFS}_list ${LINUX_DIR}/usr/gen_init_cpio ${STAGING_TARGET_DIR}/${INITRAMFS}_list | \ @@ -167,11 +162,11 @@ ${BUILD_DIR}/root.squashfs: ${TARGET_DIR} -nopad -noappend -root-owned $(MAKE_TRACE) ${FW_DIR}/${ROOTFSJFFS2}: ${TARGET_DIR} - ${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2 $(ADK_JFFS2_OPTS) -q -r ${TARGET_DIR} \ + ${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2 $(ADK_JFFS2_OPTS) -q -X zlib -r ${TARGET_DIR} \ --pad=$(ADK_TARGET_MTD_SIZE) -o ${FW_DIR}/${ROOTFSJFFS2} $(MAKE_TRACE) createinitramfs: ${STAGING_TARGET_DIR}/${INITRAMFS}_list - ${SED} 's/.*CONFIG_\(RD_\|XZ_\|BLK_DEV_INITRD\|INITRAMFS_\).*//' \ + ${SED} 's/.*CONFIG_\(RD_\|BLK_DEV_INITRD\|INITRAMFS_\).*//' \ ${LINUX_DIR}/.config ( \ echo "CONFIG_BLK_DEV_INITRD=y"; \ @@ -234,14 +229,14 @@ ifeq ($(ADK_KERNEL_COMP_BZIP2),y) echo "CONFIG_INITRAMFS_COMPRESSION_BZIP2=y" >> ${LINUX_DIR}/.config endif @-rm $(LINUX_DIR)/usr/initramfs_data.cpio* 2>/dev/null - $(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \ - ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE) + env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \ + -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE) ${FW_DIR}/${ROOTFSISO}: ${TARGET_DIR} kernel-package mkdir -p ${TARGET_DIR}/boot/syslinux cp ${STAGING_HOST_DIR}/usr/share/syslinux/{isolinux.bin,ldlinux.c32} \ ${TARGET_DIR}/boot/syslinux - echo 'DEFAULT /boot/kernel root=/dev/sr0 init=/init' > \ + echo 'DEFAULT /boot/kernel root=/dev/sr0' > \ ${TARGET_DIR}/boot/syslinux/isolinux.cfg ${STAGING_HOST_DIR}/usr/bin/mkisofs -R -uid 0 -gid 0 -o $@ \ -b boot/syslinux/isolinux.bin \ diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk index f95796950..448c133c3 100644 --- a/mk/kernel-build.mk +++ b/mk/kernel-build.mk @@ -37,28 +37,24 @@ $(LINUX_DIR)/.prepared: $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PK $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig $(TOPDIR)/mk/modules.mk $(TRACE) target/$(ADK_TARGET_ARCH)-kernel-configure -for f in $(TARGETS);do if [ -f $$f ];then rm $$f;fi;done -ifeq ($(ADK_USE_KERNEL_MINICONFIG),y) $(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/mini.config - ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE) -else - $(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/.config - echo N | ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} oldconfig $(MAKE_TRACE) -endif + ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE) touch -c $(LINUX_DIR)/.config $(LINUX_DIR)/$(KERNEL_FILE): $(LINUX_DIR)/.config $(TRACE) target/$(ADK_TARGET_ARCH)-kernel-compile - ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(KERNEL_TARGET) modules $(MAKE_TRACE) + ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(KERNEL_TARGET) modules $(MAKE_TRACE) touch -c $(LINUX_DIR)/$(KERNEL_FILE) $(LINUX_BUILD_DIR)/modules: $(LINUX_DIR)/$(KERNEL_FILE) $(TRACE) target/$(ADK_TARGET_ARCH)-kernel-modules-install rm -rf $(LINUX_BUILD_DIR)/modules - ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} DEPMOD=true \ + ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} DEPMOD=true \ INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \ LOCALVERSION="" \ modules_install $(MAKE_TRACE) $(TRACE) target/$(ADK_TARGET_ARCH)-create-packages + @mkdir -p ${PACKAGE_DIR} ifneq ($(strip $(TARGETS)),) $(MAKE) $(TARGETS) endif diff --git a/mk/kernel-vars.mk b/mk/kernel-vars.mk index 3285e891d..7d8de54e3 100644 --- a/mk/kernel-vars.mk +++ b/mk/kernel-vars.mk @@ -1,27 +1,18 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. -KERNEL_MAKE_OPTS:= -C "${LINUX_DIR}" V=1 \ - CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) \ - CC="$(TARGET_CC)" HOSTCC="${CC_FOR_BUILD}" \ - HOSTCFLAGS='${CFLAGS_FOR_BUILD}' \ +KERNEL_MAKE_OPTS:= V=1 \ + ARCH=$(ARCH) \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + CC="$(TARGET_CC)" \ + HOSTCC="${CC_FOR_BUILD}" \ CONFIG_SHELL='${SHELL}' -ifeq (${ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G},y) -ADK_KCPPFLAGS+= -DBCM47XX_OVERRIDE_FLASHSIZE=0x400000 \ - -DBCM47XX_OVERRIDE_NVRAMSIZE=0x10000 \ - -DBCM47XX_OVERRIDE_CFESIZE=0x40000 -endif -ifeq (${ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54GS},y) -ADK_KCPPFLAGS+= -DBCM47XX_OVERRIDE_FLASHSIZE=0x800000 \ - -DBCM47XX_OVERRIDE_NVRAMSIZE=0x20000 \ - -DBCM47XX_OVERRIDE_CFESIZE=0x40000 -endif -ifeq (${ADK_TARGET_BROADCOM_MODEL_ASUS_WL500GP},y) -ADK_KCPPFLAGS+= -DBCM47XX_OVERRIDE_FLASHSIZE=0x800000 \ - -DBCM47XX_OVERRIDE_NVRAMSIZE=0x20000 \ - -DBCM47XX_OVERRIDE_CFESIZE=0x40000 +# regex for relocs needs pcre on Darwin +ifeq ($(ADK_HOST_DARWIN),y) +KERNEL_MAKE_OPTS+= HOSTCFLAGS='$(CPPFLAGS_FOR_BUILD) ${CFLAGS_FOR_BUILD}' HOSTLDFLAGS='-lpcreposix' +else +KERNEL_MAKE_OPTS+= HOSTCFLAGS='${CFLAGS_FOR_BUILD}' endif -KERNEL_MAKE_ENV+= KCPPFLAGS='${ADK_KCPPFLAGS}' \ - PATH="${STAGING_HOST_DIR}/usr/bin:$$PATH" +KERNEL_MAKE_ENV+= PATH="${STAGING_HOST_DIR}/usr/bin:$$PATH" diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk index 6355af1d8..7cfb5998b 100644 --- a/mk/kernel-ver.mk +++ b/mk/kernel-ver.mk @@ -1,20 +1,20 @@ ifeq ($(ADK_KERNEL_VERSION_TOOLCHAIN),y) -KERNEL_VERSION:= 3.13.6 +KERNEL_VERSION:= 3.13.7 KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= 445aa27da818617409982f42902a6e41 +KERNEL_MD5SUM:= 370adced5e5c1cb1d0d621c2dae2723f endif -ifeq ($(ADK_KERNEL_VERSION_3_13_6),y) -KERNEL_VERSION:= 3.13.6 +ifeq ($(ADK_KERNEL_VERSION_3_13_7),y) +KERNEL_VERSION:= 3.13.7 KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= 445aa27da818617409982f42902a6e41 +KERNEL_MD5SUM:= 370adced5e5c1cb1d0d621c2dae2723f endif -ifeq ($(ADK_KERNEL_VERSION_3_12_13),y) -KERNEL_VERSION:= 3.12.13 +ifeq ($(ADK_KERNEL_VERSION_3_12_14),y) +KERNEL_VERSION:= 3.12.14 KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= 345f5883cfb906dac4aef87e303d3a2d +KERNEL_MD5SUM:= 5575e68e287605ad63d3a1444e9b701d endif ifeq ($(ADK_KERNEL_VERSION_3_11_10),y) KERNEL_VERSION:= 3.11.10 @@ -22,15 +22,15 @@ KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 KERNEL_MD5SUM:= 59f352d3f4e2cdf6755f79e09fa09176 endif -ifeq ($(ADK_KERNEL_VERSION_3_10_33),y) -KERNEL_VERSION:= 3.10.33 +ifeq ($(ADK_KERNEL_VERSION_3_10_34),y) +KERNEL_VERSION:= 3.10.34 KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= 01865f9c129f3c7eee51e25b3781a364 +KERNEL_MD5SUM:= 30991b495a3d75196d5608072d2e62e6 endif -ifeq ($(ADK_KERNEL_VERSION_3_4_82),y) -KERNEL_VERSION:= 3.4.82 +ifeq ($(ADK_KERNEL_VERSION_3_4_84),y) +KERNEL_VERSION:= 3.4.84 KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= 9ee57efa65417a7a9ac931122c2b7377 +KERNEL_MD5SUM:= b99f88ca356b5003ce44e952baa3e6a3 endif diff --git a/mk/mirrors.mk b/mk/mirrors.mk index 4de2fdded..ab7349288 100644 --- a/mk/mirrors.mk +++ b/mk/mirrors.mk @@ -15,12 +15,19 @@ MASTER_SITE_KERNEL?= \ http://www.kernel.org/pub/linux/ \ MASTER_SITE_XORG?= \ - http://www.x.org/releases/X11R7.7/src/everything/ \ - http://ftp.gwdg.de/pub/x11/x.org/pub/X11R7.7/src/everything/ \ - http://xorg.freedesktop.org/releases/X11R7.7/src/everything/ \ + http://www.x.org/releases/individual/xserver/ \ + http://www.x.org/releases/individual/proto/ \ + http://www.x.org/releases/individual/app/ \ + http://www.x.org/releases/individual/xcb/ \ + http://www.x.org/releases/individual/lib/ \ + http://www.x.org/releases/individual/driver/ \ + http://www.x.org/releases/individual/util/ \ http://xorg.freedesktop.org/releases/individual/app/ \ http://xorg.freedesktop.org/releases/individual/lib/ \ http://xorg.freedesktop.org/releases/individual/driver/ \ + http://www.x.org/releases/X11R7.7/src/everything/ \ + http://ftp.gwdg.de/pub/x11/x.org/pub/X11R7.7/src/everything/ \ + http://xorg.freedesktop.org/releases/X11R7.7/src/everything/ \ MASTER_SITE_GNU?= \ http://ftp.gnu.org/gnu/ \ diff --git a/mk/modules.mk b/mk/modules.mk index 5fd2f6419..e8a0821de 100644 --- a/mk/modules.mk +++ b/mk/modules.mk @@ -1175,20 +1175,21 @@ $(eval $(call KMOD_template,SND,snd,\ $(MODULES_DIR)/kernel/sound/core/snd \ $(MODULES_DIR)/kernel/sound/core/snd-timer \ $(MODULES_DIR)/kernel/sound/core/snd-pcm \ +,40)) + +$(eval $(call KMOD_template,SND_PCM_DMAENGINE,snd-pcm-dmaengine,\ $(MODULES_DIR)/kernel/sound/core/snd-pcm-dmaengine \ +,41)) + +$(eval $(call KMOD_template,SND_COMPRESS,snd-compress,\ $(MODULES_DIR)/kernel/sound/core/snd-compress \ -,40)) +,41)) $(eval $(call KMOD_template,SND_RAWMIDI,snd-rawmidi,\ $(MODULES_DIR)/kernel/sound/core/snd-hwdep \ $(MODULES_DIR)/kernel/sound/core/snd-rawmidi \ ,42)) -$(eval $(call KMOD_template,SND_OSSEMUL,snd-ossemul,\ - $(MODULES_DIR)/kernel/sound/core/oss/snd-mixer-oss \ - $(MODULES_DIR)/kernel/sound/core/oss/snd-pcm-oss \ -,45)) - $(eval $(call KMOD_template,SND_AC97_CODEC,snd-ac97-codec,\ $(MODULES_DIR)/kernel/sound/ac97_bus \ $(MODULES_DIR)/kernel/sound/pci/ac97/snd-ac97-codec \ @@ -1293,7 +1294,7 @@ $(eval $(call KMOD_template,PCMCIA,pcmcia,\ ,60)) $(eval $(call KMOD_template,SERIAL_8250_CS,serial-8250-cs,\ - $(MODULES_DIR)/kernel/drivers/tty/serial/serial_cs \ + $(MODULES_DIR)/kernel/drivers/tty/serial/8250/serial_cs \ ,70)) # @@ -1742,7 +1743,7 @@ $(eval $(call KMOD_template,PARPORT_PC,parport-pc,\ ,55)) $(eval $(call KMOD_template,PLIP,plip,\ - $(MODULES_DIR)/kernel/drivers/net/plip \ + $(MODULES_DIR)/kernel/drivers/net/plip/plip \ ,60)) # diff --git a/mk/package.mk b/mk/package.mk index a70de9377..eba9c446a 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -195,10 +195,10 @@ endif $$(IPKG_$(1)): $$(IDIR_$(1))/CONTROL/control $${_FAKE_COOKIE} ifeq ($(ADK_DEBUG),) - $${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE) + @$${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE) endif ifeq ($(ADK_DEBUG_STRIP),y) - $${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE) + @$${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE) endif ifeq (${ADK_LEAVE_ETC_ALONE}$(filter force_etc,$(7)),y) -rm -rf $${IDIR_$(1)}/etc @@ -314,7 +314,7 @@ clean-targets: clean: @$(CMD_TRACE) "cleaning... " @$(MAKE) clean-targets $(MAKE_TRACE) - rm -rf ${WRKDIR} ${ALL_IPKGS} ${STAGING_PKG_DIR}/stamps/${PKG_NAME}* + rm -rf ${WRKDIR} ${ALL_IPKGS} ${STAGING_PKG_DIR}/stamps/${PKG_NAME}${PKG_VERSION} distclean: clean rm -f ${FULLDISTFILES} diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk index 3e454ee5a..2ccc6ff1e 100644 --- a/mk/pkg-bottom.mk +++ b/mk/pkg-bottom.mk @@ -184,7 +184,7 @@ ifneq (,$(filter dev,${PKG_OPTS})) done endif @-cd ${WRKINST}; \ - if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" -a "${PKG_NAME}" != "pam" ];then \ + if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" -a "${PKG_NAME}" != "pam" -a "${PKG_NAME}" != "tzdata" ];then \ find lib \( -name lib\*.so\* -o -name lib\*.a \) \ -exec echo 'WARNING: ${PKG_NAME} installs files in /lib -' \ ' fix this!' >&2 \; -quit 2>/dev/null; fi;\ diff --git a/mk/rootfs.mk b/mk/rootfs.mk index 55830b23c..dae0e5805 100644 --- a/mk/rootfs.mk +++ b/mk/rootfs.mk @@ -11,10 +11,11 @@ endef ifeq ($(ADK_HARDWARE_QEMU),y) MTDDEV:= root=/dev/mtdblock0 ifeq ($(ADK_TARGET_ROOTFS_ARCHIVE),y) -ROOTFS:= root=/dev/sda1 -endif ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y) ROOTFS:= root=/dev/vda1 +else +ROOTFS:= root=/dev/sda1 +endif endif endif @@ -41,17 +42,15 @@ else USB:= rootdelay=2 endif -$(eval $(call rootfs_template,genext2fs,GENEXT2FS,$(ROOTFS))) -$(eval $(call rootfs_template,cf,CF,$(ROOTFS))) -$(eval $(call rootfs_template,mmc,MMC,$(ROOTFS))) $(eval $(call rootfs_template,usb,USB,$(USB))) $(eval $(call rootfs_template,archive,ARCHIVE,$(ROOTFS))) +$(eval $(call rootfs_template,initramfsarchive,INITRAMFSARCHIVE)) $(eval $(call rootfs_template,initramfs,INITRAMFS)) $(eval $(call rootfs_template,initramfs-piggyback,INITRAMFS_PIGGYBACK)) -$(eval $(call rootfs_template,squashfs,SQUASHFS,$(ROOTFS))) +$(eval $(call rootfs_template,squashfs,SQUASHFS,$(MTDDEV) rootfstype=squashfs)) $(eval $(call rootfs_template,yaffs,YAFFS,$(MTDDEV) panic=3)) $(eval $(call rootfs_template,jffs2,JFFS2,$(MTDDEV) rootfstype=jffs2)) -$(eval $(call rootfs_template,nfsroot,NFSROOT,root=/dev/nfs ip=dhcp init=/init)) +$(eval $(call rootfs_template,nfsroot,NFSROOT,root=/dev/nfs ip=dhcp)) $(eval $(call rootfs_template,encrypted,ENCRYPTED)) $(eval $(call rootfs_template,iso,ISO)) diff --git a/mk/vars.mk b/mk/vars.mk index 5fd4a51aa..a26dc0734 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -17,16 +17,17 @@ DL_DIR?= $(BASE_DIR)/dl else DL_DIR?= $(ADK_DL_DIR) endif -TOOLS_BUILD_DIR= $(BASE_DIR)/tools_build SCRIPT_DIR:= $(BASE_DIR)/scripts STAGING_HOST_DIR:= ${BASE_DIR}/host_${GNU_HOST_NAME} +TOOLCHAIN_DIR:= ${BASE_DIR}/toolchain_${GNU_HOST_NAME} +HOST_BUILD_DIR:= ${BASE_DIR}/host_build_${GNU_HOST_NAME} -# PFX dirs for cleandir +# dirs for cleandir FW_DIR_PFX:= $(BASE_DIR)/firmware BUILD_DIR_PFX:= $(BASE_DIR)/build_* STAGING_PKG_DIR_PFX:= ${BASE_DIR}/pkg_* STAGING_TARGET_DIR_PFX:=${BASE_DIR}/target_* -TOOLCHAIN_BUILD_DIR_PFX=$(BASE_DIR)/toolchain_build_* +TOOLCHAIN_DIR_PFX= $(BASE_DIR)/toolchain_* STAGING_HOST_DIR_PFX:= ${BASE_DIR}/host_* TARGET_DIR_PFX:= $(BASE_DIR)/root_* @@ -36,7 +37,7 @@ FW_DIR:= $(BASE_DIR)/firmware/${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIB BUILD_DIR:= ${BASE_DIR}/build_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC} STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC} STAGING_PKG_DIR:= ${BASE_DIR}/pkg_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC} -STAGING_HOST2TARGET:= ../target_${CPU_ARCH}_${ADK_TARGET_LIBC} +STAGING_HOST2TARGET:= ../../target_${CPU_ARCH}_${ADK_TARGET_LIBC} TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_LIBC} else TARGET_DIR:= $(BASE_DIR)/root_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI} @@ -44,7 +45,7 @@ FW_DIR:= $(BASE_DIR)/firmware/${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIB BUILD_DIR:= ${BASE_DIR}/build_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI} STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI} STAGING_PKG_DIR:= ${BASE_DIR}/pkg_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI} -STAGING_HOST2TARGET:= ../target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI} +STAGING_HOST2TARGET:= ../../target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI} TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI} endif @@ -52,15 +53,9 @@ PACKAGE_DIR:= $(FW_DIR)/packages SCRIPT_TARGET_DIR:= ${STAGING_TARGET_DIR}/scripts # PATH variables -TARGET_PATH= ${SCRIPT_DIR}:${STAGING_TARGET_DIR}/scripts:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH} -HOST_PATH= ${SCRIPT_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH} -AUTOTOOL_PATH= ${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH} - -ifeq ($(ADK_TARGET_ABI_X32),y) -GNU_TARGET_NAME= $(CPU_ARCH)-x32-linux-$(ADK_TARGET_SUFFIX) -else -GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX) -endif +TARGET_PATH= ${SCRIPT_DIR}:${STAGING_TARGET_DIR}/scripts:${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH} +HOST_PATH= ${SCRIPT_DIR}:${TOOLCHAIN_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH} +AUTOTOOL_PATH= ${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH} ifeq ($(ADK_DISABLE_HONOUR_CFLAGS),) GCC_CHECK:= GCC_HONOUR_COPTS=2 @@ -68,18 +63,28 @@ else GCC_CHECK:= endif -TARGET_CROSS:= $(STAGING_HOST_DIR)/bin/$(GNU_TARGET_NAME)- +GNU_TARGET_NAME:= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX) +TARGET_CROSS:= $(TOOLCHAIN_DIR)/usr/bin/$(GNU_TARGET_NAME)- TARGET_COMPILER_PREFIX?=${TARGET_CROSS} -CONFIGURE_TRIPLE:= --build=${GNU_HOST_NAME} --host=${GNU_TARGET_NAME} --target=${GNU_TARGET_NAME} +CONFIGURE_TRIPLE:= --build=${GNU_HOST_NAME} \ + --host=${GNU_TARGET_NAME} \ + --target=${GNU_TARGET_NAME} ifneq ($(strip ${ADK_USE_CCACHE}),) -TARGET_COMPILER_PREFIX=ccache ${TARGET_CROSS} +TARGET_COMPILER_PREFIX=$(STAGING_HOST_DIR)/usr/bin/ccache ${TARGET_CROSS} endif -# target compiler flags +# target tools TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc TARGET_CXX:= ${TARGET_COMPILER_PREFIX}g++ TARGET_LD:= ${TARGET_COMPILER_PREFIX}ld +TARGET_AR:= ${TARGET_COMPILER_PREFIX}ar +TARGET_RANLIB:= ${TARGET_COMPILER_PREFIX}ranlib + +ifneq ($(ADK_TARGET_ABI_CFLAGS),) +TARGET_CC+= $(ADK_TARGET_ABI_CFLAGS) +TARGET_CXX+= $(ADK_TARGET_ABI_CFLAGS) +endif MODE_FLAGS:= ifeq ($(ADK_LINUX_ARM),y) @@ -91,13 +96,12 @@ endif endif TARGET_CPPFLAGS:= -TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts $(ADK_TARGET_ABI_CFLAGS) $(MODE_FLAGS) -TARGET_CFLAGS_LIBC:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts $(TARGET_OPTIMIZATION) $(MODE_FLAGS) -TARGET_CXXFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(MODE_FLAGS) +TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts +TARGET_CXXFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident TARGET_LDFLAGS:= -L$(STAGING_TARGET_DIR)/lib -L$(STAGING_TARGET_DIR)/usr/lib \ -Wl,-O1 -Wl,-rpath -Wl,/usr/lib \ - -Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib \ - $(ADK_TARGET_ABI_LDFLAGS) + -Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib + # security optimization, see http://www.akkadia.org/drepper/dsohowto.pdf TARGET_LDFLAGS+= -Wl,-z,relro,-z,now # needed for musl ppc @@ -123,13 +127,17 @@ ifneq ($(ADK_DEBUG),) TARGET_CFLAGS+= -g3 -fno-omit-frame-pointer else TARGET_CPPFLAGS+= -DNDEBUG -TARGET_CFLAGS+= -fomit-frame-pointer $(TARGET_OPTIMIZATION) +TARGET_CFLAGS+= -fomit-frame-pointer $(ADK_TARGET_CFLAGS_OPT) # stop generating eh_frame stuff TARGET_CFLAGS+= -fno-unwind-tables -fno-asynchronous-unwind-tables # always add debug information TARGET_CFLAGS+= -g3 endif +ifneq ($(MODE_FLAGS),) +TARGET_CFLAGS+= $(MODE_CFLAGS) +TARGET_CXXFLAGS+= $(MODE_CFLAGS) +endif # A nifty macro to make testing gcc features easier (from uClibc project) check_gcc=$(shell \ @@ -139,7 +147,6 @@ check_gcc=$(shell \ CF_FOR_BUILD=$(call check_gcc,-fhonour-copts,) # host compiler flags -CXX_FOR_BUILD?= g++ CPPFLAGS_FOR_BUILD?= -I$(STAGING_HOST_DIR)/usr/include CFLAGS_FOR_BUILD= -O2 -Wall $(CF_FOR_BUILD) CXXFLAGS_FOR_BUILD?= -O2 -Wall @@ -150,9 +157,11 @@ PATCH= ${BASH} $(SCRIPT_DIR)/patch.sh SED:= PATH=${HOST_PATH} sed -i -e LINUX_DIR:= $(BUILD_DIR)/linux KERNEL_MODULE_FLAGS:= ARCH=${ARCH} \ - KERNEL_PATH=${LINUX_DIR} KERNELDIR=${LINUX_DIR} KERNEL_DIR=${LINUX_DIR} \ + KERNEL_PATH=${LINUX_DIR} \ + KERNELDIR=${LINUX_DIR} \ + KERNEL_DIR=${LINUX_DIR} \ PREFIX=/usr CROSS_COMPILE="${TARGET_CROSS}" \ - LDFLAGS="$(ADK_TARGET_KERNEL_LDFLAGS)" CFLAGS_MODULE="-fhonour-copts" V=1 + CFLAGS_MODULE="-fhonour-copts" V=1 TARGET_CONFIGURE_OPTS= PATH='${TARGET_PATH}' \ AR='$(TARGET_CROSS)ar' \ @@ -169,9 +178,10 @@ TARGET_CONFIGURE_OPTS= PATH='${TARGET_PATH}' \ CROSS_COMPILE='$(TARGET_CROSS)' HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${CC_FOR_BUILD}' \ - CPPFLAGS_FOR_BUILD='${CPPFLAGS_FOR_BUILD}' \ CXX_FOR_BUILD='${CXX_FOR_BUILD}' \ + CPPFLAGS_FOR_BUILD='${CPPFLAGS_FOR_BUILD}' \ CFLAGS_FOR_BUILD='${CFLAGS_FOR_BUILD}' \ + CXXFLAGS_FOR_BUILD='${CXXFLAGS_FOR_BUILD}' \ LDFLAGS_FOR_BUILD='${LDFLAGS_FOR_BUILD}' PKG_SUFFIX:= $(strip $(subst ",, $(ADK_PACKAGE_SUFFIX))) @@ -198,25 +208,25 @@ RSTRIP:= PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/r STATCMD:=$(shell if stat -qs .>/dev/null 2>&1; then echo 'stat -f %z';else echo 'stat -c %s';fi) -EXTRACT_CMD= mkdir -p ${WRKDIR}; \ +EXTRACT_CMD= PATH='${HOST_PATH}'; mkdir -p ${WRKDIR}; \ cd ${WRKDIR} && \ for file in ${FULLDISTFILES}; do case $$file in \ *.cpio) \ - cat $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \ + cat $$file | cpio -i -d ;; \ *.tar) \ tar -xf $$file ;; \ *.cpio.Z | *.cpio.gz | *.cgz | *.mcz) \ - gzip -dc $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \ + gzip -dc $$file | cpio -i -d ;; \ *.tar.xz | *.txz) \ - $(STAGING_HOST_DIR)/usr/bin/xz -dc $$file | tar -xf - ;; \ + xz -dc $$file | tar -xf - ;; \ *.tar.Z | *.tar.gz | *.taz | *.tgz) \ gzip -dc $$file | tar -xf - ;; \ *.cpio.bz2 | *.cbz) \ - $(STAGING_HOST_DIR)/usr/bin/bzip2 -dc $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \ + bzip2 -dc $$file | cpio -i -d ;; \ *.tar.bz2 | *.tbz | *.tbz2) \ - $(STAGING_HOST_DIR)/usr/bin/bzip2 -dc $$file | tar -xf - ;; \ + bzip2 -dc $$file | tar -xf - ;; \ *.zip) \ - cat $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -ivd -H zip ;; \ + cat $$file | cpio -ivd -H zip ;; \ *.arm) \ cp $$file ${WRKDIR} ;; \ *) \ |