summaryrefslogtreecommitdiffstats
path: root/cfe/cfe/arch/mips/common/src/tools.mk
diff options
context:
space:
mode:
authorroot <root@lamia.panaceas.james.local>2015-12-19 13:13:57 +0000
committerroot <root@lamia.panaceas.james.local>2015-12-19 14:18:03 +0000
commit1a2238d1bddc823df06f67312d96ccf9de2893cc (patch)
treec58a3944d674a667f133ea5a730f5037e57d3d2e /cfe/cfe/arch/mips/common/src/tools.mk
downloadbootloader-1a2238d1bddc823df06f67312d96ccf9de2893cc.tar.gz
bootloader-1a2238d1bddc823df06f67312d96ccf9de2893cc.tar.bz2
bootloader-1a2238d1bddc823df06f67312d96ccf9de2893cc.zip
CFE from danitool [without hostTools dir]: https://mega.nz/#!mwZyFK7a!CPT3BKC8dEw29kubtdYxhB91G9vIIismTkgzQ3iUy3k
Diffstat (limited to 'cfe/cfe/arch/mips/common/src/tools.mk')
-rwxr-xr-xcfe/cfe/arch/mips/common/src/tools.mk83
1 files changed, 83 insertions, 0 deletions
diff --git a/cfe/cfe/arch/mips/common/src/tools.mk b/cfe/cfe/arch/mips/common/src/tools.mk
new file mode 100755
index 0000000..d195de9
--- /dev/null
+++ b/cfe/cfe/arch/mips/common/src/tools.mk
@@ -0,0 +1,83 @@
+#
+# Basic compiler options and preprocessor flags
+#
+
+CFLAGS += -g -c -ffreestanding
+CFLAGS += -O1 -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes
+
+#
+# Tools locations
+#
+
+ifndef TOOLS
+TOOLS=/opt/toolchains/uclibc-crosstools-gcc-4.4.2-1/usr/bin/mips-linux-
+endif
+
+GCC ?= $(TOOLS)gcc
+GLD ?= $(TOOLS)ld
+AR ?= $(TOOLS)ar
+OBJDUMP ?= $(TOOLS)objdump
+OBJCOPY ?= $(TOOLS)objcopy
+RANLIB ?= $(TOOLS)ranlib
+
+#
+# Check for 64-bit mode
+#
+
+ifeq ($(strip ${CFG_MLONG64}),1)
+ CFLAGS += -mlong64 -D__long64
+endif
+
+#
+# Figure out which linker script to use
+#
+
+ifeq ($(strip ${CFG_RAMAPP}),1)
+ CFLAGS += -DCFG_RAMAPP=1
+ LDFLAGS = -g --script ${ARCH_SRC}/cfe_ramapp.lds
+ CFLAGS += -DCFG_RUNFROMKSEG0=1
+else
+ ifeq ($(strip ${CFG_RELOC}),0)
+ ifeq ($(strip ${CFG_BOOTRAM}),1)
+ CFLAGS += -DCFG_BOOTRAM=1
+ ROMRAM = ram
+ else
+ CFLAGS += -DCFG_BOOTRAM=0
+ ROMRAM = rom
+ endif
+ ifeq ($(strip ${CFG_UNCACHED}),1)
+ CFLAGS += -DCFG_RUNFROMKSEG0=0
+ LDFLAGS = -g --script ${ARCH_SRC}/cfe_${ROMRAM}_uncached.lds
+ else
+ CFLAGS += -DCFG_RUNFROMKSEG0=1
+ LDFLAGS = -g --script ${ARCH_SRC}/cfe_${ROMRAM}_cached.lds
+ endif
+ else
+ CFLAGS += -membedded-pic -mlong-calls -DCFG_EMBEDDED_PIC=1
+ ifeq ($(strip ${CFG_UNCACHED}),1)
+ CFLAGS += -DCFG_RUNFROMKSEG0=0
+ LDFLAGS = -g --script ${ARCH_SRC}/cfe_rom_reloc_uncached.lds --embedded-relocs
+ else
+ CFLAGS += -DCFG_RUNFROMKSEG0=1
+ ifeq ($(strip ${CFG_TEXTAT1MB}),1)
+ LDFLAGS = -g --script ${ARCH_SRC}/cfe_rom_reloc_cached_biendian.lds --embedded-relocs
+ else
+ LDFLAGS = -g --script ${ARCH_SRC}/cfe_rom_reloc_cached.lds --embedded-relocs
+ endif
+ endif
+ endif
+endif
+#
+# Determine target endianness
+#
+
+ifeq ($(strip ${CFG_LITTLE}),1)
+ ENDIAN = -EL
+ CFLAGS += -EL
+ LDFLAGS += -EL
+else
+ ENDIAN = -EB
+ CFLAGS += -EB
+ LDFLAGS += -EB
+endif
+