xref: /rk3399_rockchip-uboot/arch/mips/config.mk (revision 0ddc9c172279f686077310fbcfa5baf10c719188)
1ea0364f1SPeter Tyser#
2ea0364f1SPeter Tyser# (C) Copyright 2003
3ea0364f1SPeter Tyser# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4ea0364f1SPeter Tyser#
51a459660SWolfgang Denk# SPDX-License-Identifier:	GPL-2.0+
6ea0364f1SPeter Tyser#
7ea0364f1SPeter Tyser
8837cad1eSDaniel Schwierzeckifdef CONFIG_SYS_BIG_ENDIAN
9837cad1eSDaniel Schwierzeck32bit-emul		:= elf32btsmip
10837cad1eSDaniel Schwierzeck64bit-emul		:= elf64btsmip
11837cad1eSDaniel Schwierzeck32bit-bfd		:= elf32-tradbigmips
12837cad1eSDaniel Schwierzeck64bit-bfd		:= elf64-tradbigmips
13837cad1eSDaniel SchwierzeckPLATFORM_CPPFLAGS	+= -EB
14837cad1eSDaniel SchwierzeckPLATFORM_LDFLAGS	+= -EB
152c0e3de3SDaniel Schwierzeckendif
162c0e3de3SDaniel Schwierzeck
172c0e3de3SDaniel Schwierzeckifdef CONFIG_SYS_LITTLE_ENDIAN
18837cad1eSDaniel Schwierzeck32bit-emul		:= elf32ltsmip
19837cad1eSDaniel Schwierzeck64bit-emul		:= elf64ltsmip
20837cad1eSDaniel Schwierzeck32bit-bfd		:= elf32-tradlittlemips
21837cad1eSDaniel Schwierzeck64bit-bfd		:= elf64-tradlittlemips
22837cad1eSDaniel SchwierzeckPLATFORM_CPPFLAGS	+= -EL
23837cad1eSDaniel SchwierzeckPLATFORM_LDFLAGS	+= -EL
242c0e3de3SDaniel Schwierzeckendif
252c0e3de3SDaniel Schwierzeck
26837cad1eSDaniel Schwierzeckifdef CONFIG_32BIT
27837cad1eSDaniel SchwierzeckPLATFORM_CPPFLAGS	+= -mabi=32
28837cad1eSDaniel SchwierzeckPLATFORM_LDFLAGS	+= -m $(32bit-emul)
29837cad1eSDaniel SchwierzeckOBJCOPYFLAGS		+= -O $(32bit-bfd)
302c0e3de3SDaniel Schwierzeckendif
312c0e3de3SDaniel Schwierzeck
32837cad1eSDaniel Schwierzeckifdef CONFIG_64BIT
33837cad1eSDaniel SchwierzeckPLATFORM_CPPFLAGS	+= -mabi=64
34837cad1eSDaniel SchwierzeckPLATFORM_LDFLAGS	+= -m$(64bit-emul)
35837cad1eSDaniel SchwierzeckOBJCOPYFLAGS		+= -O $(64bit-bfd)
36837cad1eSDaniel Schwierzeckendif
37837cad1eSDaniel Schwierzeck
3890f984e3SMasahiro YamadaPLATFORM_CPPFLAGS += -D__MIPS__
3947cf465cSÁlvaro Fernández RojasPLATFORM_ELFENTRY = "__start"
4047cf465cSÁlvaro Fernández RojasPLATFORM_ELFFLAGS += -B mips $(OBJCOPYFLAGS)
41ea0364f1SPeter Tyser
42ea0364f1SPeter Tyser#
43ea0364f1SPeter Tyser# From Linux arch/mips/Makefile
44ea0364f1SPeter Tyser#
45ea0364f1SPeter Tyser# GCC uses -G 0 -mabicalls -fpic as default.  We don't want PIC in the kernel
46ea0364f1SPeter Tyser# code since it only slows down the whole thing.  At some point we might make
47ea0364f1SPeter Tyser# use of global pointer optimizations but their use of $28 conflicts with
48ea0364f1SPeter Tyser# the current pointer optimization.
49ea0364f1SPeter Tyser#
50ea0364f1SPeter Tyser# The DECStation requires an ECOFF kernel for remote booting, other MIPS
51ea0364f1SPeter Tyser# machines may also.  Since BFD is incredibly buggy with respect to
52ea0364f1SPeter Tyser# crossformat linking we rely on the elf2ecoff tool for format conversion.
53ea0364f1SPeter Tyser#
54ea0364f1SPeter Tyser# cflags-y			+= -G 0 -mno-abicalls -fno-pic -pipe
55ea0364f1SPeter Tyser# cflags-y			+= -msoft-float
56ea0364f1SPeter Tyser# LDFLAGS_vmlinux		+= -G 0 -static -n -nostdlib
57ea0364f1SPeter Tyser# MODFLAGS			+= -mlong-calls
58ea0364f1SPeter Tyser#
59*703ec9ddSPaul Burtonifndef CONFIG_SPL_BUILD
60*703ec9ddSPaul BurtonOBJCOPYFLAGS			+= -j .got -j .rel -j .padding -j .dtb.init.rodata
61*703ec9ddSPaul BurtonLDFLAGS_FINAL			+= --emit-relocs
62e92d9124SDaniel Schwierzeckendif
63e92d9124SDaniel Schwierzeck
64*703ec9ddSPaul BurtonPLATFORM_CPPFLAGS		+= -G 0 -mno-abicalls -fno-pic
65ea0364f1SPeter TyserPLATFORM_CPPFLAGS		+= -msoft-float
66837cad1eSDaniel SchwierzeckPLATFORM_LDFLAGS		+= -G 0 -static -n -nostdlib
67660da094SDaniel SchwierzeckPLATFORM_RELFLAGS		+= -ffunction-sections -fdata-sections
68*703ec9ddSPaul BurtonLDFLAGS_FINAL			+= --gc-sections
6907f5b966SDaniel SchwierzeckOBJCOPYFLAGS			+= -j .text -j .rodata -j .data -j .u_boot_list
70