📄 config.mk
字号:
## (C) Copyright 2000# Wolfgang Denk, DENX Software Engineering, wd@denx.de.## See file CREDITS for list of people who contributed to this# project.## This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License as# published by the Free Software Foundation; either version 2 of# the License, or (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston,# MA 02111-1307 USA########################################################################### clean the slate ...PLATFORM_RELFLAGS =PLATFORM_CPPFLAGS =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__endififeq ($(CROSS_COMPILE),powerpc-openbsd-)PLATFORM_CPPFLAGS+= -D__PPC__endifendififeq ($(ARCH),arm)ifeq ($(CROSS_COMPILE),powerpc-netbsd-)PLATFORM_CPPFLAGS+= -D__ARM__endififeq ($(CROSS_COMPILE),powerpc-openbsd-)PLATFORM_CPPFLAGS+= -D__ARM__endifendififdef ARCHsinclude $(TOPDIR)/$(ARCH)_config.mk # include architecture dependend rulesendififdef CPUsinclude $(TOPDIR)/cpu/$(CPU)/config.mk # include CPU specific rulesendififdef VENDORBOARDDIR = $(VENDOR)/$(BOARD)elseBOARDDIR = $(BOARD)endififdef BOARDsinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk # include board specific rulesendif#########################################################################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 = ccelseHOSTCC = gccendifHOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointerHOSTSTRIP = strip########################################################################### Include the make variables (CC, etc...)#AS = $(CROSS_COMPILE)asLD = $(CROSS_COMPILE)ldCC = $(CROSS_COMPILE)gccCPP = $(CC) -EAR = $(CROSS_COMPILE)arNM = $(CROSS_COMPILE)nmSTRIP = $(CROSS_COMPILE)stripOBJCOPY = $(CROSS_COMPILE)objcopyOBJDUMP = $(CROSS_COMPILE)objdumpRANLIB = $(CROSS_COMPILE)RANLIBRELFLAGS= $(PLATFORM_RELFLAGS)DBGFLAGS= -g #-DDEBUGOPTFLAGS= -Os #-fomit-frame-pointerifndef LDSCRIPT#LDSCRIPT := board/$(BOARDDIR)/u-boot.lds.debugLDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.ldsendifOBJCFLAGS += --gap-fill=0xffgccincdir := $(shell $(CC) -print-file-name=include)CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS) \ -D__KERNEL__ -DTEXT_BASE=$(TEXT_BASE) \ -I$(TOPDIR)/include \ -fno-builtin -nostdinc -isystem $(gccincdir) \ -pipe $(PLATFORM_CPPFLAGS)ifdef BUILD_TAGCFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes \ -DBUILD_TAG='"$(BUILD_TAG)"'elseCFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypesendifAFLAGS_DEBUG := -Wa,-gstabsAFLAGS := $(AFLAGS_DEBUG) -D__ASSEMBLY__ $(CPPFLAGS)LDFLAGS += -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)# 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/toolselseifeq ($(HOSTARCH),$(ARCH))# nativeBFD_ROOT_DIR = /usrelse#BFD_ROOT_DIR = /LinuxPPC/CDK # Linux/i386#BFD_ROOT_DIR = /usr/pkg/cross # NetBSD/i386BFD_ROOT_DIR = /opt/powerpcendifendif#########################################################################export CONFIG_SHELL HPATH HOSTCC HOSTCFLAGS CROSS_COMPILE \ AS LD CC CPP AR NM STRIP OBJCOPY OBJDUMP \ MAKEexport TEXT_BASE PLATFORM_CPPFLAGS PLATFORM_RELFLAGS CPPFLAGS CFLAGS AFLAGS#########################################################################%.s: %.S $(CPP) $(AFLAGS) -o $@ $(CURDIR)/$<%.o: %.S $(CC) $(AFLAGS) -c -o $@ $(CURDIR)/$<%.o: %.c $(CC) $(CFLAGS) -c -o $@ $<#########################################################################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -