diff options
Diffstat (limited to 'mk')
-rw-r--r-- | mk/build.mk | 46 | ||||
-rw-r--r-- | mk/image.mk | 9 | ||||
-rw-r--r-- | mk/package.mk | 6 | ||||
-rw-r--r-- | mk/pkg-bottom.mk | 2 | ||||
-rw-r--r-- | mk/vars.mk | 5 |
5 files changed, 49 insertions, 19 deletions
diff --git a/mk/build.mk b/mk/build.mk index 3108ec064..2d4523e75 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -104,7 +104,7 @@ POSTCONFIG= -@\ fi; \ done; \ if [ "$$(grep ^ADK_RUNTIME_TIMEZONE .config|md5sum)" != "$$(grep ^ADK_RUNTIME_TIMEZONE .config.old|md5sum)" ];then \ - touch .rebuild.eglibc .rebuild.uclibc .rebuild.glibc;\ + touch .rebuild.musl .rebuild.uclibc .rebuild.glibc;\ rebuild=1;\ fi; \ if [ "$$(grep ^ADK_RUNTIME_SSH_PUBKEY .config|md5sum)" != "$$(grep ^ADK_RUNTIME_SSH_PUBKEY .config.old|md5sum)" ];then \ @@ -141,7 +141,7 @@ ${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/M $(STAGING_HOST_DIR)/usr/bin/depmaker > ${TOPDIR}/package/Depends.mk .NOTPARALLEL: -.PHONY: all world clean cleantarget cleandir distclean image_clean +.PHONY: all world clean cleantarget cleandir cleantoolchain distclean image_clean world: mkdir -p $(DISTDIR) $(BUILD_DIR) $(TARGET_DIR) $(FW_DIR) \ @@ -252,10 +252,8 @@ clean: $(MAKE) -C $(CONFIG) clean for f in $$(ls ${STAGING_PKG_DIR}/ 2>/dev/null |grep -v [A-Z]|grep -v stamps 2>/dev/null); do \ while read file ; do \ - echo ${STAGING_DIR}/$$file ;\ rm ${STAGING_DIR}/$$file 2>/dev/null;\ - done < $$f ; \ - echo ${STAGING_PKG_DIR}/$$f ;\ + done < ${STAGING_PKG_DIR}/$$f ; \ rm ${STAGING_PKG_DIR}/$$f ; \ done rm -rf $(BUILD_DIR) $(FW_DIR) $(TARGET_DIR) \ @@ -275,6 +273,15 @@ cleandir: rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX) rm -f .menu .tmpconfig.h .rebuild* ${TOPDIR}/package/Depends.mk ${TOPDIR}/prereq.mk +cleantoolchain: + @$(TRACE) cleantoolchain + @$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE) + 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 $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX) + rm -f .menu .tmpconfig.h .rebuild* ${TOPDIR}/package/Depends.mk ${TOPDIR}/prereq.mk + cleantarget: @$(TRACE) cleantarget @$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE) @@ -526,7 +533,7 @@ endif # ! ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y) # build all target architecture and libc combinations (toolchain only) bulktoolchain: - for libc in glibc eglibc uclibc musl;do \ + for libc in glibc uclibc musl;do \ while read arch; do \ mkdir -p $(TOPDIR)/firmware/toolchain_$${arch}_$$libc; \ ( \ @@ -535,7 +542,8 @@ bulktoolchain: $(GMAKE) prereq && \ $(GMAKE) ARCH=$$tarch SYSTEM=toolchain-$$arch LIBC=$$libc defconfig; \ $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \ - tar -cvJf ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz host_$${arch}_*_$${libc} target_$${arch}_*_$${libc}; \ + tar -cvJf ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz host_* target_$${arch}_$${libc}_*; \ + $(GMAKE) cleantoolchain; \ rm .config; \ ) 2>&1 | tee $(TOPDIR)/firmware/toolchain_$${arch}_$${libc}/build.log; \ if [ -f .exit ];then break;fi \ @@ -543,8 +551,24 @@ bulktoolchain: if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \ done +test-framework: + for libc in uclibc glibc musl;do \ + mkdir -p $(TOPDIR)/firmware/$(SYSTEM)_$(ARCH)_$$libc; \ + ( \ + for arch in arm mips mipsel x86 x86_64;do \ + echo === building qemu-$$arch for $$libc on $$(date); \ + $(GMAKE) prereq && \ + $(GMAKE) ARCH=$$arch SYSTEM=qemu-$$arch LIBC=$$libc FS=archive defconfig; \ + $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \ + rm .config; \ + done; \ + ) 2>&1 | tee $(TOPDIR)/firmware/$(SYSTEM)_$(ARCH)_$$libc/build.log; \ + if [ -f .exit ];then echo "Bulk build failed!"; break;fi \ + done + if [ -f .exit ];then rm .exit;exit 1;fi + release: - for libc in uclibc eglibc glibc musl;do \ + for libc in uclibc glibc musl;do \ mkdir -p $(TOPDIR)/firmware/$(SYSTEM)_$(ARCH)_$$libc; \ ( \ echo === building $$libc on $$(date); \ @@ -559,7 +583,7 @@ release: # build all target architecture, target systems and libc combinations bulk: - for libc in uclibc eglibc glibc musl;do \ + for libc in uclibc glibc musl;do \ while read arch; do \ systems=$$(./scripts/getsystems $$arch|grep -v toolchain); \ for system in $$systems;do \ @@ -579,7 +603,7 @@ bulk: done bulkall: - for libc in uclibc eglibc glibc musl;do \ + for libc in uclibc glibc musl;do \ while read arch; do \ systems=$$(./scripts/getsystems $$arch| grep -v toolchain); \ for system in $$systems;do \ @@ -599,7 +623,7 @@ bulkall: done bulkallmod: - for libc in uclibc eglibc glibc musl;do \ + for libc in uclibc glibc musl;do \ while read arch; do \ systems=$$(./scripts/getsystems $$arch| grep -v toolchain); \ for system in $$systems;do \ diff --git a/mk/image.mk b/mk/image.mk index 571752eaf..3f199c9cc 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -51,6 +51,7 @@ image-prepare-post: -rm -f ${TARGET_DIR}/bin/sh ln -sf ${BINSH} ${TARGET_DIR}/bin/sh ifeq ($(ADK_LINUX_X86_64),y) +ifneq ($(ADK_TARGET_ABI_X32),y) # fixup lib dirs mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH} rm -rf ${TARGET_DIR}/lib/ @@ -60,6 +61,7 @@ ifeq ($(ADK_LINUX_X86_64),y) 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} @@ -175,10 +177,11 @@ createinitramfs: ${FW_DIR}/${INITRAMFS}_list ${LINUX_DIR}/.config ( \ echo "CONFIG_BLK_DEV_INITRD=y"; \ + echo "CONFIG_ACPI_INITRD_TABLE_OVERRIDE=n"; \ echo 'CONFIG_INITRAMFS_SOURCE="${FW_DIR}/${INITRAMFS}_list"'; \ - echo '# CONFIG_INITRAMFS_COMPRESSION_NONE is not set' >> ${LINUX_DIR}/.config; \ - echo 'CONFIG_INITRAMFS_ROOT_UID=0' >> ${LINUX_DIR}/.config; \ - echo 'CONFIG_INITRAMFS_ROOT_GID=0' >> ${LINUX_DIR}/.config; \ + echo '# CONFIG_INITRAMFS_COMPRESSION_NONE is not set'; \ + echo 'CONFIG_INITRAMFS_ROOT_UID=0'; \ + echo 'CONFIG_INITRAMFS_ROOT_GID=0'; \ ) >> ${LINUX_DIR}/.config ifeq ($(ADK_KERNEL_COMP_XZ),y) echo "CONFIG_RD_BZIP2=n" >> ${LINUX_DIR}/.config diff --git a/mk/package.mk b/mk/package.mk index 264cd06e0..d5d48c1e1 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -112,7 +112,7 @@ build-all-pkgs: ${_IPKGS_COOKIE} # noscripts -> do not install scripts to $(STAGING_TARGET_DIR)/scripts # (needed for example for autoconf/automake) # noremove -> do not remove files from $(STAGING_TARGET_DIR)/target while -# cleaning (needed for toolchain packages like glibc/eglibc) +# cleaning (needed for toolchain packages like glibc) # dev -> create a development subpackage with headers and pkg-config files # should be package format independent and modular in the future define PKG_template @@ -242,7 +242,7 @@ endif 'ramdisk location:' >&2; \ echo "$$$$x" | sed 's/^/- /' >&2; \ fi; \ - if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "eglibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" ];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" ];then \ find lib \( -name lib\*.so\* -o -name lib\*.a \) \ -exec echo 'WARNING: $${IPKG_$(1)} installs files in /lib -' \ ' fix this!' >&2 \; -quit 2>/dev/null; fi; \ @@ -300,7 +300,6 @@ $$(INFO_$(1)_DBG): $$(IPKG_$(1)_DBG) $(PKG_INSTALL) $$(IPKG_$(1)_DBG) ifneq ($(1),UCLIBC) -ifneq ($(1),EGLIBC) ifneq ($(1),GLIBC) ifneq ($(1),MUSL) $$(INFO_$(1)_DEV): $$(IPKG_$(1)_DEV) @@ -308,7 +307,6 @@ $$(INFO_$(1)_DEV): $$(IPKG_$(1)_DEV) endif endif endif -endif endef diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk index 3988a676f..66feea33c 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}" != "eglibc" -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" ];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/vars.mk b/mk/vars.mk index a0898ae2d..ef50e59d8 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -48,8 +48,13 @@ TARGET_DIR_PFX:= $(BASE_DIR)/root_* 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) +REAL_GNU_TARGET_NAME= $(CPU_ARCH)-x32-linux-$(ADK_TARGET_SUFFIX) +GNU_TARGET_NAME= $(CPU_ARCH)-x32-linux +else REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX) GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux +endif ifeq ($(ADK_DISABLE_HONOUR_CFLAGS),) GCC_CHECK:= GCC_HONOUR_COPTS=2 |