Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / cris / Makefile
1 #
2 # cris/Makefile
3 #
4 # This file is included by the global makefile so that you can add your own
5 # architecture-specific flags and dependencies. Remember to do have actions
6 # for "archclean" and "archdep" for cleaning up and making dependencies for
7 # this architecture
8 #
9 # This file is subject to the terms and conditions of the GNU General Public
10 # License.  See the file "COPYING" in the main directory of this archive
11 # for more details.
12
13 KBUILD_DEFCONFIG := etrax-100lx_v2_defconfig
14
15 arch-y := v10
16 arch-$(CONFIG_ETRAX_ARCH_V10) := v10
17 arch-$(CONFIG_ETRAX_ARCH_V32) := v32
18
19 # No config available for make clean etc
20 mach-y := fs
21 mach-$(CONFIG_CRIS_MACH_ARTPEC3) := a3
22 mach-$(CONFIG_ETRAXFS) := fs
23
24 ifneq ($(arch-y),)
25 SARCH := arch-$(arch-y)
26 inc := -Iarch/cris/include/uapi/$(SARCH)
27 inc += -Iarch/cris/include/$(SARCH)
28 inc += -Iarch/cris/include/uapi/$(SARCH)/arch
29 inc += -Iarch/cris/include/$(SARCH)/arch
30 else
31 SARCH :=
32 inc :=
33 endif
34
35 ifneq ($(mach-y),)
36 MACH := mach-$(mach-y)
37 inc += -Iarch/cris/include/$(SARCH)/$(MACH)/
38 inc += -Iarch/cris/include/$(SARCH)/$(MACH)/mach
39 else
40 MACH :=
41 endif
42
43 LD = $(CROSS_COMPILE)ld -mcrislinux
44
45 OBJCOPYFLAGS := -O binary -R .note -R .comment -S
46
47 KBUILD_AFLAGS += -mlinux -march=$(arch-y) $(inc)
48 KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe $(inc)
49 KBUILD_CPPFLAGS += $(inc)
50
51 ifdef CONFIG_FRAME_POINTER
52 KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g
53 KBUILD_CFLAGS += -fno-omit-frame-pointer
54 endif
55
56 head-y := arch/cris/$(SARCH)/kernel/head.o
57
58 LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libgcc.a)
59
60 core-y          += arch/cris/kernel/ arch/cris/mm/
61 core-y          += arch/cris/$(SARCH)/kernel/ arch/cris/$(SARCH)/mm/
62 ifdef CONFIG_ETRAX_ARCH_V32
63 core-y          += arch/cris/$(SARCH)/$(MACH)/
64 endif
65 drivers-y       += arch/cris/$(SARCH)/drivers/
66 libs-y          += arch/cris/$(SARCH)/lib/ $(LIBGCC)
67
68 # cris source path
69 SRC_ARCH              = $(srctree)/arch/cris
70 # cris object files path
71 OBJ_ARCH              = $(objtree)/arch/cris
72
73 boot := arch/cris/boot
74 MACHINE := arch/cris/$(SARCH)
75
76 all: zImage
77
78 zImage Image: vmlinux
79         $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
80
81 archprepare:
82
83 archclean:
84         $(Q)if [ -e arch/cris/boot ]; then \
85                 $(MAKE) $(clean)=arch/cris/boot; \
86         fi
87
88 CLEAN_FILES += \
89         $(boot)/zImage \
90         $(boot)/compressed/decompress.bin \
91         $(boot)/compressed/piggy.gz \
92         $(boot)/rescue/rescue.bin
93
94
95 # MRPROPER_FILES +=
96
97 define archhelp
98   echo  '* zImage        - Compressed kernel image (arch/cris/boot/zImage)'
99   echo  '* Image         - Uncompressed kernel image (arch/cris/boot/Image)'
100 endef