|
|
1.1.1.3 root 1: # Makefile for GAS.
2: # Copyright (C) 1989, Free Software Foundation
3: #
4: # This file is part of GAS, the GNU Assembler.
5: #
6: # GAS is free software; you can redistribute it and/or modify
7: # it under the terms of the GNU General Public License as published by
8: # the Free Software Foundation; either version 1, or (at your option)
9: # any later version.
10: #
11: # GAS is distributed in the hope that it will be useful,
12: # but WITHOUT ANY WARRANTY; without even the implied warranty of
13: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: # GNU General Public License for more details.
15: #
16: # You should have received a copy of the GNU General Public License
17: # along with GAS; see the file COPYING. If not, write to
18: # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
1.1 root 19:
1.1.1.3 root 20: # This makefile may be used to make the VAX, 68020, 80386,
21: # SPARC, or ns32k assembler(s).
1.1 root 22:
1.1.1.4 ! root 23: BINDIR = /usr/local/bin
! 24:
1.1.1.3 root 25: # If you are on a BSD system, un-comment the next two lines, and comment out
26: # the lines for SystemV and HPUX below
1.1.1.4 ! root 27: G0 = -g -I.
1.1 root 28: LDFLAGS = $(CFLAGS)
1.1.1.4 ! root 29: #
1.1.1.3 root 30: # To compile gas on a System Five machine, comment out the two lines above
31: # and un-comment out the next three lines
32: # Comment out the -lPW on the LOADLIBES line if you are using GCC.
1.1.1.4 ! root 33: # G0 = -g -I. -DUSG
1.1.1.3 root 34: # LDFLAGS = $(CFLAGS)
35: # LOADLIBES = -lmalloc -lPW
1.1.1.4 ! root 36: #
1.1.1.3 root 37: # To compile gas for HPUX, link m-hpux.h to m68k.h , and un-comment the
38: # next two lines. (If you are using GCC, comment out the alloca.o part)
39: # (Get alloca from the emacs distribution, or use GCC.)
1.1.1.4 ! root 40: # G0 = -g -I. -DUSG
1.1.1.3 root 41: # LOADLIBES = alloca.o
1.1.1.4 ! root 42: #
! 43: # To compile gas for a Sequent Symmetry, comment out all the above lines,
! 44: # and un-comment the next two lines.
! 45: # G0 = -g -I. -DUSE_SYSTEM_HDR -DEXEC_VERSION=1
! 46: # LOADLIBES = -lc /usr/att/lib/libc.a
1.1.1.3 root 47:
48: # If you just want to compile the vax assembler, type 'make avax'
49:
50: # If you just want to compile the i386 assembler, type 'make a386'
51:
52: # If you just want to compile the ns32k assembler, type 'make a32k'
53:
54: # If you just want to compile the sparc assembler, type 'make asparc'
55:
56: # If you just want to compile the mc68020 assembler, make sure m68k.h
57: # is correctly set up, and type type 'make a68' (Except on HPUX machines,
58: # where you will have to make the changes marked below before typing
59: # 'make a68'
60: # m68k.h should be a symbolic or hard-link to one of
61: # m-sun3.h , m-hpux.h or m-generic.h
62: # depending on which machine you want to compile the 68020 assembler for.
63: #
64: # If you machine does not have vfprintf, but does have _doprnt(),
65: # remove the # from the -DNO_VARARGS line below.
66: #
1.1.1.4 ! root 67: # If the return-type of a signal-hander is void (instead of int),
! 68: # remove the # from the -DSIGTY line below.
! 69: #
1.1.1.3 root 70: # To include the mc68851 mmu coprocessor instructions in the 68020 assembler,
71: # remove the # from the -Dm68851 line below.
72: #
73: # If you want the 80386 assembler to correctly handle fsub/fsubr and fdiv/fdivr
74: # opcodes (unlike most 80386 assemblers), remove the # from
75: # the -DNON_BROKEN_WORDS line below.
1.1.1.4 ! root 76: #
! 77: # To compile 80386 Gas for the Sequent Symmetry, un-comment the -DEXEC_VERSION
! 78: # and the -DUSE_SYSTEM_HDR lines below.
! 79: #
! 80: # To compile gas for the HP 9000/300 un-comment the -DUSE_HP_HDR line below.
! 81: #
1.1.1.3 root 82:
83: O1 = -DNO_VARARGS
84: O2 = # -DNON_BROKEN_WORDS
85: O3 = # -Dm68851
1.1.1.4 ! root 86: O4 = # -DEXEC_VERSION=1
! 87: O5 = # -DSIGTY=void
! 88: G4 = # -DUSE_SYSTEM_HDR
! 89: G5 = # -DUSE_HP_HDR
! 90:
! 91: OPTIONS = $(O1) $(O2) $(O3) $(O4) $(O5)
1.1.1.3 root 92:
1.1.1.4 ! root 93: CFLAGS = $(G0) $(G4) $(G5)
1.1 root 94:
1.1.1.3 root 95: #
96: # To make the 68020 assembler compile as the default, un-comment the next
97: # line, and comment out all the other lines that start with DEFAULT_GAS
98: DEFAULT_GAS=a68
99: #
100: # To make the VAX assembler compile as the default, un-comment the next
101: # line and commment out all the other lines that start with DEFAULT_GAS
102: #DEFAULT_GAS=avax
103: #
104: # To make the 80386 assembler compile as the default, un-comment the next
105: # line and commment out all the other lines that start with DEFAULT_GAS
106: #DEFAULT_GAS=a386
107: #
108: # To make the ns32k assembler compile as the default, un-comment the next
109: # line and commment out all the other lines that start with DEFAULT_GAS
110: #DEFAULT_GAS=a32k
111: #
112: # To make the sparc assembler compile as the default, un-comment the next
113: # line and commment out all the other lines that start with DEFAULT_GAS
114: #DEFAULT_GAS=asparc
115:
116: # Global Sources -------------------------------------------------------------
117:
118: a =\
119: as.o xrealloc.o xmalloc.o hash.o hex-value.o \
120: atof-generic.o append.o messages.o expr.o app.o \
121: frags.o input-file.o input-scrub.o output-file.o \
122: subsegs.o symbols.o version.o \
1.1 root 123: flonum-const.o flonum-copy.o flonum-mult.o strstr.o bignum-copy.o \
1.1.1.3 root 124: gdb.o gdb-file.o gdb-symbols.o gdb-blocks.o obstack.o \
1.1 root 125: gdb-lines.o
126:
1.1.1.3 root 127: a: $(DEFAULT_GAS)
128: @rm -f a
129: @ln $(DEFAULT_GAS) a
1.1 root 130:
1.1.1.3 root 131: # SPARC GAS ------------------------------------------------------------------
132: v = sparc.o atof-m68k.o write-sparc.o read-sparc.o
1.1 root 133:
1.1.1.3 root 134: V = sparc.c sparc.h sparc-opcode.h
1.1 root 135:
1.1.1.3 root 136: atof-m68k.o: flonum.h
137: sparc.o: sparc.c sparc.h sparc-opcode.h as.h frags.h struc-symbol.h
138: sparc.o: flonum.h expr.h hash.h md.h write.h read.h symbols.h
139: $(CC) -c $(CFLAGS) -DSPARC sparc.c
1.1 root 140:
1.1.1.3 root 141: write-sparc.o: write.c
1.1.1.4 ! root 142: $(CC) -c -DSPARC $(CFLAGS) write.c
1.1.1.3 root 143: mv write.o write-sparc.o
1.1 root 144:
1.1.1.3 root 145: read-sparc.o: read.c
1.1.1.4 ! root 146: $(CC) -c -DSPARC $(CFLAGS) read.c
1.1.1.3 root 147: mv read.o read-sparc.o
1.1 root 148:
1.1.1.3 root 149: asparc: $a $v
150: $(CC) -o asparc $(LDFLAGS) $a $v $(LOADLIBES)
151:
152: # NS32K GAS ------------------------------------------------------------------
1.1.1.4 ! root 153: w = ns32k.o atof-ns32k.o write-ns32k.o read-ns32k.o
1.1.1.3 root 154:
155: W = ns32k.c atof-ns32k.c ns32k-opcode.h
156:
157: atof-ns32k.o: flonum.h
158: ns32k.o: as.h frags.h struc-symbol.h flonum.h expr.h md.h hash.h
159: ns32k.o: write.h symbols.h ns32k-opcode.h
160:
1.1.1.4 ! root 161: write-ns32k.o: write.c
! 162: $(CC) -c -DNS32K $(CFLAGS) write.c
! 163: mv write.o write-ns32k.o
! 164:
! 165: read-ns32k.o:
! 166: $(CC) -c -DNS32K $(CFLAGS) read.c
! 167: mv read.o read-ns32k.o
! 168:
1.1.1.3 root 169: a32k: $a $w
170: $(CC) -o a32k $(LDFLAGS) $a $w $(LOADLIBES)
171:
172: # 80386 GAS ------------------------------------------------------------------
173: x = i386.o atof-i386.o write.o read.o
174:
175: X = i386.c atof-i386.c i386.h i386-opcode.h
176:
177: i386.o: i386.c as.h read.h flonum.h frags.h struc-symbol.h expr.h
178: i386.o: symbols.h hash.h md.h i386.h i386-opcode.h
1.1.1.4 ! root 179: $(CC) $(CFLAGS) $(OPTIONS) -c i386.c
1.1.1.3 root 180:
181: atof-i386.o: flonum.h
182:
183: a386: $a $x
184: $(CC) -o a386 $(LDFLAGS) $a $x $(LOADLIBES)
185:
186: # 68020 GAS ------------------------------------------------------------------
187: y = m68k.o atof-m68k.o write.o read.o
188:
189: Y = m68k.c atof-m68k.c m68k-opcode.h m-hpux.h m-sun3.h m-generic.h
1.1 root 190:
191: atof-m68k.o: flonum.h
1.1.1.3 root 192: m68k.o: m68k.c a.out.h as.h expr.h flonum.h frags.h hash.h
193: m68k.o: m68k-opcode.h m68k.h md.h obstack.h struc-symbol.h
1.1.1.4 ! root 194: $(CC) $(CFLAGS) $(OPTIONS) -c m68k.c
1.1.1.3 root 195:
196: a68: $a $y
197: $(CC) -o a68 $(LDFLAGS) $a $y $(LOADLIBES)
198:
199: # VAX GAS --------------------------------------------------------------------
200: z = vax.o atof-vax.o write.o read.o
201:
202: Z = vax.c atof-vax.c vax-opcode.h vax-inst.h make-gas.com objrecdef.h vms.c
203:
204: vax.o: vax.c a.out.h as.h expr.h flonum.h frags.h md.h obstack.h
205: vax.o: read.h struc-symbol.h symbols.h vax-inst.h vax-opcode.h
1.1 root 206: atof-vax.o: as.h flonum.h read.h
1.1.1.3 root 207:
208: avax: $a $z
209: $(CC) -o avax $(LDFLAGS) $a $z $(LOADLIBES)
210:
211: # global files ---------------------------------------------------------------
212:
1.1.1.4 ! root 213: as.o: as.c
! 214: $(CC) $(CFLAGS) $(OPTIONS) -c as.c
! 215:
1.1.1.3 root 216: messages.o: messages.c
1.1.1.4 ! root 217: $(CC) $(CFLAGS) $(OPTIONS) -c messages.c
1.1.1.3 root 218:
219: hash.o: hash.c
1.1.1.4 ! root 220: $(CC) $(CFLAGS) -Derror=as_fatal -c hash.c
1.1.1.3 root 221:
222: xmalloc.o: xmalloc.c
1.1.1.4 ! root 223: $(CC) $(CFLAGS) -Derror=as_fatal -c xmalloc.c
1.1.1.3 root 224:
225: xrealloc.o: xrealloc.c
1.1.1.4 ! root 226: $(CC) $(CFLAGS) -Derror=as_fatal -c xrealloc.c
1.1.1.3 root 227:
228: A =\
229: as.c xrealloc.c xmalloc.c hash.c hex-value.c \
230: atof-generic.c append.c messages.c expr.c bignum-copy.c \
231: frags.c input-file.c input-scrub.c output-file.c read.c \
232: subsegs.c symbols.c write.c strstr.c \
233: flonum-const.c flonum-copy.c flonum-mult.c app.c version.c \
234: gdb.c gdb-file.c gdb-symbols.c gdb-blocks.c obstack.c \
235: gdb-lines.c
236:
237: H = \
238: a.out.h as.h bignum.h expr.h flonum.h \
239: frags.h hash.h input-file.h md.h \
240: obstack.h read.h struc-symbol.h subsegs.h \
241: symbols.h write.h
242:
1.1.1.4 ! root 243: dist: COPYING README ChangeLog $A $H $Z $Y $X $W $V Makefile
! 244: echo gas-`sed -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q < version.c` > .fname
! 245: mkdir `cat .fname`
! 246:
! 247: ln COPYING README ChangeLog $A $H $Z $Y $X $W $V Makefile `cat .fname`
! 248: tar cvhZf `cat .fname`.tar.Z `cat .fname`
! 249: -rm -r `cat .fname`
1.1.1.3 root 250:
251: clean:
252: rm -f a avax a68 a386 a32k asparc $a $v $w $x $y $z a core gmon.out bugs a.out
253:
254: install: a
1.1.1.4 ! root 255: cp a $(BINDIR)/gas
1.1.1.3 root 256:
257:
258: # General .o-->.h dependencies
259:
260: app.o: as.h
261: as.o: a.out.h as.h read.h struc-symbol.h write.h
262: atof-generic.o: flonum.h
1.1 root 263: bignum-copy.o: bignum.h
264: expr.o: a.out.h as.h expr.h flonum.h obstack.h read.h struc-symbol.h
265: expr.o: symbols.h
266: flonum-const.o: flonum.h
267: flonum-copy.o: flonum.h
268: flonum-mult.o: flonum.h
269: flonum-normal.o:flonum.h
270: flonum-print.o: flonum.h
271: frags.o: a.out.h as.h frags.h obstack.h struc-symbol.h subsegs.h
272: gdb.o: as.h
273: gdb-blocks.o: as.h
274: gdb-lines.o: as.h frags.h obstack.h
275: gdb-symbols.o: a.out.h as.h struc-symbol.h
276: hash.o: hash.h
277: input-file.o: input-file.h
278: input-scrub.o: as.h input-file.h read.h
279: messages.o: as.h
280: obstack.o: obstack.h
281: read.o: a.out.h as.h expr.h flonum.h frags.h hash.h md.h obstack.h
282: read.o: read.h struc-symbol.h symbols.h
283: subsegs.o: a.out.h as.h frags.h obstack.h struc-symbol.h subsegs.h write.h
284: symbols.o: a.out.h as.h frags.h hash.h obstack.h struc-symbol.h symbols.h
285: write.o: a.out.h as.h md.h obstack.h struc-symbol.h subsegs.h
286: write.o: symbols.h write.h
287:
288: flonum.h: bignum.h
289:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.