PageRenderTime 23ms CodeModel.GetById 18ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/blackfin/Makefile

https://bitbucket.org/thekraven/iscream_thunderc-2.6.35
Makefile | 166 lines | 131 code | 24 blank | 11 comment | 6 complexity | 0810aad44453edbf0591e308782ea337 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.0, AGPL-1.0
  1#
  2# arch/blackfin/Makefile
  3#
  4# This file is subject to the terms and conditions of the GNU General Public
  5# License.  See the file "COPYING" in the main directory of this archive
  6# for more details.
  7#
  8
  9ifeq ($(CROSS_COMPILE),)
 10CROSS_COMPILE    := bfin-uclinux-
 11endif
 12LDFLAGS_vmlinux  := -X
 13OBJCOPYFLAGS     := -O binary -R .note -R .comment -S
 14GZFLAGS          := -9
 15
 16KBUILD_CFLAGS           += $(call cc-option,-mno-fdpic)
 17ifeq ($(CONFIG_ROMKERNEL),y)
 18KBUILD_CFLAGS           += -mlong-calls
 19endif
 20KBUILD_AFLAGS           += $(call cc-option,-mno-fdpic)
 21CFLAGS_MODULE    += -mlong-calls
 22LDFLAGS_MODULE   += -m elf32bfin
 23KALLSYMS         += --symbol-prefix=_
 24
 25KBUILD_DEFCONFIG := BF537-STAMP_defconfig
 26
 27# setup the machine name and the machine dependent settings
 28machine-$(CONFIG_BF512)  := bf518
 29machine-$(CONFIG_BF514)  := bf518
 30machine-$(CONFIG_BF516)  := bf518
 31machine-$(CONFIG_BF518)  := bf518
 32machine-$(CONFIG_BF522)  := bf527
 33machine-$(CONFIG_BF523)  := bf527
 34machine-$(CONFIG_BF524)  := bf527
 35machine-$(CONFIG_BF525)  := bf527
 36machine-$(CONFIG_BF526)  := bf527
 37machine-$(CONFIG_BF527)  := bf527
 38machine-$(CONFIG_BF531)  := bf533
 39machine-$(CONFIG_BF532)  := bf533
 40machine-$(CONFIG_BF533)  := bf533
 41machine-$(CONFIG_BF534)  := bf537
 42machine-$(CONFIG_BF536)  := bf537
 43machine-$(CONFIG_BF537)  := bf537
 44machine-$(CONFIG_BF538)  := bf538
 45machine-$(CONFIG_BF539)  := bf538
 46machine-$(CONFIG_BF542)  := bf548
 47machine-$(CONFIG_BF542M) := bf548
 48machine-$(CONFIG_BF544)  := bf548
 49machine-$(CONFIG_BF544M) := bf548
 50machine-$(CONFIG_BF547)  := bf548
 51machine-$(CONFIG_BF547M) := bf548
 52machine-$(CONFIG_BF548)  := bf548
 53machine-$(CONFIG_BF548M) := bf548
 54machine-$(CONFIG_BF549)  := bf548
 55machine-$(CONFIG_BF549M) := bf548
 56machine-$(CONFIG_BF561)  := bf561
 57MACHINE := $(machine-y)
 58export MACHINE
 59
 60cpu-$(CONFIG_BF512)  := bf512
 61cpu-$(CONFIG_BF514)  := bf514
 62cpu-$(CONFIG_BF516)  := bf516
 63cpu-$(CONFIG_BF518)  := bf518
 64cpu-$(CONFIG_BF522)  := bf522
 65cpu-$(CONFIG_BF523)  := bf523
 66cpu-$(CONFIG_BF524)  := bf524
 67cpu-$(CONFIG_BF525)  := bf525
 68cpu-$(CONFIG_BF526)  := bf526
 69cpu-$(CONFIG_BF527)  := bf527
 70cpu-$(CONFIG_BF531)  := bf531
 71cpu-$(CONFIG_BF532)  := bf532
 72cpu-$(CONFIG_BF533)  := bf533
 73cpu-$(CONFIG_BF534)  := bf534
 74cpu-$(CONFIG_BF536)  := bf536
 75cpu-$(CONFIG_BF537)  := bf537
 76cpu-$(CONFIG_BF538)  := bf538
 77cpu-$(CONFIG_BF539)  := bf539
 78cpu-$(CONFIG_BF542)  := bf542
 79cpu-$(CONFIG_BF542M) := bf542m
 80cpu-$(CONFIG_BF544)  := bf544
 81cpu-$(CONFIG_BF544M) := bf544m
 82cpu-$(CONFIG_BF547)  := bf547
 83cpu-$(CONFIG_BF547M) := bf547m
 84cpu-$(CONFIG_BF548)  := bf548
 85cpu-$(CONFIG_BF548M) := bf548m
 86cpu-$(CONFIG_BF549)  := bf549
 87cpu-$(CONFIG_BF549M) := bf549m
 88cpu-$(CONFIG_BF561)  := bf561
 89
 90rev-$(CONFIG_BF_REV_0_0)  := 0.0
 91rev-$(CONFIG_BF_REV_0_1)  := 0.1
 92rev-$(CONFIG_BF_REV_0_2)  := 0.2
 93rev-$(CONFIG_BF_REV_0_3)  := 0.3
 94rev-$(CONFIG_BF_REV_0_4)  := 0.4
 95rev-$(CONFIG_BF_REV_0_5)  := 0.5
 96rev-$(CONFIG_BF_REV_0_6)  := 0.6
 97rev-$(CONFIG_BF_REV_NONE) := none
 98rev-$(CONFIG_BF_REV_ANY)  := any
 99
100KBUILD_CFLAGS += -mcpu=$(cpu-y)-$(rev-y)
101KBUILD_AFLAGS += -mcpu=$(cpu-y)-$(rev-y)
102
103# - we utilize the silicon rev from the toolchain, so move it over to the checkflags
104# - the l1_text attribute is Blackfin specific, so fake it out as used to kill warnings
105CHECKFLAGS_SILICON = $(shell echo "" | $(CPP) $(KBUILD_CFLAGS) -dD - 2>/dev/null | awk '$$2 == "__SILICON_REVISION__" { print $$3 }')
106CHECKFLAGS += -D__SILICON_REVISION__=$(CHECKFLAGS_SILICON) -Dl1_text=__used__
107
108head-y   := arch/$(ARCH)/kernel/init_task.o
109
110core-y   += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ arch/$(ARCH)/mach-common/
111
112# If we have a machine-specific directory, then include it in the build.
113ifneq ($(machine-y),)
114core-y   += arch/$(ARCH)/mach-$(MACHINE)/
115core-y   += arch/$(ARCH)/mach-$(MACHINE)/boards/
116endif
117
118ifeq ($(CONFIG_MPU),y)
119core-y	+= arch/$(ARCH)/kernel/cplb-mpu/
120else
121core-y	+= arch/$(ARCH)/kernel/cplb-nompu/
122endif
123
124drivers-$(CONFIG_OPROFILE) += arch/$(ARCH)/oprofile/
125
126libs-y   += arch/$(ARCH)/lib/
127
128machdirs	:= $(patsubst %,arch/blackfin/mach-%/, $(machine-y))
129
130KBUILD_CFLAGS += -Iarch/$(ARCH)/include/
131KBUILD_CFLAGS += -Iarch/$(ARCH)/mach-$(MACHINE)/include
132
133KBUILD_CPPFLAGS	+= $(patsubst %,-I$(srctree)/%include,$(machdirs))
134
135CLEAN_FILES += \
136	arch/$(ARCH)/kernel/asm-offsets.s \
137
138archclean:
139	$(Q)$(MAKE) $(clean)=$(boot)
140
141INSTALL_PATH ?= /tftpboot
142boot := arch/$(ARCH)/boot
143BOOT_TARGETS = vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.xip
144PHONY += $(BOOT_TARGETS) install
145KBUILD_IMAGE := $(boot)/vmImage
146
147all: vmImage
148
149$(BOOT_TARGETS): vmlinux
150	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
151
152install:
153	$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install
154
155define archhelp
156  echo  '* vmImage         - Alias to selected kernel format (vmImage.gz by default)'
157  echo  '  vmImage.bin     - Uncompressed Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.bin)'
158  echo  '  vmImage.bz2     - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.bz2)'
159  echo  '* vmImage.gz      - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.gz)'
160  echo  '  vmImage.lzma    - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.lzma)'
161  echo  '  vmImage.xip     - XIP Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.xip)'
162  echo  '  install         - Install kernel using'
163  echo  '                     (your) ~/bin/$(INSTALLKERNEL) or'
164  echo  '                     (distribution) PATH: $(INSTALLKERNEL) or'
165  echo  '                     install to $$(INSTALL_PATH)'
166endef