]>
Commit | Line | Data |
---|---|---|
eeeb91c5 KK |
1 | # |
2 | # makefile for egcs | |
3 | # | |
4 | # Created by Klaus K"ampf, kkaempf@progis.de | |
5 | # | |
6 | ||
7 | # choose egcs or dec c | |
8 | #CC = gcc | |
9 | CC = cc | |
10 | ||
11 | # With or withou haifa scheduler ? | |
12 | #HAIFA=,"HAIFA" | |
13 | HAIFA= | |
14 | ||
15 | PWD=sys$$disk:[] | |
16 | RM=delete/nolog | |
17 | ||
18 | ifeq ($(CC),gcc) | |
19 | ifeq ($(ARCH),ALPHA) | |
20 | CFLAGS=/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA)) | |
21 | LIBS=,gnu_cc_library:libgcc.olb/lib,sys$$library:vaxcrtl.olb/lib,gnu_cc_library:crt0.obj | |
22 | else | |
23 | CFLAGS=/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA)) | |
24 | LIBS=,gnu_cc_library:libgcc.olb/lib,sys$$library:vaxcrtl.olb/lib | |
25 | endif | |
26 | LFLAGS=/map/full | |
27 | #LFLAGS= | |
28 | else | |
29 | ifeq ($(ARCH),ALPHA) | |
2aabb736 | 30 | CFLAGS=/names=as_is/float=ieee/noopt/debug/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA))\ |
eeeb91c5 KK |
31 | /warning=disable=(missingreturn,implicitfunc,ptrmismatch,undefescap,longextern,duptypespec) |
32 | else | |
33 | CFLAGS=/noopt/debug/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA)) | |
34 | endif | |
35 | LFLAGS=/nomap | |
36 | LIBS=,sys$$library:vaxcrtl.olb/lib | |
37 | endif | |
38 | ||
39 | BISON = bison | |
40 | BISON_FLAGS= /Yacc/Define/Verbose | |
41 | RENAME= rename/New_Version | |
42 | LINK = link #/noshare/nosysshr | |
43 | EDIT = edit | |
44 | SEARCH= search | |
45 | ABORT = exit %x002C | |
46 | echo = write sys$$output | |
47 | ||
48 | CINCL1 = /Incl=([],[.config]) | |
49 | CINCL2 = /Incl=([],[.ginclude],[.config]) | |
50 | CINCL_SUB = /Incl=([],[-],[-.ginclude],[-.config]) | |
51 | CINCL_CP= /Incl=([],[.config],[.cp],[.cp.inc]) | |
52 | ||
53 | MDFILE = [.config.$(ARCH)]$(ARCH).md | |
54 | ||
55 | ifeq ($(HAIFA),) | |
56 | SCHED=sched | |
57 | else | |
58 | SCHED=haifa-sched | |
59 | endif | |
60 | ||
eeeb91c5 KK |
61 | GENOBJS=[]rtl.obj,obstack.obj |
62 | ||
63 | INDEPOBJS= []toplev.obj,version.obj,tree.obj,print-tree.obj,stor-layout.obj,\ | |
64 | fold-const.obj,function.obj,stmt.obj,except.obj,expr.obj,calls.obj,expmed.obj,\ | |
65 | explow.obj,optabs.obj,varasm.obj,rtl.obj,print-rtl.obj,rtlanal.obj,\ | |
2aabb736 | 66 | emit-rtl.obj,genrtl.obj,real.obj,regmove.obj,dbxout.obj,sdbout.obj,dwarfout.obj,\ |
eeeb91c5 KK |
67 | dwarf2out.obj,xcoffout.obj,bitmap.obj,alias.obj,\ |
68 | integrate.obj,jump.obj,cse.obj,loop.obj,unroll.obj,flow.obj,stupid.obj,\ | |
69 | combine.obj,regclass.obj,local-alloc.obj,global.obj,reload.obj,\ | |
70 | reload1.obj,caller-save.obj,insn-peep.obj,reorg.obj,$(SCHED).obj,\ | |
71 | final.obj,recog.obj,reg-stack.obj,insn-opinit.obj,insn-recog.obj,\ | |
72 | insn-extract.obj,insn-output.obj,insn-emit.obj,\ | |
73 | profile.obj,insn-attrtab.obj,\ | |
74 | aux-output.obj,getpwd.obj,convert.obj | |
75 | ||
76 | CC1OBJS=[]c-parse.obj,c-lang.obj,c-lex.obj,c-pragma.obj,c-decl.obj,\ | |
77 | c-typeck.obj,c-convert.obj,c-aux-info.obj,c-common.obj,c-iterate.obj,\ | |
2aabb736 | 78 | obstack.obj |
eeeb91c5 KK |
79 | |
80 | OBJCOBJS= | |
81 | ||
82 | # list copied from cc1plus-objs.opt | |
83 | ||
84 | CC1PLUSOBJS=[.cp]call.obj,[.cp]decl2.obj,\ | |
85 | [.cp]except.obj,[.cp]pt.obj,\ | |
86 | [.cp]spew.obj,[.cp]xref.obj,[.cp]class.obj,\ | |
87 | [.cp]expr.obj,[.cp]lex.obj,\ | |
88 | [.cp]ptree.obj,[.cp]tree.obj,[.cp]cvt.obj,\ | |
89 | [.cp]errfn.obj,[.cp]rtti.obj,[.cp]method.obj,\ | |
90 | [.cp]search.obj,[.cp]typeck.obj,[.cp]decl.obj,\ | |
91 | [.cp]error.obj,[.cp]friend.obj,[.cp]init.obj,[.cp]parse.obj,\ | |
92 | [.cp]sig.obj,[.cp]typeck2.obj,[.cp]repo.obj,\ | |
93 | [.cp]input.obj,\ | |
94 | []obstack.obj,\ | |
eeeb91c5 KK |
95 | []c-common.obj,[]c-pragma.obj |
96 | ||
97 | CCCPOBJS=[]cccp.obj,cexp.obj,version.obj,prefix.obj | |
98 | ||
2aabb736 | 99 | ALLOCA=,[]alloca.obj |
eeeb91c5 KK |
100 | |
101 | LIBIBERTY = [-.libiberty]libiberty.olb | |
102 | ||
103 | CXX_LIB2FUNCS = [.cp]tinfo.obj,[.cp]tinfo2.obj,\ | |
104 | [.cp]new.obj,[.cp]new1.obj,[.cp]new2.obj,[.cp]exception.obj | |
105 | ||
106 | .c.obj: | |
107 | $(CC) $(CFLAGS) $(CINCL1) $</obj=$@ | |
108 | ||
109 | .cc.obj: | |
110 | $(CC)/plus/CPP="-nostdinc++" $(CFLAGS) $(CINCL_CP) $</obj=$@ | |
111 | ||
eeeb91c5 KK |
112 | INSN_INCLUDES=insn-attr.h insn-codes.h insn-config.h insn-flags.h |
113 | ||
114 | # | |
115 | # | |
116 | # | |
117 | ||
118 | all: cpp.exe cc1.exe float.h limits.h libgcc2.olb | |
119 | ||
120 | allplus: cc1plus.exe libgccplus.olb | |
121 | ||
122 | libplus: libgccplus.olb | |
123 | ||
124 | cc1.exe: $(CC1OBJS) $(ALLOCA) $(INDEPOBJS) | |
125 | $(LINK)$(LFLAGS)/exe=$@ version.opt/opt,cc1-objs.opt/Opt,independent.opt/Opt$(ALLOCA)$(LIBS) | |
126 | ||
127 | cpp.exe: $(CCCPOBJS) $(ALLOCA) | |
128 | $(LINK)$(LFLAGS)/exe=$@ $(CCCPOBJS),version.opt/opt$(ALLOCA)$(LIBS) | |
129 | ||
130 | cc1plus.exe: $(CC1PLUSOBJS) $(ALLOCA) $(INDEPOBJS) | |
131 | $(LINK)$(LFLAGS)/exe=$@ version.opt/opt,cc1plus-objs.opt/Opt,independent.opt/Opt$(ALLOCA)$(LIBS) | |
132 | ||
133 | gcc.exe: gcc.obj version.obj choose-temp.obj pexecute.obj prefix.obj obstack.obj | |
134 | $(LINK)$(LFLAGS)/exe=$@ $^$(ALLOCA)$(LIBS) | |
135 | ||
136 | install: cpp.exe cc1.exe gcc.exe libgcc2.olb | |
137 | $(CP) $^ GNU_CC_LIBRARY | |
138 | ||
139 | installplus: cc1plus.exe libgccplus.olb | |
140 | $(CP) $^ GNU_CC_LIBRARY | |
141 | ||
142 | float.h: enquire.exe | |
143 | mcr $(PWD)enquire.exe -f > $@ | |
144 | ||
145 | limits.h: enquire.exe | |
146 | mcr $(PWD)enquire.exe -l > $@ | |
147 | ||
148 | enquire.exe: enquire.obj | |
149 | $(LINK)$(LFLAGS)/exe=$@ enquire.obj$(ALLOCA)$(LIBS) | |
150 | ||
151 | libgcc2.olb: | |
152 | $$ @make-l2 | |
153 | ||
154 | libgccplus.olb: $(CXX_LIB2FUNCS) | |
155 | lib/create libgccplus $(CXX_LIB2FUNCS) | |
156 | ||
eeeb91c5 KK |
157 | genattr.exe: genattr.obj,$(GENOBJS)$(ALLOCA) |
158 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
159 | ||
160 | insn-attr.h: genattr.exe $(MDFILE) | |
161 | mcr $(PWD)genattr.exe $(MDFILE) > $@ | |
162 | ||
163 | genflags.exe: genflags.obj,$(GENOBJS)$(ALLOCA) | |
164 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
165 | ||
166 | insn-flags.h: genflags.exe $(MDFILE) | |
167 | mcr $(PWD)genflags.exe $(MDFILE) > $@ | |
168 | ||
169 | gencodes.exe: gencodes.obj,$(GENOBJS)$(ALLOCA) | |
170 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
171 | ||
172 | insn-codes.h: gencodes.exe $(MDFILE) | |
173 | mcr $(PWD)gencodes.exe $(MDFILE) > $@ | |
174 | ||
175 | genconfig.exe: genconfig.obj,$(GENOBJS)$(ALLOCA) | |
176 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
177 | ||
178 | insn-config.h: genconfig.exe $(MDFILE) | |
179 | mcr $(PWD)genconfig.exe $(MDFILE) > $@ | |
180 | ||
181 | genpeep.exe: genpeep.obj,$(GENOBJS)$(ALLOCA) | |
182 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
183 | ||
184 | insn-peep.c: genpeep.exe $(MDFILE) | |
185 | mcr $(PWD)genpeep.exe $(MDFILE) > $@ | |
186 | ||
187 | genopinit.exe: genopinit.obj,$(GENOBJS)$(ALLOCA) | |
188 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
189 | ||
190 | insn-opinit.c: genopinit.exe $(MDFILE) | |
191 | mcr $(PWD)genopinit.exe $(MDFILE) > $@ | |
192 | ||
193 | genrecog.exe: genrecog.obj,$(GENOBJS)$(ALLOCA) | |
194 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
195 | ||
196 | insn-recog.c: genrecog.exe $(MDFILE) | |
197 | mcr $(PWD)genrecog.exe $(MDFILE) > $@ | |
198 | ||
199 | genextract.exe: genextract.obj,$(GENOBJS)$(ALLOCA) | |
200 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
201 | ||
202 | insn-extract.c: genextract.exe $(MDFILE) | |
203 | mcr $(PWD)genextract.exe $(MDFILE) > $@ | |
204 | ||
205 | genoutput.exe: genoutput.obj,$(GENOBJS)$(ALLOCA) | |
206 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
207 | ||
208 | insn-output.c: genoutput.exe $(MDFILE) | |
209 | mcr $(PWD)genoutput.exe $(MDFILE) > $@ | |
210 | ||
211 | genemit.exe: genemit.obj,$(GENOBJS)$(ALLOCA) | |
212 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
213 | ||
214 | insn-emit.c: genemit.exe $(MDFILE) | |
215 | mcr $(PWD)genemit.exe $(MDFILE) > $@ | |
216 | ||
217 | genattrtab.exe: genattrtab.obj,rtlanal.obj,$(GENOBJS)$(ALLOCA) | |
218 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
219 | ||
220 | insn-attrtab.c: genattrtab.exe $(MDFILE) | |
221 | mcr $(PWD)genattrtab.exe $(MDFILE) > $@ | |
222 | ||
2aabb736 KK |
223 | gengenrtl.exe: gengenrtl.obj,obstack.obj,$(ALLOCA) |
224 | $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) | |
225 | ||
226 | genrtl.h genrtl.c: gengenrtl.exe | |
227 | mcr $(PWD)gengenrtl.exe genrtl.h genrtl.c | |
228 | ||
eeeb91c5 KK |
229 | cccp.obj: cccp.c config.h |
230 | aux-output.obj: aux-output.c insn-attr.h insn-flags.h insn-config.h | |
eeeb91c5 KK |
231 | caller-save.obj: caller-save.c insn-config.h |
232 | calls.obj: calls.c insn-flags.h | |
233 | combine.obj: combine.c insn-attr.h insn-flags.h insn-codes.h insn-config.h | |
234 | cse.obj: cse.c insn-config.h | |
235 | c-decl.obj: c-decl.c expr.h integrate.h insn-codes.h insn-config.h | |
2aabb736 | 236 | c-lex.obj: c-lex.c genrtl.h |
eeeb91c5 KK |
237 | c-typeck.obj: c-typeck.c |
238 | dbxout.obj: dbxout.c insn-config.h | |
239 | dwarfout.obj: dwarfout.c insn-config.h | |
240 | dwarf2out.obj: dwarf2out.c insn-config.h | |
2aabb736 | 241 | emit-rtl.obj: emit-rtl.c insn-config.h |
eeeb91c5 KK |
242 | except.obj: except.c insn-flags.h insn-codes.h insn-config.h |
243 | explow.obj: explow.c insn-flags.h insn-codes.h insn-config.h | |
244 | expmed.obj: expmed.c insn-flags.h insn-codes.h insn-config.h | |
2aabb736 | 245 | expr.obj: expr.c insn-flags.h insn-config.h |
eeeb91c5 KK |
246 | final.obj: final.c tm.h insn-attr.h insn-flags.h insn-codes.h insn-config.h |
247 | flow.obj: flow.c insn-config.h | |
2aabb736 | 248 | function.obj: function.c insn-flags.h insn-codes.h insn-config.h insn-codes.h insn-config.h |
eeeb91c5 KK |
249 | genattrtab.obj: genattrtab.c insn-config.h |
250 | genextract.obj: genextract.c insn-config.h | |
251 | global.obj: global.c insn-config.h | |
252 | integrate.obj: integrate.c integrate.h insn-flags.h insn-config.h | |
253 | jump.obj: jump.c insn-flags.h insn-config.h | |
254 | local-alloc.obj: local-alloc.c insn-config.h | |
255 | loop.obj: loop.c insn-flags.h insn-config.h | |
256 | optabs.obj: optabs.c insn-flags.h insn-codes.h insn-config.h | |
257 | print-rtl.obj: print-rtl.c | |
258 | profile.obj: profile.c insn-flags.h insn-config.h | |
259 | recog.obj: recog.c insn-attr.h insn-flags.h insn-codes.h insn-config.h | |
260 | regclass.obj: regclass.c insn-config.h | |
261 | reg-stack.obj: reg-stack.c insn-config.h | |
262 | reload.obj: reload.c insn-codes.h insn-config.h | |
263 | reload1.obj: reload1.c insn-flags.h insn-codes.h insn-config.h | |
264 | reorg.obj: reorg.c insn-attr.h insn-flags.h insn-config.h | |
265 | sched.obj: sched.c insn-attr.h insn-config.h | |
266 | haifa-sched.obj: haifa-sched.c insn-attr.h insn-config.h | |
2aabb736 | 267 | stmt.obj: stmt.c insn-flags.h insn-codes.h insn-config.h |
eeeb91c5 KK |
268 | stor-layout.obj: stor-layout.c |
269 | stupid.obj: stupid.c | |
2aabb736 | 270 | toplev.obj: toplev.c insn-attr.h insn-config.h |
eeeb91c5 KK |
271 | unroll.obj: unroll.c insn-config.h |
272 | ||
273 | insn-attrtab.obj: insn-attrtab.c insn-attr.h insn-config.h | |
274 | insn-output.obj: insn-output.c insn-attr.h insn-flags.h insn-codes.h | |
275 | insn-emit.obj: insn-emit.c insn-flags.h insn-codes.h insn-config.h | |
276 | insn-opinit.obj: insn-opinit.c insn-flags.h insn-codes.h insn-config.h | |
277 | insn-output.obj: insn-config.h | |
278 | insn-recog.obj: insn-config.h | |
279 | ||
280 | varasm.obj: varasm.c tm.h | |
281 | toplev.obj: toplev.c tm.h | |
282 | ||
283 | cexp.c: cexp.y | |
284 | $(BISON) $(BISON_FLAGS)/output=$@ $< | |
eeeb91c5 KK |
285 | c-parse.c: c-parse.y |
286 | $(BISON) $(BISON_FLAGS)/output=$@ $< | |
287 | [.cp]parse.c: [.cp]parse.y | |
288 | $(BISON) $(BISON_FLAGS)/output=$@ $< | |
289 | [.cp]parse.h: [.cp]parse.c | |
290 | @$(ECHO) "Must copy YYEMPTY from [.cp]parse.c to [.cp]parse.h" | |
291 | $$ stop | |
292 | aux-output.c: [.config.$(ARCH)]$(ARCH).c | |
293 | copy $< $@ | |
294 | ||
295 | expr.h: insn-codes.h | |
296 | reload.h: insn-config.h | |
297 | integrate.h: insn-config.h | |
298 | ||
299 | config.h: | |
300 | $$ @vmsconfig | |
301 | ||
302 | cleancccp: | |
303 | $$ purge | |
304 | $(RM) cccp.obj;,cexp.obj; | |
305 | $(RM) cpp.exe; | |
306 | ||
307 | cleanlib: | |
308 | $$ purge | |
309 | $(RM) libgcc2.olb; | |
310 | ||
311 | cleanlibplus: | |
312 | $$ purge | |
313 | $(RM) [.cp]tinfo.obj; | |
314 | $(RM) [.cp]tinfo2.obj; | |
315 | $(RM) [.cp]new.obj; | |
316 | $(RM) [.cp]new1.obj; | |
317 | $(RM) [.cp]new2.obj; | |
318 | $(RM) [.cp]exception.obj; | |
319 | $(RM) libgccplus.olb; | |
320 | ||
321 | clean: | |
322 | $$ purge | |
323 | $$ purge [.cp] | |
324 | $(RM) *.obj;* | |
325 | $(RM) [.cp]*.obj;* | |
326 | $(RM) [.cp]parse.output;* | |
327 | $(RM) *.cpp;* | |
328 | $(RM) *.s;* | |
329 | $(RM) *.rtl;* | |
330 | $(RM) a.out; | |
331 | $(RM) *.combine; | |
332 | $(RM) *.cpp; | |
333 | $(RM) *.cse; | |
334 | $(RM) *.cse2; | |
335 | $(RM) *.dbr; | |
336 | $(RM) *.flow; | |
337 | $(RM) *.greg; | |
338 | $(RM) *.jump; | |
339 | $(RM) *.jump2; | |
340 | $(RM) *.loop; | |
341 | $(RM) *.lreg; | |
342 | $(RM) *.rtl; | |
343 | $(RM) *.sched; | |
344 | $(RM) *.sched2; | |
345 | $(RM) *.map; | |
eeeb91c5 KK |
346 | $(RM) genattr.exe;,insn-attr.h; |
347 | $(RM) genflags.exe;,insn-flags.h; | |
348 | $(RM) gencodes.exe;,insn-codes.h; | |
349 | $(RM) genconfig.exe;,insn-config.h; | |
350 | $(RM) genpeep.exe;,insn-peep.c; | |
351 | $(RM) genopinit.exe;,insn-opinit.c; | |
352 | $(RM) genrecog.exe;,insn-recog.c; | |
353 | $(RM) genextract.exe;,insn-extract.c; | |
354 | $(RM) genoutput.exe;,insn-output.c; | |
355 | $(RM) genemit.exe;,insn-emit.c; | |
356 | $(RM) genattrtab.exe;,insn-attrtab.c; | |
2aabb736 | 357 | $(RM) gengenrtl.exe;,genrtl.c;,genrtl.h; |
eeeb91c5 KK |
358 | $(RM) cc1.exe; |
359 | $(RM) cpp.exe; | |
360 | $(RM) cc1plus.exe; | |
361 | $(RM) libgcc2.olb; | |
362 | $(RM) libgccplus.olb; | |
363 | $(RM) enquire.exe;,float.h;,limits.h; | |
364 | # | |
365 | # clean everything axpconfig.com creates | |
366 | # | |
367 | distclean: clean cleancccp | |
368 | purge [...] | |
369 | $(RM) config.h; | |
370 | $(RM) tconfig.h; | |
371 | $(RM) hconfig.h; | |
372 | $(RM) tm.h; | |
373 | $(RM) options.h; | |
374 | $(RM) specs.h; | |
375 | $(RM) aux-output.c; | |
376 | ||
377 | [.cp]call.obj: [.cp]call.c | |
378 | [.cp]decl2.obj: [.cp]decl2.c | |
379 | [.cp]except.obj: [.cp]except.c insn-codes.h insn-flags.h | |
380 | [.cp]pt.obj: [.cp]pt.c | |
381 | [.cp]spew.obj: [.cp]spew.c | |
382 | [.cp]xref.obj: [.cp]xref.c | |
383 | [.cp]class.obj: [.cp]class.c | |
384 | [.cp]expr.obj: [.cp]expr.c insn-codes.h | |
385 | [.cp]lex.obj: [.cp]lex.c [.cp]parse.h | |
386 | [.cp]ptree.obj: [.cp]ptree.c | |
387 | [.cp]tree.obj: [.cp]tree.c | |
388 | [.cp]cvt.obj: [.cp]cvt.c | |
389 | [.cp]errfn.obj: [.cp]errfn.c | |
390 | [.cp]rtti.obj: [.cp]rtti.c | |
391 | [.cp]method.obj: [.cp]method.c insn-codes.h | |
392 | [.cp]search.obj: [.cp]search.c | |
393 | [.cp]typeck.obj: [.cp]typeck.c | |
394 | [.cp]decl.obj: [.cp]decl.c | |
395 | [.cp]error.obj: [.cp]error.c | |
396 | [.cp]friend.obj: [.cp]friend.c | |
397 | [.cp]init.obj: [.cp]init.c | |
398 | [.cp]parse.obj: [.cp]parse.c | |
399 | $(CC) $(CFLAGS) $(CINCL_CP) $^/obj=$@ | |
400 | [.cp]sig.obj: [.cp]sig.c | |
401 | [.cp]typeck2.obj: [.cp]typeck2.c | |
402 | [.cp]repo.obj: [.cp]repo.c | |
403 | [.cp]input.obj: [.cp]input.c | |
404 | $(TOUCH) $@ | |
405 | # g++ library | |
406 | [.cp]tinfo.obj: [.cp]tinfo.cc | |
407 | [.cp]tinfo2.obj: [.cp]tinfo2.cc | |
408 | [.cp]new.obj: [.cp]new.cc | |
409 | [.cp]new1.obj: [.cp]new1.cc | |
410 | [.cp]new2.obj: [.cp]new2.cc | |
411 | [.cp]exception.obj: [.cp]exception.cc | |
412 | ||
413 | #EOF |