|
|
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,
1.1.1.5 ! root 21: # SPARC, ns32k, or i860 assembler(s).
1.1 root 22:
1.1.1.4 root 23: BINDIR = /usr/local/bin
1.1.1.5 ! root 24: #CC=gcc
1.1.1.4 root 25:
1.1.1.3 root 26: # If you are on a BSD system, un-comment the next two lines, and comment out
27: # the lines for SystemV and HPUX below
1.1.1.5 ! root 28: G0 = -g -I. #-O -Wall
1.1 root 29: LDFLAGS = $(CFLAGS)
1.1.1.4 root 30: #
1.1.1.3 root 31: # To compile gas on a System Five machine, comment out the two lines above
32: # and un-comment out the next three lines
33: # Comment out the -lPW on the LOADLIBES line if you are using GCC.
1.1.1.4 root 34: # G0 = -g -I. -DUSG
1.1.1.3 root 35: # LDFLAGS = $(CFLAGS)
36: # LOADLIBES = -lmalloc -lPW
1.1.1.4 root 37: #
1.1.1.3 root 38: # To compile gas for HPUX, link m-hpux.h to m68k.h , and un-comment the
39: # next two lines. (If you are using GCC, comment out the alloca.o part)
40: # (Get alloca from the emacs distribution, or use GCC.)
1.1.1.5 ! root 41: # HPUX 7.0 may have a bug in setvbuf. gas gives an error message like
! 42: # 1:"Unknown operator" -- Statement 'NO_APP' ignored
! 43: # if setvbuf is broken. Re-compile input-file.c (and only input-file.c
! 44: # with -DVMS and the problem should go away.
! 45: #
1.1.1.4 root 46: # G0 = -g -I. -DUSG
1.1.1.3 root 47: # LOADLIBES = alloca.o
1.1.1.4 root 48: #
49: # To compile gas for a Sequent Symmetry, comment out all the above lines,
50: # and un-comment the next two lines.
51: # G0 = -g -I. -DUSE_SYSTEM_HDR -DEXEC_VERSION=1
52: # LOADLIBES = -lc /usr/att/lib/libc.a
1.1.1.3 root 53:
54: # If you just want to compile the vax assembler, type 'make avax'
55:
56: # If you just want to compile the i386 assembler, type 'make a386'
57:
58: # If you just want to compile the ns32k assembler, type 'make a32k'
59:
60: # If you just want to compile the sparc assembler, type 'make asparc'
61:
62: # If you just want to compile the mc68020 assembler, make sure m68k.h
63: # is correctly set up, and type type 'make a68' (Except on HPUX machines,
64: # where you will have to make the changes marked below before typing
65: # 'make a68'
66: # m68k.h should be a symbolic or hard-link to one of
67: # m-sun3.h , m-hpux.h or m-generic.h
68: # depending on which machine you want to compile the 68020 assembler for.
69: #
1.1.1.5 ! root 70: # If you want the 68k assembler to be completely compatable with the the
! 71: # SUN one, un-comment the -DSUN_ASM_SYNTAX line below.
! 72: #
1.1.1.3 root 73: # If you machine does not have vfprintf, but does have _doprnt(),
74: # remove the # from the -DNO_VARARGS line below.
75: #
1.1.1.4 root 76: # If the return-type of a signal-hander is void (instead of int),
77: # remove the # from the -DSIGTY line below.
78: #
1.1.1.3 root 79: # To include the mc68851 mmu coprocessor instructions in the 68020 assembler,
80: # remove the # from the -Dm68851 line below.
81: #
1.1.1.5 ! root 82: # If you want the 68020 assembler use a register prefix character, un-comment
! 83: # the REGISTER_PREFIX line, and (maybe) change the '%' to the appropriate
! 84: # character.
! 85: #
! 86: # If you want the assembler to treat .L* or ..* symbols as local, instead of
! 87: # the usual L* symbols, un-comment the DOT_LABEL_PREFIX line.
! 88: #
1.1.1.3 root 89: # If you want the 80386 assembler to correctly handle fsub/fsubr and fdiv/fdivr
90: # opcodes (unlike most 80386 assemblers), remove the # from
91: # the -DNON_BROKEN_WORDS line below.
1.1.1.4 root 92: #
93: # To compile 80386 Gas for the Sequent Symmetry, un-comment the -DEXEC_VERSION
94: # and the -DUSE_SYSTEM_HDR lines below.
95: #
96: # To compile gas for the HP 9000/300 un-comment the -DUSE_HP_HDR line below.
97: #
1.1.1.5 ! root 98: # For the ns32k, the options are 32532 or 32032 CPU and 32381 or 32081 FPU.
! 99: # To select the NS32532, remove the # from the -DNS32532 line below.
! 100: # To compile in tne NS32381 opcodes in addition to the NS32081 opcodes
! 101: # (the 32381 is a superset of the 32081), remove the # from the -DNS32381
! 102: # line below.
! 103: #
! 104: # For the ns32k on a Sequent, uncomment the SEQUENT_COMPATABILITY line below.
! 105: #
! 106: # If you want the .align N directive to align to the next N byte boundry,
! 107: # instead of the next 1<<N boundry, un-comment the OTHER_ALIGN line below.
! 108: # (This option is automatically enabled when building the sparc assembler.
! 109: #
1.1.1.3 root 110:
111: O1 = -DNO_VARARGS
112: O2 = # -DNON_BROKEN_WORDS
113: O3 = # -Dm68851
1.1.1.4 root 114: O4 = # -DEXEC_VERSION=1
115: O5 = # -DSIGTY=void
1.1.1.5 ! root 116: O6 = # -DNS32532
! 117: O6 = # -DNS32381
! 118: O7 = # -DDOT_LABEL_PREFIX
! 119: O8 = # -DSEQUENT_COMPATABILITY
! 120: O9 = # -DREGISTER_PREFIX=\'%\'
! 121: O10= # -DOTHER_ALIGN
! 122:
! 123: G1 = # -DUSE_SYSTEM_HDR
! 124: G2 = # -DUSE_HP_HDR
! 125: G3 = # -DSUN_ASM_SYNTAX
1.1.1.4 root 126:
1.1.1.5 ! root 127: OPTIONS = $(O1) $(O2) $(O3) $(O4) $(O5) $(O6) $(O7) $(O8) $(O9) $(O10)
1.1.1.3 root 128:
1.1.1.5 ! root 129: CFLAGS = $(G0) $(G1) $(G2) $(G3) $(G4)
1.1 root 130:
1.1.1.3 root 131: #
132: # To make the 68020 assembler compile as the default, un-comment the next
133: # line, and comment out all the other lines that start with DEFAULT_GAS
134: DEFAULT_GAS=a68
135: #
136: # To make the VAX assembler compile as the default, un-comment the next
137: # line and commment out all the other lines that start with DEFAULT_GAS
138: #DEFAULT_GAS=avax
139: #
140: # To make the 80386 assembler compile as the default, un-comment the next
141: # line and commment out all the other lines that start with DEFAULT_GAS
142: #DEFAULT_GAS=a386
143: #
144: # To make the ns32k assembler compile as the default, un-comment the next
145: # line and commment out all the other lines that start with DEFAULT_GAS
146: #DEFAULT_GAS=a32k
147: #
148: # To make the sparc assembler compile as the default, un-comment the next
149: # line and commment out all the other lines that start with DEFAULT_GAS
150: #DEFAULT_GAS=asparc
1.1.1.5 ! root 151: #
! 152: # To make the i860 assembler compile as the default, un-comment the next
! 153: # line and comment out all the other lines that start with DEFAULT_GAS
! 154: #DEFAULT_GAS=a860
1.1.1.3 root 155:
156: # Global Sources -------------------------------------------------------------
157:
158: a =\
159: as.o xrealloc.o xmalloc.o hash.o hex-value.o \
160: atof-generic.o append.o messages.o expr.o app.o \
161: frags.o input-file.o input-scrub.o output-file.o \
162: subsegs.o symbols.o version.o \
1.1 root 163: flonum-const.o flonum-copy.o flonum-mult.o strstr.o bignum-copy.o \
1.1.1.5 ! root 164: obstack.o
! 165: #gdb.o gdb-file.o gdb-symbols.o gdb-blocks.o gdb-lines.o
1.1 root 166:
1.1.1.3 root 167: a: $(DEFAULT_GAS)
168: @rm -f a
169: @ln $(DEFAULT_GAS) a
1.1 root 170:
1.1.1.5 ! root 171: # I860 GAS ------------------------------------------------------------------
! 172: u = i860.o atof-ieee.o write-i860.o read-i860.o
! 173:
! 174: U = i860.c i860.h i860-opcode.h
! 175:
! 176: i860.o: i860.c i860.h i860-opcode.h as.h frags.h struc-symbol.h
! 177: i860.o: flonum.h expr.h hash.h md.h write.h read.h symbols.h
! 178: $(CC) -c $(CFLAGS) -DI860 i860.c
! 179:
! 180: atof-ieee.o: flonum.h
! 181:
! 182: write-i860.o: write.c i860.h
! 183: $(CC) -c -DI860 $(CFLAGS) write.c
! 184: mv write.o write-i860.o
! 185:
! 186: read-i860.o: read.c i860.h
! 187: $(CC) -c -DI860 $(CFLAGS) read.c
! 188: mv read.o read-i860.o
! 189:
! 190: a860: $a $u
! 191: $(CC) -o a860 $(LDFLAGS) $a $u $(LOADLIBES)
! 192:
1.1.1.3 root 193: # SPARC GAS ------------------------------------------------------------------
1.1.1.5 ! root 194: v = sparc.o atof-ieee.o write-sparc.o read-sparc.o
1.1 root 195:
1.1.1.3 root 196: V = sparc.c sparc.h sparc-opcode.h
1.1 root 197:
1.1.1.5 ! root 198: atof-ieee.o: flonum.h
1.1.1.3 root 199: sparc.o: sparc.c sparc.h sparc-opcode.h as.h frags.h struc-symbol.h
200: sparc.o: flonum.h expr.h hash.h md.h write.h read.h symbols.h
201: $(CC) -c $(CFLAGS) -DSPARC sparc.c
1.1 root 202:
1.1.1.3 root 203: write-sparc.o: write.c
1.1.1.4 root 204: $(CC) -c -DSPARC $(CFLAGS) write.c
1.1.1.3 root 205: mv write.o write-sparc.o
1.1 root 206:
1.1.1.3 root 207: read-sparc.o: read.c
1.1.1.4 root 208: $(CC) -c -DSPARC $(CFLAGS) read.c
1.1.1.3 root 209: mv read.o read-sparc.o
1.1 root 210:
1.1.1.3 root 211: asparc: $a $v
212: $(CC) -o asparc $(LDFLAGS) $a $v $(LOADLIBES)
213:
214: # NS32K GAS ------------------------------------------------------------------
1.1.1.5 ! root 215: w = ns32k.o atof-ieee.o write-ns32k.o read-ns32k.o
1.1.1.3 root 216:
1.1.1.5 ! root 217: W = ns32k.c ns32k-opcode.h
1.1.1.3 root 218:
1.1.1.5 ! root 219: atof-ieee.o: flonum.h
1.1.1.3 root 220: ns32k.o: as.h frags.h struc-symbol.h flonum.h expr.h md.h hash.h
1.1.1.5 ! root 221: ns32k.o: write.h symbols.h ns32k-opcode.h ns32k.c
! 222: $(CC) $(CFLAGS) $(OPTIONS) -c ns32k.c
1.1.1.3 root 223:
1.1.1.4 root 224: write-ns32k.o: write.c
225: $(CC) -c -DNS32K $(CFLAGS) write.c
226: mv write.o write-ns32k.o
227:
228: read-ns32k.o:
229: $(CC) -c -DNS32K $(CFLAGS) read.c
230: mv read.o read-ns32k.o
231:
1.1.1.3 root 232: a32k: $a $w
233: $(CC) -o a32k $(LDFLAGS) $a $w $(LOADLIBES)
234:
235: # 80386 GAS ------------------------------------------------------------------
1.1.1.5 ! root 236: x = i386.o atof-ieee.o write.o read.o
1.1.1.3 root 237:
1.1.1.5 ! root 238: X = i386.c i386.h i386-opcode.h
1.1.1.3 root 239:
240: i386.o: i386.c as.h read.h flonum.h frags.h struc-symbol.h expr.h
241: i386.o: symbols.h hash.h md.h i386.h i386-opcode.h
1.1.1.4 root 242: $(CC) $(CFLAGS) $(OPTIONS) -c i386.c
1.1.1.3 root 243:
1.1.1.5 ! root 244: atof-ieee.o: flonum.h
1.1.1.3 root 245:
246: a386: $a $x
247: $(CC) -o a386 $(LDFLAGS) $a $x $(LOADLIBES)
248:
249: # 68020 GAS ------------------------------------------------------------------
1.1.1.5 ! root 250: y = m68k.o atof-ieee.o write.o read.o
! 251:
! 252: Y = m68k.c atof-ieee.c m68k-opcode.h m-hpux.h m-sun3.h m-generic.h
1.1.1.3 root 253:
1.1.1.5 ! root 254: atof-ieee.o: flonum.h
1.1 root 255:
1.1.1.5 ! root 256: m68k.o: m68k.c a.out.gnu.h as.h expr.h flonum.h frags.h hash.h
1.1.1.3 root 257: m68k.o: m68k-opcode.h m68k.h md.h obstack.h struc-symbol.h
1.1.1.4 root 258: $(CC) $(CFLAGS) $(OPTIONS) -c m68k.c
1.1.1.3 root 259:
260: a68: $a $y
261: $(CC) -o a68 $(LDFLAGS) $a $y $(LOADLIBES)
262:
263: # VAX GAS --------------------------------------------------------------------
264: z = vax.o atof-vax.o write.o read.o
265:
1.1.1.5 ! root 266: Z = vax.c atof-vax.c vax-opcode.h vax-inst.h \
! 267: make-gas.com objrecdef.h vms.c vms-dbg.c README-vms-dbg
1.1.1.3 root 268:
1.1.1.5 ! root 269: vax.o: vax.c a.out.gnu.h as.h expr.h flonum.h frags.h md.h obstack.h
1.1.1.3 root 270: vax.o: read.h struc-symbol.h symbols.h vax-inst.h vax-opcode.h
1.1 root 271: atof-vax.o: as.h flonum.h read.h
1.1.1.3 root 272:
273: avax: $a $z
274: $(CC) -o avax $(LDFLAGS) $a $z $(LOADLIBES)
275:
276: # global files ---------------------------------------------------------------
277:
1.1.1.4 root 278: as.o: as.c
279: $(CC) $(CFLAGS) $(OPTIONS) -c as.c
280:
1.1.1.3 root 281: messages.o: messages.c
1.1.1.4 root 282: $(CC) $(CFLAGS) $(OPTIONS) -c messages.c
1.1.1.3 root 283:
284: hash.o: hash.c
1.1.1.4 root 285: $(CC) $(CFLAGS) -Derror=as_fatal -c hash.c
1.1.1.3 root 286:
287: xmalloc.o: xmalloc.c
1.1.1.4 root 288: $(CC) $(CFLAGS) -Derror=as_fatal -c xmalloc.c
1.1.1.3 root 289:
290: xrealloc.o: xrealloc.c
1.1.1.4 root 291: $(CC) $(CFLAGS) -Derror=as_fatal -c xrealloc.c
1.1.1.3 root 292:
293: A =\
294: as.c xrealloc.c xmalloc.c hash.c hex-value.c \
295: atof-generic.c append.c messages.c expr.c bignum-copy.c \
296: frags.c input-file.c input-scrub.c output-file.c read.c \
297: subsegs.c symbols.c write.c strstr.c \
298: flonum-const.c flonum-copy.c flonum-mult.c app.c version.c \
1.1.1.5 ! root 299: obstack.c \
! 300: #gdb.c gdb-file.c gdb-symbols.c gdb-blocks.c \
! 301: #gdb-lines.c
1.1.1.3 root 302:
303: H = \
1.1.1.5 ! root 304: a.out.gnu.h as.h bignum.h expr.h flonum.h \
1.1.1.3 root 305: frags.h hash.h input-file.h md.h \
306: obstack.h read.h struc-symbol.h subsegs.h \
307: symbols.h write.h
308:
1.1.1.5 ! root 309: dist: COPYING README ChangeLog $A $H $Z $Y $X $W $V $U Makefile
! 310: echo gas-`sed -n -e '/ version /s/[^0-9.]*\([0-9.]*\).*/\1/p' < version.c` > .fname
1.1.1.4 root 311: mkdir `cat .fname`
312:
1.1.1.5 ! root 313: ln COPYING README ChangeLog $A $H $Z $Y $X $W $V $U Makefile `cat .fname`
1.1.1.4 root 314: tar cvhZf `cat .fname`.tar.Z `cat .fname`
315: -rm -r `cat .fname`
1.1.1.5 ! root 316: -rm .fname
1.1.1.3 root 317:
318: clean:
319: rm -f a avax a68 a386 a32k asparc $a $v $w $x $y $z a core gmon.out bugs a.out
320:
321: install: a
1.1.1.4 root 322: cp a $(BINDIR)/gas
1.1.1.3 root 323:
324:
325: # General .o-->.h dependencies
326:
327: app.o: as.h
1.1.1.5 ! root 328: as.o: a.out.gnu.h as.h read.h struc-symbol.h write.h
1.1.1.3 root 329: atof-generic.o: flonum.h
1.1 root 330: bignum-copy.o: bignum.h
1.1.1.5 ! root 331: expr.o: a.out.gnu.h as.h expr.h flonum.h obstack.h read.h struc-symbol.h
1.1 root 332: expr.o: symbols.h
333: flonum-const.o: flonum.h
334: flonum-copy.o: flonum.h
335: flonum-mult.o: flonum.h
336: flonum-normal.o:flonum.h
337: flonum-print.o: flonum.h
1.1.1.5 ! root 338: frags.o: a.out.gnu.h as.h frags.h obstack.h struc-symbol.h subsegs.h
! 339: #gdb.o: as.h
! 340: #gdb-blocks.o: as.h
! 341: #gdb-lines.o: as.h frags.h obstack.h
! 342: #gdb-symbols.o: a.out.gnu.h as.h struc-symbol.h
1.1 root 343: hash.o: hash.h
344: input-file.o: input-file.h
345: input-scrub.o: as.h input-file.h read.h
346: messages.o: as.h
347: obstack.o: obstack.h
1.1.1.5 ! root 348: read.o: a.out.gnu.h as.h expr.h flonum.h frags.h hash.h md.h obstack.h
1.1 root 349: read.o: read.h struc-symbol.h symbols.h
1.1.1.5 ! root 350: subsegs.o: a.out.gnu.h as.h frags.h obstack.h struc-symbol.h subsegs.h write.h
! 351: symbols.o: a.out.gnu.h as.h frags.h hash.h obstack.h struc-symbol.h symbols.h
! 352: write.o: a.out.gnu.h as.h md.h obstack.h struc-symbol.h subsegs.h
1.1 root 353: write.o: symbols.h write.h
354:
355: flonum.h: bignum.h
356:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.