summaryrefslogtreecommitdiff
path: root/mk/vars.mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk/vars.mk')
-rw-r--r--mk/vars.mk36
1 files changed, 27 insertions, 9 deletions
diff --git a/mk/vars.mk b/mk/vars.mk
index 2be0c33cb..91dfc700e 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -168,6 +168,10 @@ ifeq ($(ADK_TARGET_ARCH_MIPS),y)
TARGET_CFLAGS+= -m$(ADK_TARGET_FLOAT)-float
TARGET_CXXFLAGS+= -m$(ADK_TARGET_FLOAT)-float
endif
+ifeq ($(ADK_TARGET_ARCH_OR1K),y)
+TARGET_CFLAGS+= -m$(ADK_TARGET_FLOAT)-float
+TARGET_CXXFLAGS+= -m$(ADK_TARGET_FLOAT)-float
+endif
endif
ifeq ($(ADK_TARGET_BINFMT_FLAT),y)
@@ -198,6 +202,13 @@ ifneq ($(ADK_TARGET_USE_LD_BIND_NOW),)
TARGET_LDFLAGS+= -Wl,-z,now
endif
+ifeq ($(ADK_TARGET_ARCH_RISCV64)$(ADK_TARGET_ARCH_RISCV32),y)
+ifeq ($(ADK_TARGET_BINFMT_FLAT),y)
+TARGET_CFLAGS+= -fPIC
+TARGET_CXXFLAGS+= -fPIC
+endif
+endif
+
# needed for musl ppc
ifeq ($(ADK_TARGET_ARCH_PPC),y)
ifeq ($(ADK_TARGET_LIB_MUSL),y)
@@ -205,11 +216,17 @@ TARGET_LDFLAGS+= -Wl,--secure-plt
endif
endif
+ifneq ($(ADK_TARGET_BINFMT_ELF)$(ADK_TARGET_WITH_MMU),y)
ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY)$(ADK_TARGET_USE_STATIC_AND_SHARED_LIBS),y)
TARGET_CFLAGS+= -static
TARGET_CXXFLAGS+= -static
TARGET_LDFLAGS+= -static
endif
+else
+TARGET_CFLAGS+= -fpie
+TARGET_CXXFLAGS+= -fpie
+TARGET_LDFLAGS+= -fpie -pie
+endif
ifneq ($(ADK_TARGET_USE_SSP),)
TARGET_CFLAGS+= -fstack-protector-all --param=ssp-buffer-size=4
@@ -280,8 +297,8 @@ endif
# workaround gcc bug for m68k/coldfire
ifeq ($(ADK_TARGET_CPU_CF),y)
-TARGET_CFLAGS+= -fno-dwarf2-cfi-asm
-TARGET_CXXFLAGS+= -fno-dwarf2-cfi-asm
+TARGET_CFLAGS+= -fno-dwarf2-cfi-asm -mxgot
+TARGET_CXXFLAGS+= -fno-dwarf2-cfi-asm -mxgot
endif
ifeq ($(ADK_TARGET_ARCH_ARM),y)
@@ -298,13 +315,15 @@ TARGET_CXXFLAGS+= -marm
endif
endif
+ifeq ($(ADK_TARGET_BINFMT_FDPIC),y)
+TARGET_CFLAGS+= -mfdpic
+TARGET_CXXFLAGS+= -mfdpic
+TARGET_LDFLAGS+= -mfdpic
+endif
+
# host compiler and linker flags
HOST_CPPFLAGS:= -I$(STAGING_HOST_DIR)/usr/include
-ifeq ($(OS_FOR_BUILD),Darwin)
-HOST_LDFLAGS:= -L$(STAGING_HOST_DIR)/usr/lib
-else
HOST_LDFLAGS:= -L$(STAGING_HOST_DIR)/usr/lib -Wl,-rpath -Wl,${STAGING_HOST_DIR}/usr/lib
-endif
ifneq (${ADK_UPDATE_PATCHES_GIT},)
PATCH= PATH='${HOST_PATH}' ${BASH} $(SCRIPT_DIR)/patch_git.sh
@@ -316,11 +335,10 @@ PATCHP0= PATH='${HOST_PATH}' patch -p0
ifeq ($(ADK_STATIC_TOOLCHAIN),y)
HOST_STATIC_CFLAGS:= -static -Wl,-static
HOST_STATIC_CXXFLAGS:= -static -Wl,-static
-HOST_STATIC_LDFLAGS:= -Wl,-static
+HOST_STATIC_LDFLAGS:= -Wl,-static -all-static
endif
SED:= PATH='${HOST_PATH}' sed -i -e
-XZ:= PATH='${HOST_PATH}' xz
CPIO:= PATH='${HOST_PATH}' cpio
LINUX_DIR:= $(BUILD_DIR)/$(ADK_TARGET_OS)
KERNEL_MODULE_FLAGS:= ARCH=${ADK_TARGET_KARCH} \
@@ -404,7 +422,7 @@ PKG_INSTALL:= PATH='${HOST_PATH}' \
PKG_STATE_DIR:= $(TARGET_DIR)/usr/lib/opkg
endif
-ifeq ($(ADK_TARGET_PACKAGE_TXZ),y)
+ifeq ($(ADK_TARGET_PACKAGE_TGZ),y)
PKG_BUILD:= ${BASH} ${SCRIPT_DIR}/tarpkg build
PKG_INSTALL:= PKG_INSTROOT='$(TARGET_DIR)' \
PATH='${HOST_PATH}' ${BASH} ${SCRIPT_DIR}/tarpkg install