comparison Makefile.raspberryPi @ 935:7672a37e7545 default tip

Raspbery PI ARM support begin
author kono
date Sat, 24 Dec 2016 03:02:57 +0000
parents
children
comparison
equal deleted inserted replaced
934:b7f4ff38a3bf 935:7672a37e7545
1 CC = gcc
2 # -O3
3 # CFLAGS = -g -Wall -I.
4 # CFLAGS = -g -Wall -I. -pg -fprofile-arcs -ftest-coverage
5 # LDFLAGS = -pg
6 # for Linux Zaurus
7 CFLAGS = -fsigned-char -pipe -g -I. -I/home/zaurus/develop/include -DUSE_CODE_KEYWORD
8 CFLAGS1 = -g -pipe -I. -fsigned-char -DUSE_CODE_KEYWORD
9 BASE=0
10 STAGE=1
11 MFLAGS=$(MFALGS) BASE=$(BASE) STAGE=$(STAGE)
12 ARCH=arm
13 MC=mc-$(ARCH)
14 MLIB = -lm
15 PRINTF= # printf.c
16 CONVERTER=conv/c.o conv/null.o conv/c2cbc.o conv/cbc2c.o
17 COMPLIB = mc-parse.o mc-codegen.o mc-switch.o mc-macro.o mc-tree.o mc-inline.o
18 # CODE=mc-code-ia32.c
19 CODE=mc-code-$(ARCH).c
20 #
21 TARGET=test/simp
22
23 all: mc
24
25 mc: mc-include.c mc-$(ARCH)
26 cp mc-$(ARCH) mc
27
28 TAGS:
29 ctags mc-code-powerpc.c mc-code.h mc-codegen.c mc-codegen.h \
30 mc-macro.c \
31 mc-parse.c mc-tree.c mc-switch.c mc-switch.h \
32 mc.h conv/c.c conv/c.h \
33 mc-inline.h mc-inline.c \
34 conv/conv.h conv/convdef.h conv/null.c
35
36 predefined:
37 $(CC) -xc -E -dM /dev/null
38
39
40 mc-powerpc : mc-code-powerpc.o $(COMPLIB) $(CONVERTER)
41 $(CC) $(LDFLAGS) -g mc-code-powerpc.o $(COMPLIB) $(CONVERTER) -o $@
42
43 mc-ia32 : mc-code-ia32.o $(COMPLIB) $(CONVERTER)
44 $(CC) $(LDFLAGS) -g mc-code-ia32.o $(COMPLIB) $(CONVERTER) -o $@
45
46 mc-mips : mc-code-mips.o $(COMPLIB) $(CONVERTER)
47 $(CC) $(LDFLAGS) -g mc-code-mips.o $(COMPLIB) $(CONVERTER) -o $@
48
49 mc-arm : mc-code-arm.o $(COMPLIB) $(CONVERTER)
50 $(CC) $(LDFLAGS) -g mc-code-arm.o $(COMPLIB) $(CONVERTER) -o $@
51
52 conv/conv.h: conv_func.tbl tools/conv_func.pl
53 perl tools/conv_func.pl
54 conv/convdef.h: conv_func.tbl tools/conv_func.pl
55 perl tools/conv_func.pl
56 conv/null.c: conv_func.tbl tools/conv_func.pl
57 perl tools/conv_func.pl
58
59 mc-include.c: conv/conv.h
60 perl tools/find-gcc-include-path -l $(CC) > mc-include.c
61
62 mc.h-new:
63 perl tools/mc-h-renum.pl mc.h > mc.h.1
64 mv mc.h.1 mc.h
65
66 check-all: check-all-c check-all-code
67
68 check-all-c:
69 make check TARGET=test/basic
70 make check-inline TARGET=test/basic
71 make check TARGET=test/call
72 make check TARGET=test/fact0
73 make check TARGET=test/float
74 make check TARGET=test/ifdef
75 make check TARGET=test/int
76 make check TARGET=test/macro
77 make check TARGET=test/regargs
78 make check TARGET=test/short
79 make check TARGET=test/simp
80 make check TARGET=test/simp0
81 make check TARGET=test/simp1
82 make check TARGET=test/static
83 make check TARGET=test/tmp
84 make check TARGET=test/tmp10
85 make check TARGET=test/tmp11
86 make check TARGET=test/tmp12
87 make check TARGET=test/tmp5
88 make check TARGET=test/tmp7
89 make check TARGET=test/tmp8
90 make check TARGET=test/tmp9
91 make check TARGET=test/enum
92 make check TARGET=test/obsf
93 make check TARGET=test/obsf2
94 make check TARGET=test/long
95 make check TARGET=test/tstdarg
96 make check TARGET=test/switch
97 make check TARGET=test/strinit
98 make check TARGET=test/code-gen-all
99 make check-inline TARGET=test/code-gen-all
100 make check TARGET=test/bitfield
101 make check TARGET=test/bitfield1
102 make check-inline TARGET=test/bitfield1
103 make check TARGET=test/cext
104 make check TARGET=test/const
105 make check TARGET=test/void_code
106 make check TARGET=test/putenemy
107 make check TARGET=test/inline
108 make check TARGET=test/offset
109 make check TARGET=test/ps2
110 make check TARGET=test/multi
111 # make check TARGET=test/scope STDFLAG="-std=gnu99"
112 # make check-inline TARGET=test/scope STDFLAG="-std=gnu99"
113 #MK =-make
114 MK=
115 check-all-code:
116 make check-code$(MK) TARGET=test/arg
117 make check-code$(MK) TARGET=test/conv
118 make check-code$(MK) TARGET=test/conv1
119 make check-code$(MK) TARGET=test/fact-a
120 make check-code$(MK) TARGET=test/fact
121 make check-code$(MK) TARGET=test/goto
122 make check-code$(MK) TARGET=test/test1
123 make check-code$(MK) TARGET=test/test2
124 make check-code$(MK) TARGET=test/tmpa
125 make check-code$(MK) TARGET=test/tmp1
126 make check-code$(MK) TARGET=test/tmp2
127 make check-code$(MK) TARGET=test/tmp4
128 make check-code$(MK) TARGET=test/tmp6
129 make check-code$(MK) TARGET=test/tmpb
130 make check-code$(MK) TARGET=test/scope
131 make check-code$(MK) TARGET=test/throw
132 make check-code$(MK) TARGET=test/too-long-argument
133
134 check-nkf:
135 ( cd nkf203; $(CC) -g -o nkf1 nkf.c utf8tbl.c )
136 ( cd nkf203; ../mc-$(ARCH) -s nkf.c utf8tbl.c )
137 ( cd nkf203; $(CC) -g -o nkf nkf.s utf8tbl.s )
138 ( cd nkf203; perl test.pl )
139
140 # -./$(MC) -Itest/ -s $(TARGET).c
141
142 check: mc $(MC) $(TARGET).c
143 -$(CC) $(CFLAGS1) $(STDFLAG) $(TARGET).c -o b.out $(MLIB)
144 -./b.out > $(TARGET).gcc.out
145 -./$(MC) -s $(TARGET).c
146 -$(CC) $(TARGET).s $(MLIB)
147 -./a.out > $(TARGET).$(MC).out
148 -diff $(TARGET).gcc.out $(TARGET).$(MC).out
149
150 check-inline: mc $(MC) $(TARGET).c
151 -$(CC) $(CFLAGS1) $(STDFLAG) $(TARGET).c -o b.out $(MLIB)
152 -./b.out > $(TARGET).gcc.out
153 -./$(MC) -s -DINLINE=inline $(TARGET).c
154 -$(CC) $(TARGET).s $(MLIB)
155 -./a.out > $(TARGET).$(MC).out
156 -diff $(TARGET).gcc.out $(TARGET).$(MC).out
157
158 check-code: mc $(MC)
159 -./$(MC) -s $(TARGET).c
160 -$(CC) $(TARGET).s $(MLIB)
161 -./a.out > $(TARGET).$(MC).out
162 -diff $(TARGET).code-out $(TARGET).$(MC).out
163 check-code-make: mc $(MC)
164 -./$(MC) -s $(TARGET).c
165 -$(CC) $(TARGET).s $(MLIB)
166 -./a.out > $(TARGET).code-out
167
168 test/code-gen-all.c: test/code-gen.pl test/code-gen.c
169 perl test/code-gen.pl < test/code-gen.c > test/code-gen-all.c
170
171 incpri:
172 perl tools/incpri.pl test/*.c
173
174 tags: tags-$(ARCH)
175
176 tags-$(ARCH):
177 ctags mc.h mc-code.h mc-code-$(ARCH).c mc-codegen.c mc-codegen.h \
178 mc-parse.c mc-tree.c \
179 conv/c.c conv/c.h \
180 conv/conv.h conv/convdef.h
181
182 tar :
183 make clean
184 tar cBf - . | gzip > ../comp.tgz
185
186 depend : mc-include.c
187 makedepend mc-code-ia32.c mc-code.h mc-codegen.c mc-codegen.h \
188 mc-parse.c mc-tree.c mc-switch.c mc-switch.h mc.h \
189 mc-inline.c mc-macro.c mc-macro.h mc-parse.h \
190 conv/c.c conv/c.h conv/c2cbc.c conv/c2cbc.h conv/cbc2c.c \
191 conv/cbc2c.h conv/conv.h conv/convdef.h conv/null.c conv/null.h \
192 mc-code-arm.c \
193 mc-code-powerpc.c \
194 mc-code-mips.c
195
196 clean :
197 -rm -f mc mc-ia32 mc-powerpc mc-mips mc-arm *.bak *.s *.o *.cc mc mc1 mc2 a.out *~ core* */*.o *.bak test/*.s test/*.cc test/*.o test/*.bak test/*~ conv/*.s conv/*.cc conv/*.o conv/*.bak conv/*~ *.out */*.out *.i */*.i mc-include.h
198
199 mc1 : b00.s b01.s mc-codegen.o mc-tree.o mc-switch.o mc-macro.o mc-inline.o $(CONVERTER)
200 $(CC) -g -o $@ $(PRINTF) b00.s b01.s mc-codegen.o mc-tree.o mc-switch.o mc-macro.o mc-inline.o $(CONVERTER)
201
202 mc2 : b00.s b01.s b02.s b03.s mc-macro.o mc-inline.o $(CONVERTER)
203 $(CC) -g -o $@ $(PRINTF) b00.s b01.s b02.s b03.s b04.s mc-macro.o mc-inline.o $(CONVERTER)
204
205 b00.s : mc-parse.c $(MC)
206 ./$(MC) -s -ob00.s mc-parse.c
207 b01.s : $(CODE) $(MC)
208 ./$(MC) -s -ob01.s $(CODE)
209 b02.s : mc-codegen.c $(MC)
210 ./$(MC) -s -ob02.s mc-codegen.c
211 b03.s : mc-tree.c $(MC)
212 ./$(MC) -s -ob03.s mc-tree.c
213 b04.s : mc-switch.c $(MC)
214 ./$(MC) -s -ob04.s mc-switch.c
215
216 b10.s : mc-parse.c mc1
217 ./mc1 -s -ob10.s mc-parse.c
218 b11.s : $(CODE) $(PRINTF) mc1
219 ./mc1 -s -ob11.s $(CODE)
220 b12.s : mc-codegen.c mc1
221 ./mc1 -s -ob12.s mc-codegen.c
222 b13.s : mc-tree.c mc1
223 ./mc1 -s -ob13.s mc-tree.c
224 b14.s : mc-switch.c mc1
225 ./mc1 -s -ob14.s mc-switch.c
226
227 b20.s : mc-parse.c mc2
228 ./mc2 -s -ob20.s mc-parse.c
229 b21.s : $(CODE) $(PRINTF) mc2
230 ./mc2 -s -ob21.s $(CODE)
231 b22.s : mc-codegen.c mc2
232 ./mc2 -s -ob22.s mc-codegen.c
233 b23.s : mc-tree.c mc2
234 ./mc2 -s -ob23.s mc-tree.c
235 b24.s : mc-switch.c mc1
236 ./mc2 -s -ob24.s mc-switch.c
237
238 diff : b00.s b01.s b02.s b03.s b04.s b10.s b11.s b12.s b13.s b14.s
239 -diff b00.s b10.s
240 -diff b01.s b11.s
241 -diff b02.s b12.s
242 -diff b03.s b13.s
243 -diff b04.s b14.s
244
245 diff2 : b00.s b01.s b02.s b03.s b04.s b20.s b21.s b22.s b23.s b24.s
246 -diff b00.s b20.s
247 -diff b01.s b21.s
248 -diff b02.s b22.s
249 -diff b03.s b23.s
250 -diff b04.s b24.s
251
252
253 # DO NOT DELETE