Blame view

arch/c6x/Makefile 1.5 KB
c278400c5   Aurelien Jacquiot   C6X: build infras...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  #
  # linux/arch/c6x/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.
  #
  
  cflags-y += -mno-dsbt -msdata=none
  
  cflags-$(CONFIG_C6X_BIG_KERNEL) += -mlong-calls
  
  CFLAGS_MODULE   += -mlong-calls -mno-dsbt -msdata=none
  
  CHECKFLAGS      +=
  
  KBUILD_CFLAGS   += $(cflags-y)
  KBUILD_AFLAGS   += $(cflags-y)
  
  ifdef CONFIG_CPU_BIG_ENDIAN
  KBUILD_CFLAGS   += -mbig-endian
  KBUILD_AFLAGS   += -mbig-endian
  LINKFLAGS       += -mbig-endian
  KBUILD_LDFLAGS  += -mbig-endian
  LDFLAGS += -EB
  endif
  
  head-y          := arch/c6x/kernel/head.o
  core-y          += arch/c6x/kernel/ arch/c6x/mm/ arch/c6x/platforms/
  libs-y          += arch/c6x/lib/
  
  # Default to vmlinux.bin, override when needed
  all: vmlinux.bin
  
  boot := arch/$(ARCH)/boot
  
  # Are we making a dtbImage.<boardname> target? If so, crack out the boardname
  DTB:=$(subst dtbImage.,,$(filter dtbImage.%, $(MAKECMDGOALS)))
  export DTB
  
  ifneq ($(DTB),)
  core-y	+= $(boot)/
  endif
  
  # With make 3.82 we cannot mix normal and wildcard targets
  
  vmlinux.bin: vmlinux
  	$(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
  
  dtbImage.%: vmlinux
  	$(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
  
  archclean:
  	$(Q)$(MAKE) $(clean)=$(boot)
  
  define archhelp
    @echo '  vmlinux.bin     - Binary kernel image (arch/$(ARCH)/boot/vmlinux.bin)'
    @echo '  dtbImage.<dt>   - ELF image with $(arch)/boot/dts/<dt>.dts linked in'
    @echo '                  - stripped elf with fdt blob'
  endef