Fix and cleanup config.mk, use -mtune=34kc by default
authorPiotr Dymacz <pepe2k@gmail.com>
Mon, 10 Apr 2017 14:19:06 +0000 (16:19 +0200)
committerPiotr Dymacz <pepe2k@gmail.com>
Tue, 11 Apr 2017 14:11:42 +0000 (16:11 +0200)
u-boot/config.mk
u-boot/cpu/mips/config.mk

index 69ffca4b796c874ace8f2f22ed84a71dcd4ab5f7..2199e1a1b56906ada84f26718892346d511f4356 100644 (file)
 # clean the slate ...
 PLATFORM_RELFLAGS =
 PLATFORM_CPPFLAGS =
-PLATFORM_LDFLAGS =
+PLATFORM_LDFLAGS  =
 
-#
-# When cross-compiling on NetBSD, we have to define __PPC__ or else we
-# will pick up a va_list declaration that is incompatible with the
-# actual argument lists emitted by the compiler.
-#
-# [Tested on NetBSD/i386 1.5 + cross-powerpc-netbsd-1.3]
-
-ifeq ($(ARCH),ppc)
-ifeq ($(CROSS_COMPILE),powerpc-netbsd-)
-PLATFORM_CPPFLAGS+= -D__PPC__
-endif
-ifeq ($(CROSS_COMPILE),powerpc-openbsd-)
-PLATFORM_CPPFLAGS+= -D__PPC__
-endif
+# include architecture dependend rules
+ifdef ARCH
+  sinclude $(TOPDIR)/$(ARCH)_config.mk
 endif
 
-ifeq ($(ARCH),arm)
-ifeq ($(CROSS_COMPILE),powerpc-netbsd-)
-PLATFORM_CPPFLAGS+= -D__ARM__
-endif
-ifeq ($(CROSS_COMPILE),powerpc-openbsd-)
-PLATFORM_CPPFLAGS+= -D__ARM__
-endif
+# include CPU specific rules
+ifdef CPU
+  sinclude $(TOPDIR)/cpu/$(CPU)/config.mk
 endif
 
-ifeq ($(ARCH),blackfin)
-PLATFORM_CPPFLAGS+= -D__BLACKFIN__ -mno-underscore
+# include SoC specific rules
+ifdef SOC
+  sinclude $(TOPDIR)/cpu/$(CPU)/$(SOC)/config.mk
 endif
 
-ifdef  ARCH
-sinclude $(TOPDIR)/$(ARCH)_config.mk   # include architecture dependend rules
-endif
-ifdef  CPU
-sinclude $(TOPDIR)/cpu/$(CPU)/config.mk        # include  CPU  specific rules
-endif
-ifdef  SOC
-sinclude $(TOPDIR)/cpu/$(CPU)/$(SOC)/config.mk # include  SoC  specific rules
-endif
-ifdef  VENDOR
-BOARDDIR = $(VENDOR)/$(BOARD)
+# include vendor/board specific rules
+ifdef VENDOR
+  BOARDDIR = $(VENDOR)/$(BOARD)
 else
-BOARDDIR = $(BOARD)
+  BOARDDIR = $(BOARD)
 endif
-ifdef  BOARD
-sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk # include board specific rules
+
+ifdef BOARD
+  sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk
 endif
 
 #########################################################################
 
-CONFIG_SHELL   := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
-                   else if [ -x /bin/bash ]; then echo /bin/bash; \
-                   else echo sh; fi ; fi)
+CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH;          \
+                       else if [ -x /bin/bash ]; then echo /bin/bash; \
+                       else echo sh; fi; fi)
 
 ifeq ($(HOSTOS)-$(HOSTARCH),darwin-ppc)
-HOSTCC         = cc
+  HOSTCC = cc
 else
-HOSTCC         = gcc
+  HOSTCC = gcc
 endif
-HOSTCFLAGS     = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
-HOSTSTRIP      = strip
 
-COMPRESS    = lzma
+HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
+HOSTSTRIP  = strip
+
 #########################################################################
-#
-# Option checker (courtesy linux kernel) to ensure
-# only supported compiler options are used
-#
-cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \
-               > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
 
-#
 # Include the make variables (CC, etc...)
-#
-AS     = $(CROSS_COMPILE)as
-LD     = $(CROSS_COMPILE)ld
-CC     = $(CROSS_COMPILE)gcc
-CPP    = $(CC) -E
-AR     = $(CROSS_COMPILE)ar
-NM     = $(CROSS_COMPILE)nm
-STRIP  = $(CROSS_COMPILE)strip
+AS      = $(CROSS_COMPILE)as
+LD      = $(CROSS_COMPILE)ld
+CC      = $(CROSS_COMPILE)gcc
+CPP     = $(CC) -E
+AR      = $(CROSS_COMPILE)ar
+NM      = $(CROSS_COMPILE)nm
+STRIP   = $(CROSS_COMPILE)strip
 OBJCOPY = $(CROSS_COMPILE)objcopy
 OBJDUMP = $(CROSS_COMPILE)objdump
-RANLIB = $(CROSS_COMPILE)RANLIB
+RANLIB  = $(CROSS_COMPILE)RANLIB
 
 .depend : CC = @$(CROSS_COMPILE)gcc
 
-RELFLAGS= $(PLATFORM_RELFLAGS)
-OPTFLAGS= -O
+RELFLAGS = $(PLATFORM_RELFLAGS)
+OPTFLAGS = -O
+
 ifndef LDSCRIPT
-LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
+  LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
 endif
-OBJCFLAGS += --gap-fill=0xff
+LDFLAGS += -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
 
-LDSCRIPT_BOOTSTRAP := $(TOPDIR)/board/$(BOARDDIR)/u-boot-bootstrap.lds
+ifdef COMPRESSED_UBOOT
+  ifndef LDSCRIPT_BOOTSTRAP
+    LDSCRIPT_BOOTSTRAP := $(TOPDIR)/board/$(BOARDDIR)/u-boot-bootstrap.lds
+  endif
+  LDFLAGS_BOOTSTRAP := -Bstatic -T $(LDSCRIPT_BOOTSTRAP)
+  LDFLAGS_BOOTSTRAP += -Ttext $(BOOTSTRAP_TEXT_BASE) $(PLATFORM_LDFLAGS)
+endif
+
+OBJCFLAGS += --gap-fill=0xff
 
 gccincdir := $(shell $(CC) -print-file-name=include)
 
-CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS)                \
-       -D__KERNEL__ -DTEXT_BASE=$(TEXT_BASE)           \
-       -I$(TOPDIR)/include                             \
-       -fno-builtin -ffreestanding -nostdinc -isystem  \
-       $(gccincdir) -pipe $(PLATFORM_CPPFLAGS)
+CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS)            \
+           -D__KERNEL__ -DTEXT_BASE=$(TEXT_BASE)          \
+           -I$(TOPDIR)/include                            \
+           -fno-builtin -ffreestanding -nostdinc -isystem \
+           $(gccincdir) -pipe $(PLATFORM_CPPFLAGS)
 
-ifdef BUILD_TAG
-CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes \
-       -DBUILD_TAG='"$(BUILD_TAG)"'
-else
 CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes
+
 ifdef COMPRESSED_UBOOT
-CFLAGS += -DCOMPRESSED_UBOOT=1
+  CFLAGS += -DCOMPRESSED_UBOOT=1
 endif
 
 ifeq ($(BUILD_OPTIMIZED),y)
-CFLAGS += -Os -funit-at-a-time -mips32r2 -mtune=mips32r2
-endif
+  CFLAGS += -Os -fno-reorder-functions
+  CPPFLAGS += -Os -fno-reorder-functions
 endif
 
-ifeq ($(BUILD_TYPE),jffs2)
-CFLAGS += -DROOTFS=1
-else
-ifeq ($(BUILD_TYPE),squashfs)
-CFLAGS += -DROOTFS=2
-endif
-endif
-
-# 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
-
-ifeq ($(BUILD_TYPE),jffs2)
-CFLAGS += -DROOTFS=1
-else
-ifeq ($(BUILD_TYPE),squashfs)
-CFLAGS += -DROOTFS=2
-endif
-endif
-
-AFLAGS_DEBUG := -Wa,-gstabs
-
+AFLAGS_DEBUG :=
 AFLAGS := $(AFLAGS_DEBUG) -D__ASSEMBLY__ $(CPPFLAGS)
-ifdef COMPRESSED_UBOOT
-AFLAGS += -DCOMPRESSED_UBOOT=1
-endif
-
-LDFLAGS += -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
 
 ifdef COMPRESSED_UBOOT
-LDFLAGS_BOOTSTRAP += -Bstatic -T $(LDSCRIPT_BOOTSTRAP) -Ttext $(BOOTSTRAP_TEXT_BASE) $(PLATFORM_LDFLAGS)
+  AFLAGS += -DCOMPRESSED_UBOOT=1
 endif
 
-# Location of a usable BFD library, where we define "usable" as
-# "built for ${HOST}, supports ${TARGET}".  Sensible values are
-# - When cross-compiling: the root of the cross-environment
-# - Linux/ppc (native): /usr
-# - NetBSD/ppc (native): you lose ... (must extract these from the
-#   binutils build directory, plus the native and U-Boot include
-#   files don't like each other)
-#
-# So far, this is used only by tools/gdb/Makefile.
-
-ifeq ($(HOSTOS)-$(HOSTARCH),darwin-ppc)
-BFD_ROOT_DIR =         /usr/local/tools
-else
-ifeq ($(HOSTARCH),$(ARCH))
-# native
-BFD_ROOT_DIR =         /usr
-else
-#BFD_ROOT_DIR =                /LinuxPPC/CDK           # Linux/i386
-#BFD_ROOT_DIR =                /usr/pkg/cross          # NetBSD/i386
-BFD_ROOT_DIR =         /opt/powerpc
-endif
-endif
-
-ifeq ($(PCI_CLOCK),PCI_66M)
-CFLAGS := $(CFLAGS) -DPCI_66M
-endif
-
-#CFLAGS += $(UBOOT_GCC_4_3_3_EXTRA_CFLAGS) -g
-CFLAGS += $(UBOOT_GCC_4_3_3_EXTRA_CFLAGS)
-
 #########################################################################
 
-export CONFIG_SHELL HPATH HOSTCC HOSTCFLAGS CROSS_COMPILE \
-       AS LD CC CPP AR NM STRIP OBJCOPY OBJDUMP \
-       MAKE
-export TEXT_BASE PLATFORM_CPPFLAGS PLATFORM_RELFLAGS CPPFLAGS CFLAGS AFLAGS
+export AFLAGS AR AS CC CFLAGS CONFIG_SHELL CPP CPPFLAGS CROSS_COMPILE HOSTCC \
+       HOSTCFLAGS HPATH LD MAKE NM OBJCOPY OBJDUMP PLATFORM_CPPFLAGS         \
+       PLATFORM_RELFLAGS STRIP TEXT_BASE
 
 ifeq ($(V),1)
   Q =
index 21728ca2fd8ad452acafcb16b4eb0ba8c3e0a176..e9b86b41388159a7262273f81d726e11eeebc69d 100644 (file)
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 # MA 02111-1307 USA
 #
-#v=$(shell \
-mips-openwrt-linux-uclibc-as --version|grep "GNU assembler"|awk '{print $$3}'|awk -F . '{print $$2}')
 
-v=22
-MIPSFLAGS=$(shell \
-if [ "$v" -lt "14" ]; then \
-       echo "-mcpu=mips32"; \
-else \
-       echo "-mips32 -march=mips32 -mtune=mips32"; \
-fi)
-
-ifndef ENDIANNESS
-ifneq (,$(findstring 4KCle,$(CROSS_COMPILE)))
-ENDIANNESS = -EL
-else
-ENDIANNESS = -EB
-endif
-endif
-
-#PLATFORM_CPPFLAGS      += -G 0 -mabicalls -fpic -g
-PLATFORM_CPPFLAGS      += -G 0 -mabicalls -fpic
-PLATFORM_CPPFLAGS      += -msoft-float
-PLATFORM_LDFLAGS       += -G 0 -static -n -nostdlib
-MIPSFLAGS += $(ENDIANNESS) -fno-schedule-insns -fno-schedule-insns2
+MIPSFLAGS := -fno-schedule-insns -fno-schedule-insns2
+MIPSFLAGS += -mips32r2 -march=mips32r2 -mtune=34kc
 
+PLATFORM_CPPFLAGS += -G 0 -mabicalls -fpic -msoft-float
 PLATFORM_CPPFLAGS += $(MIPSFLAGS)
+
+PLATFORM_LDFLAGS += -G 0 -static -n -nostdlib