]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - config.mk
avr32: Print unrelocated PC on exception
[karo-tx-uboot.git] / config.mk
index 1a61dbb7fa0c78797f54f085fd98a1acbd61bc93..eb95093f46465a8b984ce871d70218418615989a 100644 (file)
--- a/config.mk
+++ b/config.mk
@@ -64,9 +64,17 @@ HOSTSTRIP    = strip
 #
 
 ifeq ($(HOSTOS),darwin)
-HOSTCC         = cc
-HOSTCFLAGS     += -traditional-cpp
-HOSTLDFLAGS    += -multiply_defined suppress
+# get major and minor product version (e.g. '10' and '6' for Snow Leopard)
+DARWIN_MAJOR_VERSION   = $(shell sw_vers -productVersion | cut -f 1 -d '.')
+DARWIN_MINOR_VERSION   = $(shell sw_vers -productVersion | cut -f 2 -d '.')
+
+os_x_before    = $(shell if [ $(DARWIN_MAJOR_VERSION) -le $(1) -a \
+       $(DARWIN_MINOR_VERSION) -le $(2) ] ; then echo "$(3)"; else echo "$(4)"; fi ;)
+
+# Snow Leopards build environment has no longer restrictions as described above
+HOSTCC          = $(call os_x_before, 10, 5, "cc", "gcc")
+HOSTCFLAGS     += $(call os_x_before, 10, 4, "-traditional-cpp")
+HOSTLDFLAGS    += $(call os_x_before, 10, 5, "-multiply_defined suppress")
 else
 HOSTCC         = gcc
 endif
@@ -112,9 +120,14 @@ sinclude $(OBJTREE)/include/autoconf.mk
 
 # Some architecture config.mk files need to know what CPUDIR is set to,
 # so calculate CPUDIR before including ARCH/SOC/CPU config.mk files.
-CPUDIR=cpu/$(CPU)
+# Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains
+# CPU-specific code.
+CPUDIR=arch/$(ARCH)/cpu/$(CPU)
+ifneq ($(SRCTREE)/$(CPUDIR),$(wildcard $(SRCTREE)/$(CPUDIR)))
+CPUDIR=arch/$(ARCH)/cpu
+endif
 
-sinclude $(TOPDIR)/lib_$(ARCH)/config.mk       # include architecture dependend rules
+sinclude $(TOPDIR)/arch/$(ARCH)/config.mk      # include architecture dependend rules
 sinclude $(TOPDIR)/$(CPUDIR)/config.mk         # include  CPU  specific rules
 
 ifdef  SOC
@@ -178,14 +191,6 @@ endif
 
 CFLAGS += $(call cc-option,-fno-stack-protector)
 
-# avoid trigraph warnings while parsing pci.h (produced by NIOS gcc-2.9)
-# this option have to be placed behind -Wall -- that's why it is here
-ifeq ($(ARCH),nios)
-ifeq ($(findstring 2.9,$(shell $(CC) --version)),2.9)
-CFLAGS := $(CPPFLAGS) -Wall -Wno-trigraphs
-endif
-endif
-
 # $(CPPFLAGS) sets -g, which causes gcc to pass a suitable -g<format>
 # option to the assembler.
 AFLAGS_DEBUG :=