]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/mips/Makefile
[PATCH] vmlinux.lds: consolidate initcall sections
[linux-2.6-omap-h63xx.git] / arch / mips / Makefile
index 69b9c1b8fafc6f72bb9dc010b1a4422c20ce6c3e..641aa30b36385a6860f304709d82b5ab7871345a 100644 (file)
@@ -83,14 +83,25 @@ cflags-y                    += -msoft-float
 LDFLAGS_vmlinux                        += -G 0 -static -n -nostdlib
 MODFLAGS                       += -mlong-calls
 
+cflags-y += -ffreestanding
+
 #
 # We explicitly add the endianness specifier if needed, this allows
 # to compile kernels with a toolchain for the other endianness. We
 # carefully avoid to add it redundantly because gcc 3.3/3.4 complains
 # when fed the toolchain default!
 #
-cflags-$(CONFIG_CPU_BIG_ENDIAN)                += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB -D__MIPSEB__)
-cflags-$(CONFIG_CPU_LITTLE_ENDIAN)     += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL -D__MIPSEL__)
+# Certain gcc versions upto gcc 4.1.1 (probably 4.2-subversion as of
+# 2006-10-10 don't properly change the the predefined symbols if -EB / -EL
+# are used, so we kludge that here.  A bug has been filed at
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29413.
+#
+undef-all += -UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__
+undef-all += -UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__
+predef-be += -DMIPSEB -D_MIPSEB -D__MIPSEB -D__MIPSEB__
+predef-le += -DMIPSEL -D_MIPSEL -D__MIPSEL -D__MIPSEL__
+cflags-$(CONFIG_CPU_BIG_ENDIAN)                += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB $(undef-all) $(predef-be))
+cflags-$(CONFIG_CPU_LITTLE_ENDIAN)     += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL $(undef-all) $(predef-le))
 
 cflags-$(CONFIG_SB1XXX_CORELIS)        += $(call cc-option,-mno-sched-prolog) \
                                   -fno-omit-frame-pointer
@@ -278,24 +289,11 @@ cflags-$(CONFIG_MIPS_EV64120)     += -Iinclude/asm-mips/mach-ev64120
 load-$(CONFIG_MIPS_EV64120)    += 0xffffffff80100000
 
 #
-# Galileo EV96100 Board
-#
-core-$(CONFIG_MIPS_EV96100)    += arch/mips/galileo-boards/ev96100/
-cflags-$(CONFIG_MIPS_EV96100)  += -Iinclude/asm-mips/mach-ev96100
-load-$(CONFIG_MIPS_EV96100)    += 0xffffffff80100000
-
-#
-# Globespan IVR eval board with QED 5231 CPU
-#
-core-$(CONFIG_ITE_BOARD_GEN)   += arch/mips/ite-boards/generic/
-core-$(CONFIG_MIPS_IVR)                += arch/mips/ite-boards/ivr/
-load-$(CONFIG_MIPS_IVR)                += 0xffffffff80100000
-
-#
-# ITE 8172 eval board with QED 5231 CPU
+# Wind River PPMC Board (4KC + GT64120)
 #
-core-$(CONFIG_MIPS_ITE8172)    += arch/mips/ite-boards/qed-4n-s01b/
-load-$(CONFIG_MIPS_ITE8172)    += 0xffffffff80100000
+core-$(CONFIG_WR_PPMC)         += arch/mips/gt64120/wrppmc/
+cflags-$(CONFIG_WR_PPMC)               += -Iinclude/asm-mips/mach-wrppmc
+load-$(CONFIG_WR_PPMC)         += 0xffffffff80100000
 
 #
 # For all MIPS, Inc. eval boards
@@ -321,6 +319,7 @@ load-$(CONFIG_MIPS_MALTA)   += 0xffffffff80100000
 # MIPS SEAD board
 #
 core-$(CONFIG_MIPS_SEAD)       += arch/mips/mips-boards/sead/
+cflags-$(CONFIG_MIPS_SEAD)     += -Iinclude/asm-mips/mach-mips
 load-$(CONFIG_MIPS_SEAD)       += 0xffffffff80100000
 
 #
@@ -365,6 +364,7 @@ core-$(CONFIG_PMC_YOSEMITE) += arch/mips/pmc-sierra/yosemite/
 cflags-$(CONFIG_PMC_YOSEMITE)  += -Iinclude/asm-mips/mach-yosemite
 load-$(CONFIG_PMC_YOSEMITE)    += 0xffffffff80100000
 
+#
 # Qemu simulating MIPS32 4Kc
 #
 core-$(CONFIG_QEMU)            += arch/mips/qemu/
@@ -378,6 +378,13 @@ core-$(CONFIG_MOMENCO_OCELOT_3)    += arch/mips/momentum/ocelot_3/
 cflags-$(CONFIG_MOMENCO_OCELOT_3)      += -Iinclude/asm-mips/mach-ocelot3
 load-$(CONFIG_MOMENCO_OCELOT_3)        += 0xffffffff80100000
 
+#
+# Basler eXcite
+#
+core-$(CONFIG_BASLER_EXCITE)   += arch/mips/basler/excite/
+cflags-$(CONFIG_BASLER_EXCITE) += -Iinclude/asm-mips/mach-excite
+load-$(CONFIG_BASLER_EXCITE)   += 0x80100000
+
 #
 # Momentum Jaguar ATX
 #
@@ -394,18 +401,6 @@ load-$(CONFIG_MOMENCO_JAGUAR_ATX)  += 0xffffffff80100000
 #
 core-$(CONFIG_DDB5XXX_COMMON)  += arch/mips/ddb5xxx/common/
 
-#
-# NEC DDB Vrc-5074
-#
-core-$(CONFIG_DDB5074)         += arch/mips/ddb5xxx/ddb5074/
-load-$(CONFIG_DDB5074)         += 0xffffffff80080000
-
-#
-# NEC DDB Vrc-5476
-#
-core-$(CONFIG_DDB5476)         += arch/mips/ddb5xxx/ddb5476/
-load-$(CONFIG_DDB5476)         += 0xffffffff80080000
-
 #
 # NEC DDB Vrc-5477
 #
@@ -468,6 +463,15 @@ libs-$(CONFIG_PNX8550_JBS) += arch/mips/philips/pnx8550/jbs/
 #cflags-$(CONFIG_PNX8550_JBS)  += -Iinclude/asm-mips/mach-pnx8550
 load-$(CONFIG_PNX8550_JBS)     += 0xffffffff80060000
 
+# NEC EMMA2RH boards
+#
+core-$(CONFIG_EMMA2RH)          += arch/mips/emma2rh/common/
+cflags-$(CONFIG_EMMA2RH)        += -Iinclude/asm-mips/mach-emma2rh
+
+# NEC EMMA2RH Mark-eins
+core-$(CONFIG_MARKEINS)         += arch/mips/emma2rh/markeins/
+load-$(CONFIG_MARKEINS)         += 0xffffffff88100000
+
 #
 # SGI IP22 (Indy/Indigo2)
 #
@@ -615,7 +619,10 @@ LDFLAGS                    += -m $(ld-emul)
 ifdef CONFIG_MIPS
 CHECKFLAGS += $(shell $(CC) $(CFLAGS) -dM -E -xc /dev/null | \
        egrep -vw '__GNUC_(MAJOR|MINOR|PATCHLEVEL)__' | \
-       sed -e 's/^\#define /-D/' -e 's/ /="/' -e 's/$$/"/')
+       sed -e 's/^\#define /-D/' -e "s/ /='/" -e "s/$$/'/")
+ifdef CONFIG_64BIT
+CHECKFLAGS             += -m64
+endif
 endif
 
 OBJCOPYFLAGS           += --remove-section=.reginfo
@@ -695,16 +702,14 @@ endif
 vmlinux.bin: $(vmlinux-32)
        +@$(call makeboot,$@)
 
-vmlinux.ecoff vmlinux.rm200: $(vmlinux-32)
+vmlinux.ecoff: $(vmlinux-32)
        +@$(call makeboot,$@)
 
 vmlinux.srec: $(vmlinux-32)
        +@$(call makeboot,$@)
 
 CLEAN_FILES += vmlinux.ecoff \
-              vmlinux.srec \
-              vmlinux.rm200.tmp \
-              vmlinux.rm200
+              vmlinux.srec
 
 archclean:
        @$(MAKE) $(clean)=arch/mips/boot