diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2011-01-18 18:10:19 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2011-01-18 18:10:19 +0100 |
commit | 46b2bb3001ce838ba2483a08418587d8a027f3a9 (patch) | |
tree | b2b618839b5afcc859fcb90556e6f199d9a9a10c /mk | |
parent | 88d3e6d6c572143bd95a589a44e30bfefd616b88 (diff) | |
parent | 902ee7e7b23751ca7a8264d36a837aa4aae12032 (diff) |
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'mk')
-rw-r--r-- | mk/build.mk | 48 | ||||
-rw-r--r-- | mk/buildhlp.mk | 5 | ||||
-rw-r--r-- | mk/image.mk | 42 | ||||
-rw-r--r-- | mk/kernel-build.mk | 8 | ||||
-rw-r--r-- | mk/kernel-vars.mk | 10 | ||||
-rw-r--r-- | mk/kernel-ver.mk | 4 | ||||
-rw-r--r-- | mk/kernel.mk | 2 | ||||
-rw-r--r-- | mk/modules.mk | 10 | ||||
-rw-r--r-- | mk/package.mk | 16 | ||||
-rw-r--r-- | mk/pkg-bottom.mk | 4 | ||||
-rw-r--r-- | mk/python.mk | 4 | ||||
-rw-r--r-- | mk/vars.mk | 33 |
12 files changed, 122 insertions, 64 deletions
diff --git a/mk/build.mk b/mk/build.mk index f8143311c..156555af3 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -14,17 +14,11 @@ DEFCONFIG= ADK_DEBUG=n \ ADK_STATIC=n \ ADK_MAKE_PARALLEL=y \ ADK_MAKE_JOBS=4 \ - ADK_PACKAGE_BZR=n \ ADK_PACKAGE_GRUB=n \ - ADK_PACKAGE_AUFS2_UTIL=n \ ADK_PACKAGE_BASE_FILES=y \ - ADK_PACKAGE_MGETTY=n \ - ADK_COMPILE_HEIMDAL=n \ - ADK_PACKAGE_HEIMDAL_PKINIT=n \ - ADK_PACKAGE_HEIMDAL_SERVER=n \ - ADK_PACKAGE_LIBHEIMDAL=n \ - ADK_PACKAGE_LIBHEIMDAL_CLIENT=n \ ADK_PACKAGE_PYTHON=n \ + ADK_TOOLCHAIN_GCC_USE_SSP=n \ + ADK_TOOLCHAIN_GCC_USE_LTO=n \ BUSYBOX_BBCONFIG=n \ BUSYBOX_SELINUX=n \ BUSYBOX_INSTALL_NO_USR=n \ @@ -113,7 +107,9 @@ ${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/M .NOTPARALLEL: .PHONY: all world clean cleantarget cleandir distclean image_clean -world: $(DISTDIR) $(BUILD_DIR) $(TARGET_DIR) $(PACKAGE_DIR) +world: + mkdir -p $(DISTDIR) $(BUILD_DIR) $(TARGET_DIR) $(PACKAGE_DIR)/.stamps \ + $(TOOLS_DIR) $(TOOLS_BUILD_DIR) $(TOOLCHAIN_BUILD_DIR) ${BASH} ${TOPDIR}/scripts/scan-pkgs.sh ${BASH} ${TOPDIR}/scripts/update-sys ${BASH} ${TOPDIR}/scripts/update-pkg @@ -133,21 +129,9 @@ ifeq ($(ADK_TARGET_PACKAGE_IPKG),y) ${BASH} ${TOPDIR}/scripts/ipkg-make-index.sh . >Packages endif -$(DISTDIR): - mkdir -p $(DISTDIR) - -$(BUILD_DIR): - mkdir -p $(BUILD_DIR) - -$(TARGET_DIR): - mkdir -p $(TARGET_DIR) - -$(PACKAGE_DIR): - mkdir -p ${PACKAGE_DIR}/.stamps - ${STAGING_TARGET_DIR} ${STAGING_TARGET_DIR}/etc ${STAGING_HOST_DIR}: - mkdir -p ${STAGING_TARGET_DIR}/{bin,etc,lib,usr/include} \ - ${STAGING_HOST_DIR}/{bin,lib} + mkdir -p ${STAGING_TARGET_DIR}/{bin,etc,lib,usr/include,usr/lib} \ + ${STAGING_HOST_DIR}/{bin,lib,usr/bin,usr/lib} ${STAGING_TARGET_DIR}/etc/ipkg.conf: ${STAGING_TARGET_DIR}/etc ifeq ($(ADK_TARGET_PACKAGE_IPKG),y) @@ -191,9 +175,9 @@ switch: fi kernelconfig: - cp $(TOPDIR)/target/$(ARCH)/kernel.config $(BUILD_DIR)/linux/.config - $(MAKE) -C $(BUILD_DIR)/linux/ ARCH=$(ARCH) menuconfig - cp $(BUILD_DIR)/linux/.config $(TOPDIR)/target/$(ARCH)/kernel.config + cp $(TOPDIR)/target/$(ADK_TARGET_ARCH)/kernel.config $(BUILD_DIR)/linux/.config + ${KERNEL_MAKE_ENV} ${MAKE} ${KERNEL_MAKE_OPTS} -C $(BUILD_DIR)/linux menuconfig + cp $(BUILD_DIR)/linux/.config $(TOPDIR)/target/$(ADK_TARGET_ARCH)/kernel.config # create a new package from package/.template newpackage: @@ -211,7 +195,7 @@ root_clean: mkdir -p $(TARGET_DIR) # Do a per-package clean here, too. This way stale headers and -# libraries from cross_*/target/ get wiped away, which keeps +# libraries from target_*/ get wiped away, which keeps # future package build's configure scripts from returning false # dependencies information. @@ -221,7 +205,7 @@ clean: for d in ${STAGING_PKG_DIR}; do \ for f in $$(ls $$d/[a-z]* 2>/dev/null); do \ while read file ; do \ - rm $$d/target/$$file 2>/dev/null; \ + rm ${STAGING_TARGET_DIR}/$$file 2>/dev/null;\ done < $$f ; \ rm $$f ; \ done \ @@ -563,12 +547,11 @@ bulkallmod: done <${TOPDIR}/target/arch.lst ;\ done -${TOPDIR}/bin/tools/pkgmaker: +${TOPDIR}/bin/tools/pkgmaker: tools/adk/pkgmaker.c tools/adk/sortfile.c tools/adk/strmap.c @mkdir -p $(TOPDIR)/bin/tools @$(HOSTCC) -Wall -g -o $@ tools/adk/pkgmaker.c tools/adk/sortfile.c tools/adk/strmap.c ${TOPDIR}/bin/tools/pkgrebuild: - @mkdir -p $(TOPDIR)/bin/tools @$(HOSTCC) -Wall -g -o $@ tools/adk/pkgrebuild.c tools/adk/strmap.c package/Config.in.auto menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile) ${TOPDIR}/bin/tools/pkgmaker ${TOPDIR}/bin/tools/pkgrebuild @@ -576,10 +559,7 @@ package/Config.in.auto menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile) ${TO @$(TOPDIR)/bin/tools/pkgmaker @:>.menu -$(TOPDIR)/bin/tools: - @mkdir -p $(TOPDIR)/bin/tools - -${TOPDIR}/bin/tools/depmaker: $(TOPDIR)/bin/tools +${TOPDIR}/bin/tools/depmaker: $(HOSTCC) -g -o $(TOPDIR)/bin/tools/depmaker $(TOPDIR)/tools/adk/depmaker.c dep: $(TOPDIR)/bin/tools/depmaker diff --git a/mk/buildhlp.mk b/mk/buildhlp.mk index 35d4eebd0..2cb4f1714 100644 --- a/mk/buildhlp.mk +++ b/mk/buildhlp.mk @@ -24,7 +24,10 @@ else _CHECKSUM_COOKIE= endif -post-extract: +${PACKAGE_DIR}/.stamps: + @mkdir -p ${PACKAGE_DIR}/.stamps + +post-extract: ${PACKAGE_DIR}/.stamps ifeq ($(strip ${NO_DISTFILES}),1) ${WRKDIST}/.extract_done: diff --git a/mk/image.mk b/mk/image.mk index 1b7178eef..5c3d27c41 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -1,6 +1,34 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. +# relative paths, like 'mksh' or '../usr/bin/foosh' +ifeq (${ADK_BINSH_ASH},y) +BINSH:=ash +else ifeq (${ADK_BINSH_BASH},y) +BINSH:=bash +else ifeq (${ADK_BINSH_MKSH},y) +BINSH:=mksh +else ifeq (${ADK_BINSH_ZSH},y) +BINSH:=zsh +else +$(error No /bin/sh configured!) +endif + +# absolute paths +ifeq (${ADK_ROOTSH_ASH},y) +ROOTSH:=/bin/ash +else ifeq (${ADK_ROOTSH_BASH},y) +ROOTSH:=/bin/bash +else ifeq (${ADK_ROOTSH_MKSH},y) +ROOTSH:=/bin/mksh +else ifeq (${ADK_ROOTSH_TCSH},y) +ROOTSH:=/usr/bin/tcsh +else ifeq (${ADK_ROOTSH_ZSH},y) +ROOTSH:=/bin/zsh +else +$(error No login shell configured!) +endif + imageprepare: image-prepare-post extra-install # if an extra directory exist in TOPDIR, copy all content over the @@ -14,12 +42,14 @@ image-prepare-post: dd if=$$rng bs=512 count=1 >>${TARGET_DIR}/etc/.rnd 2>/dev/null; \ chmod 600 ${TARGET_DIR}/etc/.rnd chmod 4511 ${TARGET_DIR}/bin/busybox - chmod 1777 ${TARGET_DIR}/tmp @if [ -d ${TARGET_DIR}/usr/share/fonts/X11 ];then \ for i in $$(ls ${TARGET_DIR}/usr/share/fonts/X11/);do \ mkfontdir ${TARGET_DIR}/usr/share/fonts/X11/$${i}; \ done; \ fi + sed -i '/^root:/s!:/bin/sh$$!:${ROOTSH}!' ${TARGET_DIR}/etc/passwd + -rm -f ${TARGET_DIR}/bin/sh + ln -sf ${BINSH} ${TARGET_DIR}/bin/sh KERNEL_PKGDIR:=$(LINUX_BUILD_DIR)/kernel-pkg KERNEL_PKG:=$(PACKAGE_DIR)/kernel_$(KERNEL_VERSION)_$(CPU_ARCH).$(PKG_SUFFIX) @@ -65,12 +95,16 @@ ${BUILD_DIR}/${INITRAMFS_PIGGYBACK}: ${TARGET_DIR} sed "s#\(.*\)#:0:0::::::\1#" | sort | \ ${TOOLS_DIR}/cpio -o -C512 -Hnewc -P >$@ 2>/dev/null -${BIN_DIR}/${ROOTFSSQUASHFS}: ${TARGET_DIR} +${BUILD_DIR}/root.squashfs: ${TARGET_DIR} ${STAGING_HOST_DIR}/bin/mksquashfs ${TARGET_DIR} \ ${BUILD_DIR}/root.squashfs \ -nopad -noappend -root-owned $(MAKE_TRACE) - cat ${BUILD_DIR}/${TARGET_KERNEL} ${BUILD_DIR}/root.squashfs > \ - ${BUILD_DIR}/${ROOTFSSQUASHFS} + +ifeq (,${CUSTOM_ROOTFSSQUASHFS_BUILD}) +${BUILD_DIR}/${ROOTFSSQUASHFS}: ${BUILD_DIR}/root.squashfs + cat ${BUILD_DIR}/${TARGET_KERNEL} ${BUILD_DIR}/root.squashfs \ + >${BUILD_DIR}/${ROOTFSSQUASHFS} +endif createinitramfs: @-rm $(LINUX_DIR)/usr/initramfs_data.cpio* $(MAKE_TRACE) diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk index ba3259b16..986eb9c29 100644 --- a/mk/kernel-build.mk +++ b/mk/kernel-build.mk @@ -21,16 +21,16 @@ $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig $(TOPDIR $(TRACE) target/$(ADK_TARGET_ARCH)-kernel-configure for f in $(TARGETS);do if [ -f $$f ];then rm $$f;fi;done $(MAKE_TRACE) $(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/.config - echo N | $(MAKE) ${KERNEL_MAKE_OPTS} oldconfig $(MAKE_TRACE) - $(MAKE) ${KERNEL_MAKE_OPTS} prepare scripts $(MAKE_TRACE) + echo N | ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} oldconfig $(MAKE_TRACE) + ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} prepare scripts $(MAKE_TRACE) touch -c $(LINUX_DIR)/.config $(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.config $(TRACE) target/$(ADK_TARGET_ARCH)-kernel-compile - $(MAKE) ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(MAKE_TRACE) + ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(MAKE_TRACE) $(TRACE) target/$(ADK_TARGET_ARCH)-kernel-modules-install rm -rf $(LINUX_BUILD_DIR)/modules - $(MAKE) ${KERNEL_MAKE_OPTS} DEPMOD=true \ + ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} DEPMOD=true \ INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \ LOCALVERSION="" \ modules_install $(MAKE_TRACE) diff --git a/mk/kernel-vars.mk b/mk/kernel-vars.mk index 48b7023b5..f66b238e0 100644 --- a/mk/kernel-vars.mk +++ b/mk/kernel-vars.mk @@ -3,5 +3,13 @@ KERNEL_MAKE_OPTS:= -C "${LINUX_DIR}" V=1 ifneq ($(ADK_NATIVE),y) -KERNEL_MAKE_OPTS+= CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) CC="$(TARGET_CC)" HOSTCC="${HOSTCC}" +KERNEL_MAKE_OPTS+= CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) \ + CC="$(TARGET_CC)" HOSTCC="${HOSTCC}" \ + HOSTCFLAGS='${HOSTCFLAGS}' endif + +ifeq (${ADK_TARGET_SYSTEM_LINKSYS_WRT54G},y) +ADK_KCPPFLAGS+= -DBCM47XX_OVERRIDE_FLASHSIZE=0x400000 +endif + +KERNEL_MAKE_ENV+= KCPPFLAGS='${ADK_KCPPFLAGS}' diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk index 50b8c4056..1741c62d0 100644 --- a/mk/kernel-ver.mk +++ b/mk/kernel-ver.mk @@ -1,3 +1,3 @@ -KERNEL_VERSION:= 2.6.36 +KERNEL_VERSION:= 2.6.37 KERNEL_RELEASE:= 1 -KERNEL_MD5SUM:= 61f3739a73afb6914cb007f37fb09b62 +KERNEL_MD5SUM:= c8ee37b4fdccdb651e0603d35350b434 diff --git a/mk/kernel.mk b/mk/kernel.mk index 2ce156694..d5288cd7e 100644 --- a/mk/kernel.mk +++ b/mk/kernel.mk @@ -33,6 +33,7 @@ IDEPENDK_$(1):=kernel ($(KERNEL_VERSION)) $(foreach pkg,$(5),", $(pkg)") PKG_$(1) := $(PACKAGE_DIR)/kmod-$(2)_$(KERNEL_VERSION)-$(KERNEL_RELEASE)_$(CPU_ARCH).$(PKG_SUFFIX) I_$(1) := $(KMOD_BUILD_DIR)/ipkg/$(2) +ifeq ($${ADK_TARGET_KERNEL_CUSTOMISING},y) ifeq ($$(ADK_KPACKAGE_KMOD_$(1)),m) TARGETS+=$$(PKG_$(1)) endif @@ -40,6 +41,7 @@ ifeq ($$(ADK_KPACKAGE_KMOD_$(1)),y) TARGETS+=$$(PKG_$(1)) INSTALL_TARGETS+=$$(PKG_$(1)) endif +endif $$(PKG_$(1)): rm -rf $$(I_$(1)) diff --git a/mk/modules.mk b/mk/modules.mk index 94a1d235a..27b02bbf7 100644 --- a/mk/modules.mk +++ b/mk/modules.mk @@ -926,11 +926,13 @@ $(eval $(call KMOD_template,CRYPTO_FCRYPT,crypto-fcrypt,\ ,11)) ZLIB:=lib/zlib_deflate/zlib_deflate -ifeq ($(ADK_LINUX_CRIS_FOXBOARD),) -ifeq ($(ADK_LINUX_MIPS_AG241),) +ifeq ($(ADK_TARGET_SYSTEM_FOXBOARD_LX832),y) +ifeq ($(ADK_TARGET_SYSTEM_FOXBOARD_LX416),y) +ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_AG241),y) ZLIB+=lib/zlib_inflate/zlib_inflate endif endif +endif $(eval $(call KMOD_template,CRYPTO_DEFLATE,crypto-deflate,\ $(foreach mod, $(ZLIB),$(MODULES_DIR)/kernel/$(mod)) \ @@ -1177,11 +1179,13 @@ $(eval $(call KMOD_template,INPUT_EVDEV,input-evdev,\ # USB # -ifeq ($(ADK_LINUX_CRIS_FOXBOARD),) +ifeq ($(ADK_TARGET_SYSTEM_FOXBOARD_LX832),) +ifeq ($(ADK_TARGET_SYSTEM_FOXBOARD_LX416),) $(eval $(call KMOD_template,USB,usb,\ $(MODULES_DIR)/kernel/drivers/usb/core/usbcore \ ,50)) endif +endif $(eval $(call KMOD_template,USB_EHCI_HCD,usb-ehci-hcd,\ $(MODULES_DIR)/kernel/drivers/usb/host/ehci-hcd \ diff --git a/mk/package.mk b/mk/package.mk index edbf3c6d5..bacee71f4 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -3,6 +3,10 @@ all: build-all-pkgs +ifeq ($(ADK_HOST_CYGWIN),y) +EXEEXT:= .exe +endif + TCFLAGS:= ${TARGET_CFLAGS} TCXXFLAGS:= ${TARGET_CFLAGS} TCPPFLAGS:= ${TARGET_CPPFLAGS} @@ -36,7 +40,8 @@ CONFIGURE_ARGS+= --enable-debug endif endif -CONFIGURE_ENV+= CONFIG_SHELL='$(strip ${SHELL})' \ +CONFIGURE_ENV+= GCC_HONOUR_COPTS=s \ + CONFIG_SHELL='$(strip ${SHELL})' \ CFLAGS='$(strip ${TCFLAGS})' \ CXXFLAGS='$(strip ${TCXXFLAGS})' \ CPPFLAGS='$(strip ${TCPPFLAGS})' \ @@ -74,9 +79,12 @@ MAKE_ENV+= PATH='${TARGET_PATH}' \ ${HOST_CONFIGURE_OPTS} \ CC='${TARGET_CC}' \ CXX='${TARGET_CXX}' \ + LD='${TARGET_LD}' \ AR='${TARGET_CROSS}ar' \ RANLIB='${TARGET_CROSS}ranlib' \ NM='${TARGET_CROSS}nm' \ + OBJCOPY='${TARGET_CROSS}objcopy' \ + RANLIB='${TARGET_CROSS}ranlib' \ STRIP='${TARGET_CROSS}strip' \ CROSS="$(TARGET_CROSS)" endif @@ -142,6 +150,8 @@ IDIR_$(1)= $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(2) ifneq (${ADK_PACKAGE_$(1)}${DEVELOPER},) ALL_IPKGS+= $$(IPKG_$(1)) ALL_IDIRS+= $${IDIR_$(1)} +ALL_POSTINST+= $(2)-install +$(2)-install: endif INFO_$(1)= $(PKG_STATE_DIR)/info/$(2).list @@ -181,6 +191,7 @@ $$(IPKG_$(1)): $$(IDIR_$(1))/CONTROL/control $${_FAKE_COOKIE} ifeq ($(ADK_DEBUG),) $${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE) endif +ifeq (${ADK_INSTALL_PACKAGE_INIT_SCRIPTS},y) @for file in $$$$(ls ./files/*.init 2>/dev/null); do \ fname=$$$$(echo $$$$file| sed -e "s#.*/##" -e "s#.init##"); \ check=$$$$(grep PKG $$$$file|cut -d ' ' -f 2); \ @@ -192,6 +203,7 @@ endif [[ -e $$$$script ]] || continue; \ chmod 0755 "$$$$script"; \ done +endif @mkdir -p $${PACKAGE_DIR} '$${STAGING_PKG_DIR}' \ '$${STAGING_TARGET_DIR}/scripts' ifeq (,$(filter noremove,$(7))) @@ -216,7 +228,7 @@ endif find usr ! -type d 2>/dev/null | \ grep -v -e '^usr/share' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' | \ tee '$${STAGING_PKG_DIR}/$(1)' | \ - $(TOPDIR)/bin/tools/cpio -padlmu '$${STAGING_TARGET_DIR}' + $(TOOLS_DIR)/cpio -padlmu '$${STAGING_TARGET_DIR}' @cd '$${STAGING_TARGET_DIR}'; grep 'usr/lib/.*\.la$$$$' \ '$${STAGING_PKG_DIR}/$(1)' | while read fn; do \ chmod u+w $$$$fn; \ diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk index 122198e45..f91e1bb45 100644 --- a/mk/pkg-bottom.mk +++ b/mk/pkg-bottom.mk @@ -127,6 +127,7 @@ endif pre-install: do-install: post-install: +spkg-install: ${ALL_POSTINST} ${_FAKE_COOKIE}: ${_BUILD_COOKIE} -rm -f ${_ALL_CONTROLS} @mkdir -p '${STAGING_PKG_DIR}' ${WRKINST} '${STAGING_TARGET_DIR}/scripts' @@ -145,6 +146,7 @@ else @echo "Invalid INSTALL_STYLE '${INSTALL_STYLE}'" >&2 @exit 1 endif + env ${MAKE_ENV} ${MAKE} spkg-install $(MAKE_TRACE) ifeq ($(ADK_NATIVE),) @for a in ${WRKINST}/usr/{bin/*-config,lib/pkgconfig/*.pc}; do \ [[ -e $$a ]] || continue; \ @@ -168,7 +170,7 @@ endif find usr ! -type d 2>/dev/null | \ grep -v -e '^usr/share' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' | \ tee '${STAGING_PKG_DIR}/${PKG_NAME}' | \ - $(TOPDIR)/bin/tools/cpio -padlmu '${STAGING_TARGET_DIR}' + $(TOOLS_DIR)/cpio -padlmu '${STAGING_TARGET_DIR}' @cd '${STAGING_TARGET_DIR}'; grep 'usr/lib/.*\.la$$' \ '${STAGING_PKG_DIR}/${PKG_NAME}' | while read fn; do \ chmod u+w $$fn; \ diff --git a/mk/python.mk b/mk/python.mk index e0fce5f0e..5767b12f7 100644 --- a/mk/python.mk +++ b/mk/python.mk @@ -1,3 +1,3 @@ PYTHON_VERSION=2.7 -PYTHON_LIBDIR:=$(STAGING_HOST_DIR)/lib -PYTHON:=${STAGING_HOST_DIR}/bin/hostpython +PYTHON_LIBDIR:=$(STAGING_HOST_DIR)/usr/lib +PYTHON:=${STAGING_HOST_DIR}/usr/bin/hostpython diff --git a/mk/vars.mk b/mk/vars.mk index 25b285518..ab247901f 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -9,12 +9,25 @@ INSTALL_SCRIPT= install -m0755 MAKEFLAGS= $(EXTRA_MAKEFLAGS) BUILD_USER= $(shell id -un) BUILD_GROUP= $(shell id -gn) + +# target compiler settings +TARGET_CPPFLAGS+= -I${STAGING_TARGET_DIR}/usr/include +TARGET_LDFLAGS+= -Wl,-O2 ifneq ($(ADK_DEBUG),) TARGET_DEBUGGING:= -g3 -fno-omit-frame-pointer else -TARGET_DEBUGGING:= -fomit-frame-pointer $(TARGET_OPTIMIZATION) +TARGET_DEBUGGING:= $(TARGET_OPTIMIZATION) -fomit-frame-pointer endif TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) $(TARGET_DEBUGGING) -fwrapv +ifneq ($(ADK_TOOLCHAIN_GCC_USE_SSP),) +TARGET_CFLAGS+= -fstack-protector +TARGET_CXXFLAGS+= -fstack-protector +TARGET_LDFLAGS+= -fstack-protector +endif +ifneq ($(ADK_TOOLCHAIN_GCC_USE_LTO),) +TARGET_CFLAGS+= -flto +TARGET_LDFLAGS+= -flto +endif BASE_DIR:= $(TOPDIR) DISTDIR?= ${BASE_DIR}/dl @@ -26,6 +39,9 @@ STAGING_HOST_DIR:= ${BASE_DIR}/host_${CPU_ARCH}_${ADK_TARGET_LIBC} STAGING_HOST_DIR_PFX:= ${BASE_DIR}/host_* STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC} STAGING_TARGET_DIR_PFX:=${BASE_DIR}/target_* +# relation from STAGING_HOST_DIR to STAGING_TARGET_DIR (for gcc to find +# its sysroot while staying relocatable) +STAGING_HOST2TARGET:= ../target_${CPU_ARCH}_${ADK_TARGET_LIBC} TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_LIBC} TOOLCHAIN_BUILD_DIR_PFX=$(BASE_DIR)/toolchain_build_* TOOLS_BUILD_DIR= $(BASE_DIR)/tools_build @@ -36,10 +52,9 @@ BIN_DIR_PFX:= $(BASE_DIR)/bin PACKAGE_DIR:= $(BIN_DIR)/packages TARGET_DIR:= $(BASE_DIR)/root_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC} TARGET_DIR_PFX:= $(BASE_DIR)/root_* -TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_TARGET_DIR}/scripts:${_PATH} +TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH} REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX) GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux -TOOLCHAIN_SYSROOT:= $(TOOLCHAIN_BUILD_DIR)/libc_dev ifeq ($(ADK_NATIVE),y) TARGET_CROSS:= TARGET_COMPILER_PREFIX?= @@ -50,8 +65,6 @@ endif TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc TARGET_CXX:= ${TARGET_COMPILER_PREFIX}g++ TARGET_LD:= ${TARGET_COMPILER_PREFIX}ld -TARGET_CPPFLAGS+= -I${STAGING_TARGET_DIR}/usr/include -TARGET_LDFLAGS+= -Wl,-O2 PATCH= ${BASH} $(SCRIPT_DIR)/patch.sh SED:= sed -i -e LINUX_DIR:= $(BUILD_DIR)/linux @@ -102,19 +115,19 @@ EXTRACT_CMD= mkdir -p ${WRKDIR}; \ cd ${WRKDIR} && \ for file in ${FULLDISTFILES}; do case $$file in \ *.cpio) \ - cat $$file | $(TOPDIR)/bin/tools/cpio -i -d ;; \ + cat $$file | $(TOOLS_DIR)/cpio -i -d ;; \ *.tar) \ tar -xf $$file ;; \ *.cpio.Z | *.cpio.gz | *.cgz | *.mcz) \ - gzip -dc $$file | $(TOPDIR)/bin/tools/cpio -i -d ;; \ + gzip -dc $$file | $(TOOLS_DIR)/cpio -i -d ;; \ *.tar.Z | *.tar.gz | *.taz | *.tgz) \ gzip -dc $$file | tar -xf - ;; \ *.cpio.bz2 | *.cbz) \ - bzip2 -dc $$file | $(TOPDIR)/bin/tools/cpio -i -d ;; \ + bzip2 -dc $$file | $(TOOLS_DIR)/cpio -i -d ;; \ *.tar.bz2 | *.tbz | *.tbz2) \ bzip2 -dc $$file | tar -xf - ;; \ *.zip) \ - cat $$file | $(TOPDIR)/bin/tools/cpio -ivd -H zip ;; \ + cat $$file | $(TOOLS_DIR)/cpio -ivd -H zip ;; \ *.arm) \ cp $$file ${WRKDIR} ;; \ *) \ @@ -127,6 +140,6 @@ QUIET:= else QUIET:= --quiet endif -FETCH_CMD?= wget --tries=1 --timeout=30 $(QUIET) +FETCH_CMD?= wget --timeout=30 $(QUIET) include $(TOPDIR)/mk/mirrors.mk |