xref: /OK3568_Linux_fs/kernel/arch/csky/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593SmuzhiyunOBJCOPYFLAGS		:=-O binary
3*4882a593SmuzhiyunGZFLAGS			:=-9
4*4882a593Smuzhiyun
5*4882a593Smuzhiyunifdef CONFIG_CPU_HAS_FPU
6*4882a593SmuzhiyunFPUEXT = f
7*4882a593Smuzhiyunendif
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunifdef CONFIG_CPU_HAS_VDSP
10*4882a593SmuzhiyunVDSPEXT = v
11*4882a593Smuzhiyunendif
12*4882a593Smuzhiyun
13*4882a593Smuzhiyunifdef CONFIG_CPU_HAS_TEE
14*4882a593SmuzhiyunTEEEXT = t
15*4882a593Smuzhiyunendif
16*4882a593Smuzhiyun
17*4882a593Smuzhiyunifdef CONFIG_CPU_CK610
18*4882a593SmuzhiyunCPUTYPE	= ck610
19*4882a593SmuzhiyunCSKYABI	= abiv1
20*4882a593Smuzhiyunendif
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunifdef CONFIG_CPU_CK810
23*4882a593SmuzhiyunCPUTYPE = ck810
24*4882a593SmuzhiyunCSKYABI	= abiv2
25*4882a593Smuzhiyunendif
26*4882a593Smuzhiyun
27*4882a593Smuzhiyunifdef CONFIG_CPU_CK807
28*4882a593SmuzhiyunCPUTYPE = ck807
29*4882a593SmuzhiyunCSKYABI	= abiv2
30*4882a593Smuzhiyunendif
31*4882a593Smuzhiyun
32*4882a593Smuzhiyunifdef CONFIG_CPU_CK860
33*4882a593SmuzhiyunCPUTYPE = ck860
34*4882a593SmuzhiyunCSKYABI	= abiv2
35*4882a593Smuzhiyunendif
36*4882a593Smuzhiyun
37*4882a593Smuzhiyunifneq ($(CSKYABI),)
38*4882a593SmuzhiyunMCPU_STR = $(CPUTYPE)$(FPUEXT)$(VDSPEXT)$(TEEEXT)
39*4882a593SmuzhiyunKBUILD_CFLAGS += -mcpu=$(CPUTYPE) -Wa,-mcpu=$(MCPU_STR)
40*4882a593SmuzhiyunKBUILD_CFLAGS += -DCSKYCPU_DEF_NAME=\"$(MCPU_STR)\"
41*4882a593SmuzhiyunKBUILD_CFLAGS += -msoft-float -mdiv
42*4882a593SmuzhiyunKBUILD_CFLAGS += -fno-tree-vectorize
43*4882a593Smuzhiyunendif
44*4882a593Smuzhiyun
45*4882a593SmuzhiyunKBUILD_CFLAGS += -pipe
46*4882a593Smuzhiyunifeq ($(CSKYABI),abiv2)
47*4882a593SmuzhiyunKBUILD_CFLAGS += -mno-stack-size
48*4882a593Smuzhiyunendif
49*4882a593Smuzhiyun
50*4882a593Smuzhiyunifdef CONFIG_FRAME_POINTER
51*4882a593SmuzhiyunKBUILD_CFLAGS += -mbacktrace
52*4882a593Smuzhiyunendif
53*4882a593Smuzhiyun
54*4882a593Smuzhiyunabidirs := $(patsubst %,arch/csky/%/,$(CSKYABI))
55*4882a593SmuzhiyunKBUILD_CFLAGS += $(patsubst %,-I$(srctree)/%inc,$(abidirs))
56*4882a593Smuzhiyun
57*4882a593SmuzhiyunKBUILD_CPPFLAGS += -mlittle-endian
58*4882a593SmuzhiyunLDFLAGS += -EL
59*4882a593Smuzhiyun
60*4882a593SmuzhiyunKBUILD_AFLAGS += $(KBUILD_CFLAGS)
61*4882a593Smuzhiyun
62*4882a593Smuzhiyunhead-y := arch/csky/kernel/head.o
63*4882a593Smuzhiyun
64*4882a593Smuzhiyuncore-y += arch/csky/kernel/
65*4882a593Smuzhiyuncore-y += arch/csky/mm/
66*4882a593Smuzhiyuncore-y += arch/csky/$(CSKYABI)/
67*4882a593Smuzhiyun
68*4882a593Smuzhiyunlibs-y += arch/csky/lib/ \
69*4882a593Smuzhiyun	$(shell $(CC) $(KBUILD_CFLAGS) $(KCFLAGS) -print-libgcc-file-name)
70*4882a593Smuzhiyun
71*4882a593Smuzhiyunboot := arch/csky/boot
72*4882a593Smuzhiyuncore-y += $(boot)/dts/
73*4882a593Smuzhiyun
74*4882a593Smuzhiyunall: zImage
75*4882a593Smuzhiyun
76*4882a593SmuzhiyunzImage Image uImage: vmlinux
77*4882a593Smuzhiyun	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
78*4882a593Smuzhiyun
79*4882a593Smuzhiyunarchclean:
80*4882a593Smuzhiyun	$(Q)$(MAKE) $(clean)=$(boot)
81*4882a593Smuzhiyun
82*4882a593Smuzhiyundefine archhelp
83*4882a593Smuzhiyun  echo  '* zImage       - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
84*4882a593Smuzhiyun  echo  '  Image        - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'
85*4882a593Smuzhiyun  echo  '  uImage       - U-Boot wrapped zImage'
86*4882a593Smuzhiyunendef
87