]>
Commit | Line | Data |
---|---|---|
2c2314bf | 1 | # |
1da177e4 LT |
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 | ||
8f808417 AB |
13 | KBUILD_DEFCONFIG := etrax-100lx_v2_defconfig |
14 | ||
1da177e4 LT |
15 | arch-y := v10 |
16 | arch-$(CONFIG_ETRAX_ARCH_V10) := v10 | |
3e41d652 | 17 | arch-$(CONFIG_ETRAX_ARCH_V32) := v32 |
1da177e4 | 18 | |
2c2314bf JN |
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 | ||
1da177e4 LT |
24 | ifneq ($(arch-y),) |
25 | SARCH := arch-$(arch-y) | |
556dcee7 | 26 | inc := -Iarch/cris/include/arch-$(arch-y) -Iarch/cris/include/arch-$(arch-y)/arch |
1da177e4 LT |
27 | else |
28 | SARCH := | |
556dcee7 | 29 | inc := |
1da177e4 LT |
30 | endif |
31 | ||
2c2314bf JN |
32 | ifneq ($(mach-y),) |
33 | MACH := mach-$(mach-y) | |
556dcee7 JN |
34 | inc += -Iarch/cris/include/$(SARCH)/$(MACH)/ |
35 | inc += -Iarch/cris/include/$(SARCH)/$(MACH)/mach | |
2c2314bf JN |
36 | else |
37 | MACH := | |
38 | endif | |
39 | ||
1da177e4 LT |
40 | LD = $(CROSS_COMPILE)ld -mcrislinux |
41 | ||
42 | OBJCOPYFLAGS := -O binary -R .note -R .comment -S | |
43 | ||
44 | CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE) | |
1da177e4 | 45 | |
556dcee7 JN |
46 | KBUILD_AFLAGS += -mlinux -march=$(arch-y) $(inc) |
47 | KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe $(inc) | |
48 | KBUILD_CPPFLAGS += $(inc) | |
1da177e4 LT |
49 | |
50 | ifdef CONFIG_FRAME_POINTER | |
a0f97e06 SR |
51 | KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g |
52 | KBUILD_CFLAGS += -fno-omit-frame-pointer | |
1da177e4 LT |
53 | endif |
54 | ||
55 | head-y := arch/$(ARCH)/$(SARCH)/kernel/head.o | |
56 | ||
a0f97e06 | 57 | LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libgcc.a) |
1da177e4 LT |
58 | |
59 | core-y += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ | |
60 | core-y += arch/$(ARCH)/$(SARCH)/kernel/ arch/$(ARCH)/$(SARCH)/mm/ | |
2c2314bf JN |
61 | ifdef CONFIG_ETRAX_ARCH_V32 |
62 | core-y += arch/$(ARCH)/$(SARCH)/$(MACH)/ | |
63 | endif | |
1da177e4 LT |
64 | drivers-y += arch/$(ARCH)/$(SARCH)/drivers/ |
65 | libs-y += arch/$(ARCH)/$(SARCH)/lib/ $(LIBGCC) | |
66 | ||
3e41d652 MS |
67 | # cris source path |
68 | SRC_ARCH = $(srctree)/arch/$(ARCH) | |
69 | # cris object files path | |
70 | OBJ_ARCH = $(objtree)/arch/$(ARCH) | |
71 | ||
2c2314bf JN |
72 | boot := arch/$(ARCH)/boot |
73 | MACHINE := arch/$(ARCH)/$(SARCH) | |
1da177e4 | 74 | |
2c2314bf | 75 | all: zImage |
1da177e4 | 76 | |
2c2314bf JN |
77 | zImage Image: vmlinux |
78 | $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ | |
1da177e4 | 79 | |
556dcee7 | 80 | archprepare: $(SRC_ARCH)/.links FORCE |
1da177e4 LT |
81 | |
82 | # Create some links to make all tools happy | |
3e41d652 MS |
83 | $(SRC_ARCH)/.links: |
84 | @rm -rf $(SRC_ARCH)/drivers | |
2c2314bf | 85 | @ln -sfn $(SARCH)/drivers $(SRC_ARCH)/drivers |
3e41d652 | 86 | @rm -rf $(SRC_ARCH)/boot |
2c2314bf | 87 | @ln -sfn $(SARCH)/boot $(SRC_ARCH)/boot |
3e41d652 | 88 | @rm -rf $(SRC_ARCH)/lib |
2c2314bf JN |
89 | @ln -sfn $(SARCH)/lib $(SRC_ARCH)/lib |
90 | @rm -f $(SRC_ARCH)/arch/mach | |
91 | @rm -rf $(SRC_ARCH)/arch | |
92 | @ln -sfn $(SARCH) $(SRC_ARCH)/arch | |
93 | ifdef CONFIG_ETRAX_ARCH_V32 | |
94 | @ln -sfn ../$(SARCH)/$(MACH) $(SRC_ARCH)/arch/mach | |
95 | endif | |
96 | @rm -rf $(SRC_ARCH)/kernel/vmlinux.lds.S | |
97 | @ln -sfn ../$(SARCH)/vmlinux.lds.S $(SRC_ARCH)/kernel/vmlinux.lds.S | |
1da177e4 LT |
98 | @touch $@ |
99 | ||
2c2314bf JN |
100 | archclean: |
101 | $(Q)if [ -e arch/$(ARCH)/boot ]; then \ | |
102 | $(MAKE) $(clean)=arch/$(ARCH)/boot; \ | |
103 | fi | |
104 | ||
105 | CLEAN_FILES += \ | |
106 | $(MACHINE)/boot/zImage \ | |
107 | $(MACHINE)/boot/compressed/decompress.bin \ | |
108 | $(MACHINE)/boot/compressed/piggy.gz \ | |
109 | $(MACHINE)/boot/rescue/rescue.bin \ | |
556dcee7 | 110 | $(SRC_ARCH)/.links |
2c2314bf JN |
111 | |
112 | MRPROPER_FILES += \ | |
113 | $(SRC_ARCH)/drivers \ | |
114 | $(SRC_ARCH)/boot \ | |
115 | $(SRC_ARCH)/lib \ | |
116 | $(SRC_ARCH)/arch \ | |
0365f707 JN |
117 | $(SRC_ARCH)/kernel/vmlinux.lds.S |
118 | ||
2c2314bf JN |
119 | |
120 | define archhelp | |
121 | echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' | |
122 | echo '* Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)' | |
123 | endef |