# Makefile for GAS. # Copyright (C) 1989, Free Software Foundation # # This file is part of GAS, the GNU Assembler. # # GAS is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 1, or (at your option) # any later version. # # GAS is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GAS; see the file COPYING. If not, write to # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # This makefile may be used to make the VAX, the 68020 the 80386 or the # ns32k assembler. # If you just want to compile the vax assembler, type 'make avax' # If you just want to compile the mc68020 assembler, make sure m68k.h # is correctly set up, and type type 'make a68' (Except on HPUX machines, # where you will have to make the changes marked below before typing # 'make a68' # If you just want to compile the i386 assembler, type 'make a386' # If you just want to compile the ns32k assembler, type 'make a32k' # If you just want to compile the sparc assembler, type 'make asparc' # To make the 68020 assembler compile as the default, un-comment the next # five lines (the first line starts with a:), and comment out the # a: groups for the other assemblers. # #NOTE: m68k.h should be a symbolic or hard-link to one of # m-sun3.h , m-hpux.h or m-generic.h # depending on which machine you want to compile the 68020 assembler for. # # To compile for HPUX, link m-hpux.h to m68k.h , un-comment the # next two lines, and comment out the OPTIONS line below. # (Get alloca from the emacs distribution.) # OPTIONS = -DUSG # LOADLIBES = alloca.o # # to include the mc68851 mmu coprocessor instructions un-comment # the next line, and comment out the following line. (68020 only) #OPTIONS = -Dm68851 # OPTIONS = #a: a68 # @rm -f a # @ln a68 a #lint: lint_68k CC = gcc gcc-as.exe: avax # To make the VAX assembler compile as the default, un-comment the next five # lines, and comment out the a: group of lines for the other assemblers. OPTIONS = a: avax @rm -f a @ln avax a lint: lint_vax # To make the 80386 assembler compile as the default, un-comment the # next five lines, and comment out the 'a:' groups for the other assemblers. #OPTIONS = #a: a386 # @rm -f a # @ln a386 a #lint: lint_386 # To make the ns32k assembler compile as the default, un comment the # next five lines, and comment out the 'a:' groups for the other assemblers. #OPTIONS = #a: a32k # @rm -f a # @ln a32k a #lint: lint_32k # To make the sparc assembler compile as the default, un comment the # next five lines, and comment out the 'a:' groups for the other assemblers. # OPTIONS = #a: asparc # @rm -f a # @ln asparc a #lint: lint_sparc CFLAGS = /inc=([]) $(OPTIONS) /debug LDFLAGS = $(CFLAGS) # To compile gas on a System Five machine, comment out the two lines above # and un-comment out the next three lines # CFLAGS = -g -I. -DUSG $(OPTIONS) # LDFLAGS = $(CFLAGS) # LOADLIBES = -lmalloc -lPW a =\ as.obj, xrealloc.obj, xmalloc.obj, hash.obj, hex-value.obj, \ atof-generic.obj, append.obj, messages.obj, expr.obj, app.obj, \ frags.obj, input-file.obj, input-scrub.obj, output-file.obj, read.obj, \ subsegs.obj, symbols.obj, write.obj, version.obj, \ flonum-const.obj, flonum-copy.obj, flonum-mult.obj, strstr.obj, bignum-copy.obj, \ gdb.obj, gdb-file.obj, gdb-symbols.obj, gdb-blocks.obj, obstack.obj, \ gdb-lines.obj # files that aren't used flonum-normal.o flonum-print.o cpystr.o v =\ sparc.obj w =\ ns32k.obj atof-ns32k.o x =\ i386.obj atof-i386.o y =\ m68k.obj atof-m68k.o z = \ vax.obj, atof-vax.obj avax: $a $z vms.obj $$ @make-gas link a68: $a $y $(CC) -o a68 $(LDFLAGS) $a $y $(LOADLIBES) a386: $a $x $(CC) -o a386 $(LDFLAGS) $a $x $(LOADLIBES) a32k: $a $w $(CC) -o a32k $(LDFLAGS) $a $w $(LOADLIBES) asparc: $a $v $(CC) -o asparc $(LDFLAGS0 $a $w $(LOADLIBES) hash.obj: hash.c $(CC) $(CFLAGS) /def=("error=as_fatal") hash.c xmalloc.obj: xmalloc.c $(CC) $(CFLAGS) /def=("error=as_fatal") xmalloc.c xrealloc.obj: xrealloc.c $(CC) $(CFLAGS) /def=("error=as_fatal") xrealloc.c # # Define "NO_CASE_HACKING" if you don't want # external variables case-hacked # vms.obj: vms.c def/user vms gnu_cc_include:[vms];\ $(CC) $(CFLAGS) /def=("NO_CASE_HACKING", "error=as_fatal") vms.c m68k.obj: a_out.h as.h expr.h flonum.h frags.h hash.h m68k.obj: m68k-opcode.h m68k.h md.h obstack.h struc-symbol.h pmmu.h app.obj: as.h as.obj: a_out.h as.h read.h struc-symbol.h write.h atof-generic.obj: flonum.h atof-m68k.o: flonum.h atof-vax.obj: as.h flonum.h read.h bignum-copy.obj: bignum.h expr.obj: a_out.h as.h expr.h flonum.h obstack.h read.h struc-symbol.h expr.obj: symbols.h flonum-const.obj: flonum.h flonum-copy.obj: flonum.h flonum-mult.obj: flonum.h flonum-normal.obj:flonum.h flonum-print.obj: flonum.h frags.obj: a_out.h as.h frags.h obstack.h struc-symbol.h subsegs.h gdb.obj: as.h gdb-blocks.obj: as.h gdb-lines.obj: as.h frags.h obstack.h gdb-symbols.obj: a_out.h as.h struc-symbol.h hash.obj: hash.h input-file.obj: input-file.h input-scrub.obj: as.h input-file.h read.h messages.obj: as.h obstack.obj: obstack.h read.obj: a_out.h as.h expr.h flonum.h frags.h hash.h md.h obstack.h read.obj: read.h struc-symbol.h symbols.h subsegs.obj: a_out.h as.h frags.h obstack.h struc-symbol.h subsegs.h write.h symbols.obj: a_out.h as.h frags.h hash.h obstack.h struc-symbol.h symbols.h vax.obj: a_out.h as.h expr.h flonum.h frags.h md.h obstack.h read.h vax.obj: struc-symbol.h symbols.h vax-inst.h vax-opcode.h write.obj: a_out.h as.h md.h obstack.h struc-symbol.h subsegs.h write.obj: symbols.h write.h flonum.h: bignum.h # app is no longer a separate process. # app: app.c # $(CC) -o app app.c clean: rm -f a avax a68 a386 $a $w $x $y $z a core gmon.out bugs a.out oprint: oprint.o pp.o $(CC) $(LDFLAGS) -o oprint oprint.o pp.o A =\ as.c xrealloc.c xmalloc.c hash.c hex-value.c \ atof-generic.c append.c messages.c expr.c bignum-copy.c \ frags.c input-file.c input-scrub.c output-file.c read.c \ subsegs.c symbols.c write.c strstr.c \ flonum-const.c flonum-copy.c flonum-mult.c app.c version.c \ gdb.c gdb-file.c gdb-symbols.c gdb-blocks.c obstack.c \ gdb-lines.c B =\ m68k.c atof-m68k.c C =\ vax.c atof-vax.c D =\ i386.c atof-i386.c E =\ ns32k.c atof-ns32k.c F =\ sparc.c H = \ a_out.h as.h bignum.h expr.h flonum.h \ frags.h hash.h input-file.h m68k-opcode.h md.h \ obstack.h read.h struc-symbol.h subsegs.h i386.h \ symbols.h vax-inst.h vax-opcode.h write.h i386-opcode.h \ m-sun3.h m-generic.h pmmu.h m-hpux.h ns32k-opcode.h \ sparc.h sparc-opcode.h V = \ make-gas.com objrecdef.h vms.c # JF unused flonum-normal.c flonum-print.c cpystr.c lint_68k: lint -I. $A $B lint_vax: lint -I. $A $C lint_i386: lint -I. $A $D gas-dist.tar: COPYING README $A $B $C $D $E $H $V Makefile -rm -r gas-dist mkdir gas-dist ln COPYING README $A $B $C $D $E $H $V Makefile gas-dist tar cvhf gas-dist.tar gas-dist gas-dist.tar.Z: gas-dist.tar compress < gas-dist.tar > gas-dist.tar.Z dist: gas-dist.tar gas-dist.tar.Z install: gcc-as.exe copy gcc-as.exe gnu_cc:[000000]