| # |
| # makefile for GCC |
| # |
| # Created by Klaus K"ampf, kkaempf@progis.de |
| # |
| |
| # choose gcc or dec c |
| #CC = gcc |
| CC = cc |
| |
| # With or withou haifa scheduler ? |
| #HAIFA=,"HAIFA" |
| HAIFA= |
| |
| PWD=sys$$disk:[] |
| RM=delete/nolog |
| |
| ifeq ($(CC),gcc) |
| ifeq ($(ARCH),ALPHA) |
| CFLAGS=/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA)) |
| LIBS=,gnu_cc_library:libgcc.olb/lib,sys$$library:vaxcrtl.olb/lib,gnu_cc_library:crt0.obj |
| else |
| CFLAGS=/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA)) |
| LIBS=,gnu_cc_library:libgcc.olb/lib,sys$$library:vaxcrtl.olb/lib |
| endif |
| LFLAGS=/map/full |
| #LFLAGS= |
| else |
| ifeq ($(ARCH),ALPHA) |
| CFLAGS=/names=as_is/float=ieee/noopt/debug/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA))\ |
| /warning=disable=(missingreturn,implicitfunc,ptrmismatch,undefescap,longextern,duptypespec) |
| else |
| CFLAGS=/noopt/debug/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA)) |
| endif |
| LFLAGS=/nomap |
| LIBS=,sys$$library:vaxcrtl.olb/lib |
| endif |
| |
| BISON = bison |
| BISON_FLAGS= /Yacc/Define/Verbose |
| RENAME= rename/New_Version |
| LINK = link #/noshare/nosysshr |
| EDIT = edit |
| SEARCH= search |
| ABORT = exit %x002C |
| echo = write sys$$output |
| |
| CINCL1 = /Incl=([],[.config]) |
| CINCL2 = /Incl=([],[.ginclude],[.config]) |
| CINCL_SUB = /Incl=([],[-],[-.ginclude],[-.config]) |
| CINCL_CP= /Incl=([],[.config],[.cp],[.cp.inc]) |
| |
| MDFILE = [.config.$(ARCH)]$(ARCH).md |
| |
| ifeq ($(HAIFA),) |
| SCHED=sched |
| else |
| SCHED=haifa-sched |
| endif |
| |
| GENOBJS=[]rtl.obj,obstack.obj |
| |
| INDEPOBJS= []toplev.obj,version.obj,tree.obj,print-tree.obj,stor-layout.obj,\ |
| fold-const.obj,function.obj,stmt.obj,except.obj,expr.obj,calls.obj,expmed.obj,\ |
| explow.obj,optabs.obj,varasm.obj,rtl.obj,print-rtl.obj,rtlanal.obj,\ |
| emit-rtl.obj,genrtl.obj,real.obj,regmove.obj,dbxout.obj,sdbout.obj,dwarfout.obj,\ |
| dwarf2out.obj,xcoffout.obj,bitmap.obj,alias.obj,\ |
| integrate.obj,jump.obj,cse.obj,loop.obj,unroll.obj,flow.obj,stupid.obj,\ |
| combine.obj,regclass.obj,local-alloc.obj,global.obj,reload.obj,\ |
| reload1.obj,caller-save.obj,insn-peep.obj,reorg.obj,$(SCHED).obj,\ |
| final.obj,recog.obj,reg-stack.obj,insn-opinit.obj,insn-recog.obj,\ |
| insn-extract.obj,insn-output.obj,insn-emit.obj,\ |
| profile.obj,insn-attrtab.obj,\ |
| aux-output.obj,getpwd.obj,convert.obj |
| |
| CC1OBJS=[]c-parse.obj,c-lang.obj,c-lex.obj,c-pragma.obj,c-decl.obj,\ |
| c-typeck.obj,c-convert.obj,c-aux-info.obj,c-common.obj,c-iterate.obj,\ |
| obstack.obj |
| |
| OBJCOBJS= |
| |
| # list copied from cc1plus-objs.opt |
| |
| CC1PLUSOBJS=[.cp]call.obj,[.cp]decl2.obj,\ |
| [.cp]except.obj,[.cp]pt.obj,\ |
| [.cp]spew.obj,[.cp]xref.obj,[.cp]class.obj,\ |
| [.cp]expr.obj,[.cp]lex.obj,\ |
| [.cp]ptree.obj,[.cp]tree.obj,[.cp]cvt.obj,\ |
| [.cp]errfn.obj,[.cp]rtti.obj,[.cp]method.obj,\ |
| [.cp]search.obj,[.cp]typeck.obj,[.cp]decl.obj,\ |
| [.cp]error.obj,[.cp]friend.obj,[.cp]init.obj,[.cp]parse.obj,\ |
| [.cp]sig.obj,[.cp]typeck2.obj,[.cp]repo.obj,\ |
| [.cp]input.obj,\ |
| []obstack.obj,\ |
| []c-common.obj,[]c-pragma.obj |
| |
| CCCPOBJS=[]cccp.obj,cexp.obj,version.obj,prefix.obj |
| |
| ALLOCA=,[]alloca.obj |
| |
| LIBIBERTY = [-.libiberty]libiberty.olb |
| |
| CXX_LIB2FUNCS = [.cp]tinfo.obj,[.cp]tinfo2.obj,\ |
| [.cp]new.obj,[.cp]new1.obj,[.cp]new2.obj,[.cp]exception.obj |
| |
| .c.obj: |
| $(CC) $(CFLAGS) $(CINCL1) $</obj=$@ |
| |
| .cc.obj: |
| $(CC)/plus/CPP="-nostdinc++" $(CFLAGS) $(CINCL_CP) $</obj=$@ |
| |
| INSN_INCLUDES=insn-attr.h insn-codes.h insn-config.h insn-flags.h |
| |
| # |
| # |
| # |
| |
| all: cpp.exe cc1.exe float.h limits.h libgcc2.olb |
| |
| allplus: cc1plus.exe libgccplus.olb |
| |
| libplus: libgccplus.olb |
| |
| cc1.exe: $(CC1OBJS) $(ALLOCA) $(INDEPOBJS) |
| $(LINK)$(LFLAGS)/exe=$@ version.opt/opt,cc1-objs.opt/Opt,independent.opt/Opt$(ALLOCA)$(LIBS) |
| |
| cpp.exe: $(CCCPOBJS) $(ALLOCA) |
| $(LINK)$(LFLAGS)/exe=$@ $(CCCPOBJS),version.opt/opt$(ALLOCA)$(LIBS) |
| |
| cc1plus.exe: $(CC1PLUSOBJS) $(ALLOCA) $(INDEPOBJS) |
| $(LINK)$(LFLAGS)/exe=$@ version.opt/opt,cc1plus-objs.opt/Opt,independent.opt/Opt$(ALLOCA)$(LIBS) |
| |
| gcc.exe: gcc.obj version.obj choose-temp.obj pexecute.obj prefix.obj obstack.obj |
| $(LINK)$(LFLAGS)/exe=$@ $^$(ALLOCA)$(LIBS) |
| |
| install: cpp.exe cc1.exe gcc.exe libgcc2.olb |
| $(CP) $^ GNU_CC_LIBRARY |
| |
| installplus: cc1plus.exe libgccplus.olb |
| $(CP) $^ GNU_CC_LIBRARY |
| |
| float.h: enquire.exe |
| mcr $(PWD)enquire.exe -f > $@ |
| |
| limits.h: enquire.exe |
| mcr $(PWD)enquire.exe -l > $@ |
| |
| enquire.exe: enquire.obj |
| $(LINK)$(LFLAGS)/exe=$@ enquire.obj$(ALLOCA)$(LIBS) |
| |
| libgcc2.olb: |
| $$ @make-l2 |
| |
| libgccplus.olb: $(CXX_LIB2FUNCS) |
| lib/create libgccplus $(CXX_LIB2FUNCS) |
| |
| genattr.exe: genattr.obj,$(GENOBJS)$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| insn-attr.h: genattr.exe $(MDFILE) |
| mcr $(PWD)genattr.exe $(MDFILE) > $@ |
| |
| genflags.exe: genflags.obj,$(GENOBJS)$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| insn-flags.h: genflags.exe $(MDFILE) |
| mcr $(PWD)genflags.exe $(MDFILE) > $@ |
| |
| gencodes.exe: gencodes.obj,$(GENOBJS)$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| insn-codes.h: gencodes.exe $(MDFILE) |
| mcr $(PWD)gencodes.exe $(MDFILE) > $@ |
| |
| genconfig.exe: genconfig.obj,$(GENOBJS)$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| insn-config.h: genconfig.exe $(MDFILE) |
| mcr $(PWD)genconfig.exe $(MDFILE) > $@ |
| |
| genpeep.exe: genpeep.obj,$(GENOBJS)$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| insn-peep.c: genpeep.exe $(MDFILE) |
| mcr $(PWD)genpeep.exe $(MDFILE) > $@ |
| |
| genopinit.exe: genopinit.obj,$(GENOBJS)$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| insn-opinit.c: genopinit.exe $(MDFILE) |
| mcr $(PWD)genopinit.exe $(MDFILE) > $@ |
| |
| genrecog.exe: genrecog.obj,$(GENOBJS)$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| insn-recog.c: genrecog.exe $(MDFILE) |
| mcr $(PWD)genrecog.exe $(MDFILE) > $@ |
| |
| genextract.exe: genextract.obj,$(GENOBJS)$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| insn-extract.c: genextract.exe $(MDFILE) |
| mcr $(PWD)genextract.exe $(MDFILE) > $@ |
| |
| genoutput.exe: genoutput.obj,$(GENOBJS)$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| insn-output.c: genoutput.exe $(MDFILE) |
| mcr $(PWD)genoutput.exe $(MDFILE) > $@ |
| |
| genemit.exe: genemit.obj,$(GENOBJS)$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| insn-emit.c: genemit.exe $(MDFILE) |
| mcr $(PWD)genemit.exe $(MDFILE) > $@ |
| |
| genattrtab.exe: genattrtab.obj,rtlanal.obj,$(GENOBJS)$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| insn-attrtab.c: genattrtab.exe $(MDFILE) |
| mcr $(PWD)genattrtab.exe $(MDFILE) > $@ |
| |
| gengenrtl.exe: gengenrtl.obj,obstack.obj,$(ALLOCA) |
| $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) |
| |
| genrtl.h genrtl.c: gengenrtl.exe |
| mcr $(PWD)gengenrtl.exe genrtl.h genrtl.c |
| |
| cccp.obj: cccp.c config.h |
| aux-output.obj: aux-output.c insn-attr.h insn-flags.h insn-config.h |
| caller-save.obj: caller-save.c insn-config.h |
| calls.obj: calls.c insn-flags.h |
| combine.obj: combine.c insn-attr.h insn-flags.h insn-codes.h insn-config.h |
| cse.obj: cse.c insn-config.h |
| c-decl.obj: c-decl.c expr.h integrate.h insn-codes.h insn-config.h |
| c-lex.obj: c-lex.c genrtl.h |
| c-typeck.obj: c-typeck.c |
| dbxout.obj: dbxout.c insn-config.h |
| dwarfout.obj: dwarfout.c insn-config.h |
| dwarf2out.obj: dwarf2out.c insn-config.h |
| emit-rtl.obj: emit-rtl.c insn-config.h |
| except.obj: except.c insn-flags.h insn-codes.h insn-config.h |
| explow.obj: explow.c insn-flags.h insn-codes.h insn-config.h |
| expmed.obj: expmed.c insn-flags.h insn-codes.h insn-config.h |
| expr.obj: expr.c insn-flags.h insn-config.h |
| final.obj: final.c tm.h insn-attr.h insn-flags.h insn-codes.h insn-config.h |
| flow.obj: flow.c insn-config.h |
| function.obj: function.c insn-flags.h insn-codes.h insn-config.h insn-codes.h insn-config.h |
| genattrtab.obj: genattrtab.c insn-config.h |
| genextract.obj: genextract.c insn-config.h |
| global.obj: global.c insn-config.h |
| integrate.obj: integrate.c integrate.h insn-flags.h insn-config.h |
| jump.obj: jump.c insn-flags.h insn-config.h |
| local-alloc.obj: local-alloc.c insn-config.h |
| loop.obj: loop.c insn-flags.h insn-config.h |
| optabs.obj: optabs.c insn-flags.h insn-codes.h insn-config.h |
| print-rtl.obj: print-rtl.c |
| profile.obj: profile.c insn-flags.h insn-config.h |
| recog.obj: recog.c insn-attr.h insn-flags.h insn-codes.h insn-config.h |
| regclass.obj: regclass.c insn-config.h |
| reg-stack.obj: reg-stack.c insn-config.h |
| reload.obj: reload.c insn-codes.h insn-config.h |
| reload1.obj: reload1.c insn-flags.h insn-codes.h insn-config.h |
| reorg.obj: reorg.c insn-attr.h insn-flags.h insn-config.h |
| sched.obj: sched.c insn-attr.h insn-config.h |
| haifa-sched.obj: haifa-sched.c insn-attr.h insn-config.h |
| stmt.obj: stmt.c insn-flags.h insn-codes.h insn-config.h |
| stor-layout.obj: stor-layout.c |
| stupid.obj: stupid.c |
| toplev.obj: toplev.c insn-attr.h insn-config.h |
| unroll.obj: unroll.c insn-config.h |
| |
| insn-attrtab.obj: insn-attrtab.c insn-attr.h insn-config.h |
| insn-output.obj: insn-output.c insn-attr.h insn-flags.h insn-codes.h |
| insn-emit.obj: insn-emit.c insn-flags.h insn-codes.h insn-config.h |
| insn-opinit.obj: insn-opinit.c insn-flags.h insn-codes.h insn-config.h |
| insn-output.obj: insn-config.h |
| insn-recog.obj: insn-config.h |
| |
| varasm.obj: varasm.c tm.h |
| toplev.obj: toplev.c tm.h |
| |
| cexp.c: cexp.y |
| $(BISON) $(BISON_FLAGS)/output=$@ $< |
| c-parse.c: c-parse.y |
| $(BISON) $(BISON_FLAGS)/output=$@ $< |
| [.cp]parse.c: [.cp]parse.y |
| $(BISON) $(BISON_FLAGS)/output=$@ $< |
| [.cp]parse.h: [.cp]parse.c |
| @$(ECHO) "Must copy YYEMPTY from [.cp]parse.c to [.cp]parse.h" |
| $$ stop |
| aux-output.c: [.config.$(ARCH)]$(ARCH).c |
| copy $< $@ |
| |
| expr.h: insn-codes.h |
| reload.h: insn-config.h |
| integrate.h: insn-config.h |
| |
| config.h: |
| $$ @vmsconfig |
| |
| cleancccp: |
| $$ purge |
| $(RM) cccp.obj;,cexp.obj; |
| $(RM) cpp.exe; |
| |
| cleanlib: |
| $$ purge |
| $(RM) libgcc2.olb; |
| |
| cleanlibplus: |
| $$ purge |
| $(RM) [.cp]tinfo.obj; |
| $(RM) [.cp]tinfo2.obj; |
| $(RM) [.cp]new.obj; |
| $(RM) [.cp]new1.obj; |
| $(RM) [.cp]new2.obj; |
| $(RM) [.cp]exception.obj; |
| $(RM) libgccplus.olb; |
| |
| clean: |
| $$ purge |
| $$ purge [.cp] |
| $(RM) *.obj;* |
| $(RM) [.cp]*.obj;* |
| $(RM) [.cp]parse.output;* |
| $(RM) *.cpp;* |
| $(RM) *.s;* |
| $(RM) *.rtl;* |
| $(RM) a.out; |
| $(RM) *.combine; |
| $(RM) *.cpp; |
| $(RM) *.cse; |
| $(RM) *.cse2; |
| $(RM) *.dbr; |
| $(RM) *.flow; |
| $(RM) *.greg; |
| $(RM) *.jump; |
| $(RM) *.jump2; |
| $(RM) *.loop; |
| $(RM) *.lreg; |
| $(RM) *.rtl; |
| $(RM) *.sched; |
| $(RM) *.sched2; |
| $(RM) *.map; |
| $(RM) genattr.exe;,insn-attr.h; |
| $(RM) genflags.exe;,insn-flags.h; |
| $(RM) gencodes.exe;,insn-codes.h; |
| $(RM) genconfig.exe;,insn-config.h; |
| $(RM) genpeep.exe;,insn-peep.c; |
| $(RM) genopinit.exe;,insn-opinit.c; |
| $(RM) genrecog.exe;,insn-recog.c; |
| $(RM) genextract.exe;,insn-extract.c; |
| $(RM) genoutput.exe;,insn-output.c; |
| $(RM) genemit.exe;,insn-emit.c; |
| $(RM) genattrtab.exe;,insn-attrtab.c; |
| $(RM) gengenrtl.exe;,genrtl.c;,genrtl.h; |
| $(RM) cc1.exe; |
| $(RM) cpp.exe; |
| $(RM) cc1plus.exe; |
| $(RM) libgcc2.olb; |
| $(RM) libgccplus.olb; |
| $(RM) enquire.exe;,float.h;,limits.h; |
| # |
| # clean everything axpconfig.com creates |
| # |
| distclean: clean cleancccp |
| purge [...] |
| $(RM) config.h; |
| $(RM) tconfig.h; |
| $(RM) hconfig.h; |
| $(RM) tm.h; |
| $(RM) options.h; |
| $(RM) specs.h; |
| $(RM) aux-output.c; |
| |
| [.cp]call.obj: [.cp]call.c |
| [.cp]decl2.obj: [.cp]decl2.c |
| [.cp]except.obj: [.cp]except.c insn-codes.h insn-flags.h |
| [.cp]pt.obj: [.cp]pt.c |
| [.cp]spew.obj: [.cp]spew.c |
| [.cp]xref.obj: [.cp]xref.c |
| [.cp]class.obj: [.cp]class.c |
| [.cp]expr.obj: [.cp]expr.c insn-codes.h |
| [.cp]lex.obj: [.cp]lex.c [.cp]parse.h |
| [.cp]ptree.obj: [.cp]ptree.c |
| [.cp]tree.obj: [.cp]tree.c |
| [.cp]cvt.obj: [.cp]cvt.c |
| [.cp]errfn.obj: [.cp]errfn.c |
| [.cp]rtti.obj: [.cp]rtti.c |
| [.cp]method.obj: [.cp]method.c insn-codes.h |
| [.cp]search.obj: [.cp]search.c |
| [.cp]typeck.obj: [.cp]typeck.c |
| [.cp]decl.obj: [.cp]decl.c |
| [.cp]error.obj: [.cp]error.c |
| [.cp]friend.obj: [.cp]friend.c |
| [.cp]init.obj: [.cp]init.c |
| [.cp]parse.obj: [.cp]parse.c |
| $(CC) $(CFLAGS) $(CINCL_CP) $^/obj=$@ |
| [.cp]sig.obj: [.cp]sig.c |
| [.cp]typeck2.obj: [.cp]typeck2.c |
| [.cp]repo.obj: [.cp]repo.c |
| [.cp]input.obj: [.cp]input.c |
| $(TOUCH) $@ |
| # g++ library |
| [.cp]tinfo.obj: [.cp]tinfo.cc |
| [.cp]tinfo2.obj: [.cp]tinfo2.cc |
| [.cp]new.obj: [.cp]new.cc |
| [.cp]new1.obj: [.cp]new1.cc |
| [.cp]new2.obj: [.cp]new2.cc |
| [.cp]exception.obj: [.cp]exception.cc |
| |
| #EOF |