📄 makefile
字号:
## arch/armnommu/Makefile## This file is subject to the terms and conditions of the GNU General Public# License. See the file "COPYING" in the main directory of this archive# for more details.## Copyright (C) 1995-2001 by Russell King# Addition of# (c) Copyright 2001-2002 - S3C4530 by Arcturus Networks Inc.# (c) Copyright 2002-2003 - S3C2500 by Arcturus Networks Inc.# LINKFLAGS :=-p -X -T arch/armnommu/vmlinux.ldsGZFLAGS :=-9CFLAGS +=-fno-common -pipe -fno-builtin -D__linux__ifneq ($(CONFIG_NO_FRAME_POINTER),y)CFLAGS :=$(CFLAGS:-fomit-frame-pointer=)endififeq ($(CONFIG_DEBUG_INFO),y)CFLAGS +=-gendifCFLAGS += -DNO_MMAFLAGS += -DNO_MM# Select CPU dependent flags. Note that order of declaration is important;# the options further down the list override previous items.#apcs-$(CONFIG_CPU_26) :=-mapcs-26 -mcpu=arm3 -Osapcs-$(CONFIG_CPU_32) :=-mapcs-32arch-$(CONFIG_CPU_32v3) :=-march=armv3arch-$(CONFIG_CPU_32v4) :=-march=armv4arch-$(CONFIG_CPU_32v5) :=-march=armv5proc-$(CONFIG_CPU_32v3) :=-march=armv3mproc-$(CONFIG_CPU_32v4) :=-march=armv4proc-$(CONFIG_CPU_32v5) :=-march=armv5tune-$(CONFIG_CPU_ARM7V3) :=-mtune=arm610tune-$(CONFIG_CPU_ARM610) :=-mtune=arm610#tune-$(CONFIG_CPU_ARM710) :=-mtune=arm710tune-$(CONFIG_CPU_ARM710) :=-mtune=arm7tdmitune-$(CONFIG_CPU_ARM720T) :=-mtune=arm7tdmitune-$(CONFIG_CPU_ARM740T) :=-mtune=arm7tdmitune-$(CONFIG_CPU_ARM920T) :=-mtune=arm9tdmitune-$(CONFIG_CPU_SA110) :=-mtune=strongarm110tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100ifeq ($(CONFIG_CPU_BIG_ENDIAN),y)CFLAGS += -mbig-endianAFLAGS += -mbig-endianLINKFLAGS += -EBLDFLAGS += -EBendifCFLAGS += $(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-floatAFLAGS += $(apcs-y) $(proc-y) -msoft-float -mno-fpuLIBGCC := $(shell $(CC) $(CFLAGS) --print-libgcc-file-name)ifeq ($(CONFIG_CPU_26),y)PROCESSOR = armoTEXTADDR = 0x02080000endififeq ($(CONFIG_CPU_32),y)PROCESSOR = armvTEXTADDR = 0xC0008000endififeq ($(CONFIG_ARCH_ARCA5K),y)MACHINE = arcendififeq ($(CONFIG_ARCH_RPC),y)MACHINE = rpcendififeq ($(CONFIG_ARCH_EBSA110),y)MACHINE = ebsa110endififeq ($(CONFIG_ARCH_CLPS7500),y)MACHINE = clps7500INCDIR = cl7500endififeq ($(CONFIG_FOOTBRIDGE),y)MACHINE = footbridgeINCDIR = ebsa285endififeq ($(CONFIG_ARCH_CO285),y)TEXTADDR = 0x60008000MACHINE = footbridgeINCDIR = ebsa285endififeq ($(CONFIG_ARCH_NEXUSPCI),y)MACHINE = nexuspciendififeq ($(CONFIG_ARCH_SHARK),y)MACHINE = sharkendififeq ($(CONFIG_ARCH_SA1100),y)ifeq ($(CONFIG_SA1111),y)# SA1111 DMA bug: we don't want the kernel to live in precious DMA-able memoryTEXTADDR = 0xc0208000endifMACHINE = sa1100endififeq ($(CONFIG_ARCH_L7200),y)MACHINE = l7200endififeq ($(CONFIG_ARCH_INTEGRATOR),y)MACHINE = integratorTEXTADDR = 0x00008000endififeq ($(CONFIG_ARCH_CLPS711X),y)TEXTADDR = 0xc0018000MACHINE = clps711xendififeq ($(CONFIG_ARCH_DSC21),y)MACHINE = dsc21TEXTADDR = 0x02000000DATAADDR = 0x08000000INCDIR = dsc21#LINKFLAGS = -X -T arch/armnommu/vmlinux.ldsendififeq ($(CONFIG_ARCH_P52),y)TEXTADDR = 0x900000MACHINE = p52CFLAGS += -DNO_MM -DMAGIC_ROM_PTRendififeq ($(CONFIG_ARCH_CX821XX),y)MACHINE = cx821xxTEXTADDR = 0x800000CFLAGS += -DNO_MM -DMAGIC_ROM_PTRLINKFLAGS += -T arch/armnommu/mach-$(MACHINE)/ramlinux.ldsendififeq ($(CONFIG_ARCH_SPIPE),y)TEXTADDR = 0x808000MACHINE = spipeendififeq ($(CONFIG_ARCH_ATMEL),y)TEXTADDR = 0x1000000MACHINE = atmelendififeq ($(CONFIG_ARCH_NETARM),y)MACHINE = netarm# This allows it to use the internal bootloader.TEXTADDR = 0x00000000INCDIR = netarmCFLAGS += -mcpu=arm7tdmi#LINKFLAGS = -X -T arch/armnommu/vmlinux.ldsendififeq ($(CONFIG_ARCH_TA7S),y) ifeq ($(CONFIG_USE_A7HAL),y) CFLAGS += -I$(HPATH)/asm/arch/a7hal \ -I$(HPATH)/asm/arch/a7hal/soft endif PROCESSOR = armv MACHINE = ta7s TEXTADDR = 0x00000000 INCDIR = ta7sendififeq ($(CONFIG_ARCH_TA7V),y) ifeq ($(CONFIG_ARCH_TA7VL),y) CFLAGS += -DA7VL endif ifeq ($(CONFIG_ARCH_TA7VE),y) CFLAGS += -DA7VE endif ifeq ($(CONFIG_ARCH_TA7VC),y) CFLAGS += -DA7VC endif ifeq ($(CONFIG_ARCH_TA7VT),y) CFLAGS += -DA7VT endif ifeq ($(CONFIG_USE_A7HAL),y) CFLAGS += -I$(HPATH)/asm/arch/a7hal \ -I$(HPATH)/asm/arch/a7hal/soft endif PROCESSOR = armv MACHINE = ta7s TEXTADDR = 0x00000000 INCDIR = ta7sendififeq ($(CONFIG_ARCH_SWARM),y)MACHINE = swarmTEXTADDR = 0x00008000endififeq ($(CONFIG_BOARD_SNDS100),y)TEXTADDR = 0x00008000MACHINE = snds100endififeq ($(CONFIG_BOARD_EVS3C4530HEI),y)TEXTADDR = 0x00020000MACHINE = evS3C4530HEI#INCDIR = $(MACHINE)endififeq ($(CONFIG_BOARD_SMDK2500),y)MACHINE = SMDK2500#INCDIR = $(MACHINE)TEXTADDR = 0x20000endififeq ($(CONFIG_BOARD_S3C2500REFRGP),y)MACHINE = S3C2500REFRGP#INCDIR = $(MACHINE)TEXTADDR = 0x20000endififeq ($(CONFIG_BOARD_SMDK40100),y)TEXTADDR = 0x01020000MACHINE = S3C3410INCDIR = $(MACHINE)endififeq ($(CONFIG_BOARD_MBA44),y)TEXTADDR = 0x0c000000MACHINE = S3C44B0XINCDIR = $(MACHINE)CORE_FILES := $(CORE_FILES) romfs.oendififeq ($(CONFIG_ARCH_C5471), y)MACHINE = c5471endifexport LDFLAGS LIBGCC MACHINE PROCESSOR TEXTADDR GZFLAGS# Only set INCDIR if its not already defined above# Grr, ?= doesn't work as all the other assignment operators do. Make bug?ifeq ($(origin INCDIR), undefined)INCDIR := $(MACHINE)endif# If we have a machine-specific directory, then include it in the build.MACHDIR := arch/armnommu/mach-$(MACHINE)ifeq ($(MACHDIR),$(wildcard $(MACHDIR)))SUBDIRS += $(MACHDIR)CORE_FILES := $(MACHDIR)/$(MACHINE).o $(CORE_FILES)endifHEAD := arch/armnommu/kernel/head-$(PROCESSOR).oifeq ($(CONFIG_ARCH_DSC21),y)HEAD := arch/armnommu/kernel/head-arm-dsc21.oendififeq ($(CONFIG_ARCH_C5471),y)HEAD := arch/armnommu/kernel/head-arm-c5471.oendifHEAD += arch/armnommu/kernel/init_task.oSUBDIRS += arch/armnommu/kernel arch/armnommu/mm arch/armnommu/lib arch/armnommu/nwfpeCORE_FILES := arch/armnommu/kernel/kernel.o arch/armnommu/mm/mm.o $(CORE_FILES)LIBS := arch/armnommu/lib/lib.a $(LIBS) $(LIBGCC)ifeq ($(CONFIG_NWFPE),y)LIBS := arch/armnommu/nwfpe/math-emu.o $(LIBS)endififeq ($(CONFIG_ARCH_CLPS7500),y)SUBDIRS += drivers/acorn/charDRIVERS += drivers/acorn/char/acorn-char.oendififeq ($(CONFIG_ARCH_NETARM),y)HEAD := arch/armnommu/kernel/head-arm-netarm.o \ arch/armnommu/kernel/init_task.oendif## If you want the kernel build to build modules outside of the tree# then define this and pass it to the main linux makefile#ifdef EXTRA_MODULE_DIRSSUBDIRS += $(EXTRA_MODULE_DIRS)endifMAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot LINUX=$(LINUX)MAKETOOLS = $(MAKE) -C arch/$(ARCH)/tools LINUX=$(LINUX)# The following is a hack to get 'constants.h' up# to date before starting compilation$(patsubst %,_dir_%, $(SUBDIRS)): maketools$(patsubst %,_modsubdir_%,$(MOD_DIRS)): maketoolssymlinks: archsymlinksarchsymlinks: $(RM) include/asm-armnommu/arch include/asm-armnommu/proc (cd include/asm-armnommu; ln -sf arch-$(INCDIR) arch; ln -sf proc-$(PROCESSOR) proc)$(LINUX): arch/armnommu/vmlinux.ldsarch/armnommu/vmlinux.lds: arch/armnommu/vmlinux-$(PROCESSOR).lds.in dummyifeq ($(CONFIG_ARCH_DSC21),y) @sed 's/TEXTADDR/$(TEXTADDR)/' <$< >tmp.ld @sed 's/DATAADDR/$(DATAADDR)/' <tmp.ld >$@ $(RM) tmp.ldelseifeq ($(CONFIG_ARCH_C5471),y) @sed 's/TEXTADDR/$(FLASH_MEM_BASE)/;s/DATAADDR/$(DRAM_BASE)/' <$< >$@else @sed 's/TEXTADDR/$(TEXTADDR)/' <$< >$@endifendifarch/armnommu/kernel arch/armnommu/mm arch/armnommu/lib: dummy $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" $(subst $@, _dir_$@, $@)bzImage zImage zinstall Image bootpImage install: $(LINUX) @$(MAKEBOOT) $@CLEAN_FILES += \ arch/armnommu/vmlinux.lds \ include/asm-armnommu/constants.h* \ include/asm-armnommu/mach-types.hMRPROPER_FILES += \ include/asm-armnommu/arch \ include/asm-armnommu/proc# We use MRPROPER_FILES and CLEAN_FILES nowarchmrproper: @/bin/truearchclean: @$(MAKEBOOT) cleanarchdep: scripts/mkdep archsymlinks @$(MAKETOOLS) dep @$(MAKEBOOT) depmaketools: checkbin @$(MAKETOOLS) all# Ensure this is ld "2.9.4" or laterNEW_LINKER := $(shell $(LD) --gc-sections --version >/dev/null 2>&1; echo $$?)ifneq ($(NEW_LINKER),0)checkbin: @echo '*** ${VERSION}.${PATCHLEVEL} kernels no longer build correctly with old versions of binutils.' @echo '*** Please upgrade your binutils to 2.9.5.' @falseelsecheckbin: @trueendif# My testing targets (that short circuit a few dependencies)zImg:; @$(MAKEBOOT) zImageImg:; @$(MAKEBOOT) Imagei:; @$(MAKEBOOT) installzi:; @$(MAKEBOOT) zinstallbp:; @$(MAKEBOOT) bootpImage## Configuration targets. Use these to select a# configuration for your architecture%_config: @( \ CFG=$(@:_config=); \ if [ -f arch/armnommu/def-configs/$$CFG ]; then \ $(RM) arch/armnommu/defconfig; \ cp arch/armnommu/def-configs/$$CFG arch/armnommu/defconfig; \ echo "*** Default configuration for $$CFG installed"; \ echo "*** Next, you may run 'make oldconfig'"; \ else \ echo "$$CFG does not exist"; \ fi; \ )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -