Commit | Line | Data |
---|---|---|
f649d525 ILT |
1 | # |
2 | # makefile for gas | |
3 | # | |
9f13ead9 | 4 | # Created by Klaus K"ampf, kkaempf@progis.de |
f649d525 | 5 | # |
8e6950e3 ILT |
6 | CC=gcc |
7 | ifeq ($(ARCH),ALPHA) | |
f649d525 ILT |
8 | ifeq ($(CC),gcc) |
9 | DEFS= | |
396e8d7f | 10 | CFLAGS=/include=([],[-.bfd],[.config],[-.include],[-])$(DEFS) |
f649d525 | 11 | LFLAGS= |
9659c18b | 12 | LIBS=,GNU_CC_LIBRARY:libgcc/lib,sys$$library:vaxcrtl.olb/lib,GNU_CC_LIBRARY:crt0.obj |
f649d525 ILT |
13 | else |
14 | DEFS=/define=("table_size_of_flonum_powers_of_ten"="tabsiz_flonum_powers_of_ten",\ | |
15 | "_bfd_generic_get_section_contents_in_window"="_bfd_generic_get_win_section_cont",\ | |
16 | "_elf_section_from_bfd_section"="_bfd_elf_sec_from_bfd_sec","const=") | |
10779648 | 17 | CFLAGS=/noopt/nodebug/include=([],[-.bfd],[.config],[-.include],[-])$(DEFS)\ |
9f13ead9 | 18 | /warnings=disable=(missingreturn,implicitfunc,ptrmismatch,undefescap,longextern,duptypespec) |
f649d525 | 19 | LFLAGS= |
9659c18b | 20 | LIBS=,sys$$library:vaxcrtl.olb/lib |
f649d525 ILT |
21 | endif |
22 | ||
8e6950e3 ILT |
23 | else # ARCH not ALPHA |
24 | ||
25 | ifeq ($(CC),gcc) | |
26 | DEFS= | |
27 | CFLAGS=/include=([],[.config],[-.include],[-])$(DEFS) | |
28 | LFLAGS= | |
29 | LIBS=,GNU_CC_LIBRARY:libgcc/lib,sys$$library:vaxcrtl.olb/lib,GNU_CC_LIBRARY:crtbegin.obj,GNU_CC_LIBRARY:crtend.obj | |
30 | #LIBS=,gnu_cc:[000000]gcclib.olb/lib,sys$$library:vaxcrtl.olb/lib | |
31 | else | |
32 | error DECC is broken on VAX | |
33 | DEFS=/define=("table_size_of_flonum_powers_of_ten"="tabsiz_flonum_powers_of_ten","const=") | |
34 | CFLAGS=/noopt/debug/include=([],[.config],[-.include],[-])$(DEFS)\ | |
35 | /warnings=disable=(missingreturn,implicitfunc,ptrmismatch,undefescap,longextern,duptypespec) | |
36 | LFLAGS= | |
37 | LIBS=,sys$$library:vaxcrtl.olb/lib | |
38 | endif | |
39 | endif | |
40 | ||
41 | ||
f649d525 | 42 | OBJS=targ-cpu.obj,obj-format.obj,atof-targ.obj,app.obj,as.obj,atof-generic.obj,\ |
db5bb86e | 43 | bignum-copy.obj,cond.obj,depend.obj,expr.obj,flonum-konst.obj,flonum-copy.obj,\ |
f649d525 ILT |
44 | flonum-mult.obj,frags.obj,hash.obj,input-file.obj,input-scrub.obj,\ |
45 | literal.obj,messages.obj,output-file.obj,read.obj,subsegs.obj,symbols.obj,\ | |
8e6950e3 | 46 | write.obj,listing.obj,ecoff.obj,stabs.obj,sb.obj,macro.obj,ehopt.obj |
f649d525 | 47 | |
596c5b74 ILT |
48 | GASPOBJS = gasp.obj,macro.obj,sb.obj,hash.obj |
49 | ||
f649d525 | 50 | LIBIBERTY = [-.libiberty]libiberty.olb |
8e6950e3 ILT |
51 | |
52 | ifeq ($(ARCH),ALPHA) | |
f649d525 ILT |
53 | LIBBFD = [-.bfd]libbfd.olb |
54 | LIBOPCODES = [-.opcodes]libopcodes.olb | |
8e6950e3 ILT |
55 | BFDDEP = [-.bfd]bfd.h |
56 | else | |
57 | LIBBFD = | |
58 | LIBOPCODES = | |
59 | BFDDEP = | |
60 | endif | |
f649d525 | 61 | |
8e6950e3 | 62 | all: config.status $(BFDDEP) as.exe gasp.exe |
f649d525 ILT |
63 | |
64 | as.exe: $(OBJS) $(LIBOPCODES) $(LIBBFD) $(LIBIBERTY) | |
8e6950e3 | 65 | ifeq ($(ARCH),ALPHA) |
f649d525 | 66 | link$(LFLAGS)/exe=$@ $(OBJS),$(LIBOPCODES)/lib,$(LIBBFD)/lib,$(LIBIBERTY)/lib$(LIBS) |
8e6950e3 ILT |
67 | else |
68 | link$(LFLAGS)/exe=$@ $(OBJS),$(LIBIBERTY)/lib$(LIBS) | |
69 | endif | |
f649d525 | 70 | |
596c5b74 | 71 | gasp.exe: $(GASPOBJS) $(LIBBFD) $(LIBIBERTY) |
8e6950e3 | 72 | ifeq ($(ARCH),ALPHA) |
596c5b74 | 73 | link$(LFLAGS)/exe=$@ $(GASPOBJS),$(LIBBFD)/lib,$(LIBIBERTY)/lib$(LIBS) |
8e6950e3 ILT |
74 | else |
75 | link$(LFLAGS)/exe=$@ $(GASPOBJS),$(LIBIBERTY)/lib$(LIBS) | |
76 | endif | |
f649d525 | 77 | |
396e8d7f ILT |
78 | config.status: |
79 | $$ @config-gas | |
80 | ||
8e6950e3 ILT |
81 | ifeq ($(ARCH),ALPHA) |
82 | CPU=alpha | |
83 | OBJFORMAT=evax | |
84 | FLTFORMAT=ieee | |
85 | else | |
86 | CPU=vax | |
87 | OBJFORMAT=vms | |
88 | FLTFORMAT=vax | |
89 | endif | |
90 | ||
91 | targ-cpu.c: [.config]tc-$(CPU).c | |
f649d525 | 92 | copy $< $@ |
8e6950e3 | 93 | targ-cpu.h: [.config]tc-$(CPU).h |
f649d525 ILT |
94 | copy $< $@ |
95 | targ-env.h: [.config]te-generic.h | |
96 | copy $< $@ | |
8e6950e3 | 97 | obj-format.h: [.config]obj-$(OBJFORMAT).h |
f649d525 | 98 | copy $< $@ |
8e6950e3 | 99 | obj-format.c: [.config]obj-$(OBJFORMAT).c |
f649d525 | 100 | copy $< $@ |
8e6950e3 | 101 | atof-targ.c: [.config]atof-$(FLTFORMAT).c |
f649d525 ILT |
102 | copy $< $@ |
103 | ||
104 | targ-cpu.obj: targ-cpu.c targ-cpu.h [.config]atof-vax.c | |
396e8d7f ILT |
105 | |
106 | [-.bfd]bfd.h: | |
107 | $(CD) [-.bfd] | |
10779648 | 108 | gmake -f makefile.vms "CC=$(CC)" |
396e8d7f ILT |
109 | $(CD) [-.gas] |
110 | ||
8e6950e3 ILT |
111 | install: as.exe gasp.exe |
112 | $(CP) $^ GNU_ROOT\:[BIN] | |
113 | ||
396e8d7f ILT |
114 | clean: |
115 | $$ purge | |
116 | $(RM) *.obj; | |
117 | $(RM) *.exe; | |
118 | $(RM) atof-targ.c; | |
119 | $(RM) obj-format.c; | |
120 | $(RM) obj-format.h; | |
121 | $(RM) targ-env.h; | |
122 | $(RM) targ-cpu.h; | |
123 | $(RM) targ-cpu.c; | |
124 | $(RM) config.status; |