summaryrefslogtreecommitdiff
path: root/mk/vars.mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk/vars.mk')
-rw-r--r--mk/vars.mk94
1 files changed, 65 insertions, 29 deletions
diff --git a/mk/vars.mk b/mk/vars.mk
index ab247901f..1bc167e52 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -10,24 +10,6 @@ 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:= $(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
@@ -56,35 +38,89 @@ TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_
REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux
ifeq ($(ADK_NATIVE),y)
-TARGET_CROSS:=
+TARGET_CROSS:=
TARGET_COMPILER_PREFIX?=
else
TARGET_CROSS:= $(STAGING_HOST_DIR)/bin/$(REAL_GNU_TARGET_NAME)-
TARGET_COMPILER_PREFIX?=${TARGET_CROSS}
endif
+
+# target compiler flags
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_CFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts
+TARGET_CXXFLAGS:=
+TARGET_LDFLAGS:= -Wl,-O2 -Wl,-rpath -Wl,/usr/lib \
+ -Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib \
+ -L${STAGING_TARGET_DIR}/lib -L${STAGING_TARGET_DIR}/usr/lib
+
+ifneq ($(ADK_STATIC),)
+TARGET_CFLAGS+= -static
+TARGET_CXXFLAGS+= -static
+TARGET_LDFLAGS+= -static
+endif
+
+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
+
+ifneq ($(ADK_DEBUG),)
+TARGET_CPPFLAGS+= -DNDEBUG
+TARGET_CFLAGS+= -g3 -fno-omit-frame-pointer
+else
+TARGET_CFLAGS+= -fomit-frame-pointer $(TARGET_OPTIMIZATION)
+endif
+
+ifneq ($(ADK_NATIVE),)
+TARGET_CPPFLAGS:=
+TARGET_CFLAGS:= $(TARGET_OPTIMIZATION) $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts
+TARGET_LDFLAGS:=
+endif
+
+# host compiler flags
+CPPFLAGS_FOR_BUILD?=
+CFLAGS_FOR_BUILD?= -O2 -Wall
+CXXFLAGS_FOR_BUILD?= -O2 -Wall
+LDFLAGS_FOR_BUILD?=
+FLAGS_FOR_BUILD:= ${CPPFLAGS_FOR_BUILD} ${CFLAGS_FOR_BUILD} ${LDFLAGS_FOR_BUILD}
+
PATCH= ${BASH} $(SCRIPT_DIR)/patch.sh
SED:= sed -i -e
LINUX_DIR:= $(BUILD_DIR)/linux
LINUX_HEADER_DIR:= $(STAGING_TARGET_DIR)/linux-header
+KERNEL_MODULE_FLAGS:= ARCH=${ARCH} KERNELVERSION="2.6" \
+ KERNEL_PATH=${LINUX_DIR} KERNELDIR=${LINUX_DIR} KERNEL_DIR=${LINUX_DIR} \
+ PREFIX=/usr CROSS_COMPILE="${TARGET_CROSS}" \
+ CFLAGS_MODULE="-fhonour-copts" V=1
+
TARGET_CONFIGURE_OPTS= PATH='${TARGET_PATH}' \
- AR=$(TARGET_CROSS)ar \
- AS=$(TARGET_CROSS)as \
- LD=$(TARGET_CROSS)ld \
- NM=$(TARGET_CROSS)nm \
- RANLIB=$(TARGET_CROSS)ranlib \
+ AR='$(TARGET_CROSS)ar' \
+ AS='$(TARGET_CROSS)as' \
+ LD='$(TARGET_CROSS)ld' \
+ NM='$(TARGET_CROSS)nm' \
+ RANLIB='$(TARGET_CROSS)ranlib' \
+ STRIP='${TARGET_CROSS}strip' \
+ OBJCOPY='${TARGET_CROSS}objcopy' \
CC='$(TARGET_CC)' \
GCC='$(TARGET_CC)' \
CXX='$(TARGET_CXX)' \
CROSS='$(TARGET_CROSS)'
-HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${HOSTCC}' \
- BUILD_CC='${HOSTCC}' \
- CFLAGS_FOR_BUILD='${HOSTCFLAGS}' \
- CPPFLAGS_FOR_BUILD='${HOSTCPPFLAGS}' \
- LDFLAGS_FOR_BUILD='${HOSTLDFLAGS}'
+
+HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${CC_FOR_BUILD}' \
+ CPPFLAGS_FOR_BUILD='${CPPFLAGS_FOR_BUILD}' \
+ CFLAGS_FOR_BUILD='${CFLAGS_FOR_BUILD}' \
+ LDFLAGS_FOR_BUILD='${LDFLAGS_FOR_BUILD}'
PKG_SUFFIX:= $(strip $(subst ",, $(ADK_PACKAGE_SUFFIX)))