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 9 10CROSS_COMPILE ?= bfin-uclinux- 11LDFLAGS_vmlinux := -X 12OBJCOPYFLAGS := -O binary -R .note -R .comment -S 13GZFLAGS := -9 14 15KBUILD_CFLAGS += $(call cc-option,-mno-fdpic) 16KBUILD_AFLAGS += $(call cc-option,-mno-fdpic) 17CFLAGS_MODULE += -mlong-calls 18KALLSYMS += --symbol-prefix=_ 19 20KBUILD_DEFCONFIG := BF537-STAMP_defconfig 21 22# setup the machine name and the machine dependent settings 23machine-$(CONFIG_BF522) := bf527 24machine-$(CONFIG_BF525) := bf527 25machine-$(CONFIG_BF527) := bf527 26machine-$(CONFIG_BF531) := bf533 27machine-$(CONFIG_BF532) := bf533 28machine-$(CONFIG_BF533) := bf533 29machine-$(CONFIG_BF534) := bf537 30machine-$(CONFIG_BF536) := bf537 31machine-$(CONFIG_BF537) := bf537 32machine-$(CONFIG_BF542) := bf548 33machine-$(CONFIG_BF544) := bf548 34machine-$(CONFIG_BF547) := bf548 35machine-$(CONFIG_BF548) := bf548 36machine-$(CONFIG_BF549) := bf548 37machine-$(CONFIG_BF561) := bf561 38MACHINE := $(machine-y) 39export MACHINE 40 41cpu-$(CONFIG_BF522) := bf522 42cpu-$(CONFIG_BF525) := bf525 43cpu-$(CONFIG_BF527) := bf527 44cpu-$(CONFIG_BF531) := bf531 45cpu-$(CONFIG_BF532) := bf532 46cpu-$(CONFIG_BF533) := bf533 47cpu-$(CONFIG_BF534) := bf534 48cpu-$(CONFIG_BF536) := bf536 49cpu-$(CONFIG_BF537) := bf537 50cpu-$(CONFIG_BF542) := bf542 51cpu-$(CONFIG_BF544) := bf544 52cpu-$(CONFIG_BF547) := bf547 53cpu-$(CONFIG_BF548) := bf548 54cpu-$(CONFIG_BF549) := bf549 55cpu-$(CONFIG_BF561) := bf561 56 57rev-$(CONFIG_BF_REV_0_0) := 0.0 58rev-$(CONFIG_BF_REV_0_1) := 0.1 59rev-$(CONFIG_BF_REV_0_2) := 0.2 60rev-$(CONFIG_BF_REV_0_3) := 0.3 61rev-$(CONFIG_BF_REV_0_4) := 0.4 62rev-$(CONFIG_BF_REV_0_5) := 0.5 63rev-$(CONFIG_BF_REV_NONE) := none 64rev-$(CONFIG_BF_REV_ANY) := any 65 66KBUILD_CFLAGS += -mcpu=$(cpu-y)-$(rev-y) 67KBUILD_AFLAGS += -mcpu=$(cpu-y)-$(rev-y) 68 69head-y := arch/$(ARCH)/mach-$(MACHINE)/head.o arch/$(ARCH)/kernel/init_task.o 70 71core-y += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ arch/$(ARCH)/mach-common/ 72 73# If we have a machine-specific directory, then include it in the build. 74ifneq ($(machine-y),) 75core-y += arch/$(ARCH)/mach-$(MACHINE)/ 76core-y += arch/$(ARCH)/mach-$(MACHINE)/boards/ 77endif 78 79libs-y += arch/$(ARCH)/lib/ 80 81drivers-$(CONFIG_OPROFILE) += arch/$(ARCH)/oprofile/ 82 83 84 85# Update machine arch symlinks if something which affects 86# them changed. We use .mach to indicate when they were updated 87# last, otherwise make uses the target directory mtime. 88 89include/asm-blackfin/.mach: $(wildcard include/config/arch/*.h) include/config/auto.conf 90 @echo ' SYMLINK include/asm-$(ARCH)/mach-$(MACHINE) -> include/asm-$(ARCH)/mach' 91ifneq ($(KBUILD_SRC),) 92 $(Q)mkdir -p include/asm-$(ARCH) 93 $(Q)ln -fsn $(srctree)/include/asm-$(ARCH)/mach-$(MACHINE) include/asm-$(ARCH)/mach 94else 95 $(Q)ln -fsn mach-$(MACHINE) include/asm-$(ARCH)/mach 96endif 97 @touch $@ 98 99CLEAN_FILES += \ 100 include/asm-$(ARCH)/asm-offsets.h \ 101 arch/$(ARCH)/kernel/asm-offsets.s \ 102 include/asm-$(ARCH)/mach \ 103 include/asm-$(ARCH)/.mach 104 105archprepare: include/asm-blackfin/.mach 106archclean: 107 $(Q)$(MAKE) $(clean)=$(boot) 108 109 110boot := arch/$(ARCH)/boot 111BOOT_TARGETS = vmImage 112PHONY += $(BOOT_TARGETS) install 113KBUILD_IMAGE := $(boot)/vmImage 114 115all: vmImage 116 117$(BOOT_TARGETS): vmlinux 118 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 119 120install: 121 $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install 122 123define archhelp 124 echo '* vmImage - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage)' 125 echo ' install - Install kernel using' 126 echo ' (your) ~/bin/$(CROSS_COMPILE)installkernel or' 127 echo ' (distribution) PATH: $(CROSS_COMPILE)installkernel or' 128 echo ' install to $$(INSTALL_PATH)' 129endef 130