linux/arch/blackfin/Makefile
<<
>>
Prefs
   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