summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2007-06-26 16:36:31 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2007-06-26 16:36:31 +0000
commite252fa9385fb46e8cfee3991b90448e3b66ea452 (patch)
tree05c2629017b499d5914f8a764ea03ee04d6e5506 /target
parent5dd91e234e32bca04fb4bf0384fb14b556e64b1a (diff)
downloadbuildroot-novena-e252fa9385fb46e8cfee3991b90448e3b66ea452.tar.gz
buildroot-novena-e252fa9385fb46e8cfee3991b90448e3b66ea452.zip
- filter out eventual -fPIC -fpic -DPIC flags from the target cflags
Honor the .config setting for KCONFIG and FORMAT iff not imposed by the target/device. If they are not set in the config, the defaults (zImage etc) still apply.
Diffstat (limited to 'target')
-rw-r--r--target/linux26.mk27
1 files changed, 21 insertions, 6 deletions
diff --git a/target/linux26.mk b/target/linux26.mk
index 0db0d1eac..9c91ac84c 100644
--- a/target/linux26.mk
+++ b/target/linux26.mk
@@ -24,6 +24,25 @@ LINUX26_SITE=http://ftp.kernel.org/pub/linux/kernel/v2.6
#LINUX26_FORMAT=vmlinux
#LINUX26_BINLOC=$(LINUX26_FORMAT)
+# Linux kernel configuration file
+# Has to be set by the target/device
+# If it is not set by the target/device, then pick the one from .config
+# LINUX26_KCONFIG=$(BR2_BOARD_PATH)/linux26.config
+ifndef LINUX26_KCONFIG
+ifneq ($(strip $(subst ",,$(BR2_PACKAGE_LINUX_KCONFIG))),)
+LINUX26_KCONFIG=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_KCONFIG)))
+#"))
+#"))
+endif
+endif
+ifndef LINUX26_FORMAT
+ifneq ($(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT))),)
+LINUX26_FORMAT=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT)))
+#"))
+#"))
+endif
+endif
+
# Has to be set by the target/device
# LINUX26_FORMAT=bzImage
ifndef LINUX26_FORMAT
@@ -35,10 +54,6 @@ ifndef LINUX26_BINLOC
LINUX26_BINLOC=arch/$(KERNEL_ARCH)/boot/$(LINUX26_FORMAT)
endif
-# Linux kernel configuration file
-# Has to be set by the target/device
-# LINUX26_KCONFIG=$(BR2_BOARD_PATH)/linux26.config
-
# File name for the Linux kernel binary
LINUX26_KERNEL=linux-kernel-$(LINUX26_VERSION)-$(KERNEL_ARCH)
@@ -52,10 +67,10 @@ LINUX_KERNEL=$(LINUX26_KERNEL)
# kernel patches
LINUX26_PATCH_DIR=$(BR2_BOARD_PATH)/kernel-patches/
-
+__LINUX26_NO_PIC=-fPIC -fpic -DPIC
LINUX26_MAKE_FLAGS = HOSTCC="$(HOSTCC)" HOSTCFLAGS=$(HOSTCFLAGS) \
ARCH=$(KERNEL_ARCH) \
- CFLAGS_KERNEL="$(TARGET_CFLAGS)" \
+ CFLAGS_KERNEL="$(filter-out $(__LINUX26_NO_PIC),$(TARGET_CFLAGS))" \
INSTALL_MOD_PATH=$(TARGET_DIR) \
CROSS_COMPILE=$(KERNEL_CROSS)