# 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.

BINDIR = /usr/local/bin

BINARY = gas

#
# Add these flags to XCFLAGS below for specific use.
#
# If you machine does not have vfprintf, but does have _doprnt(),
# -DNO_VARARGS
#
# If the return-type of a signal-hander is void (instead of int),
# -DSIGTY
#
# To include the mc68851 mmu coprocessor instructions in the 68020 assembler,
# -Dm68851 
#
# If you want the 80386 assembler to correctly handle fsub/fsubr and fdiv/fdivr
# opcodes (unlike most 80386 assemblers)
# -DNON_BROKEN_WORDS
#
XCFLAGS =

# Your favorite compiler
CC = gcc

# Uncomment the following lines if you use USG

INCLUDE_DIRS = -I.
COFF_OBJECTS = stack.o
CPPFLAGS = -DUSG
CFLAGS = -g $(CPPFLAGS) $(XCFLAGS)
LDFLAGS = 
#LOADLIBES = -lPW

# Uncomment the following lines if you use BSD
#INCLUDE_DIRS = -I.
#CPPFLAGS = 
#CFLAGS = -g $(CPPFLAGS) $(XCFLAGS)
#LDFLAGS = 
#LOADLIBES =

CONFIG_FILES = \
	machine.c machine.h atof.c obj-format.c obj-format.h opcode.h

OBJECTS = \
	as.o xrealloc.o xmalloc.o hash.o hex-value.o \
	atof-generic.o append.o messages.o expr.o app.o \
	frags.o input-file.o input-scrub.o output-file.o \
	subsegs.o symbols.o version.o flonum-const.o flonum-copy.o \
	flonum-mult.o strstr.o bignum-copy.o obstack.o write.o read.o \
	obj-format.o machine.o atof.o $(COFF_OBJECTS)

SOURCES = $(OBJECTS:.o=.c)

all : $(BINARY)

install : all
	cp $(BINARY) $(BINDIR)

clean : 
	rm -f $(OBJECTS)

clobber : clean
	rm -f $(BINARY) $(CONFIG_FILES) dependencies TAGS m68k.h

$(BINARY) : $(OBJECTS)
	$(CC) -o $(BINARY) $(LDFLAGS) $(OBJECTS) $(LOADLIBES)

TAGS : $(SOURCES)
	etags $(SOURCES) *.h

CXREF : $(SOURCES)
	cxref -c $(INCLUDE_DIRS) $(SOURCES)

stack.o: stack.c
	$(CC) $(CFLAGS) -c stack.c

atof.o: \
	flonum.h \
	bignum.h
obj-format.o: \
	as.h \
	md.h \
	aout.h \
	a.out.gnu.h \
	struc-symbol.h \
	write.h \
	append.h
read.o: \
	obj-format.h \
	a.out.gnu.h \
	as.h \
	read.h \
	md.h \
	hash.h \
	obstack.h \
	frags.h \
	flonum.h \
	bignum.h \
	struc-symbol.h \
	expr.h \
	symbols.h \
	sparc.h
write.o: \
	obj-format.h \
	a.out.gnu.h \
	as.h \
	md.h \
	subsegs.h \
	obstack.h \
	struc-symbol.h \
	write.h \
	symbols.h \
	append.h \
	sparc.h
obstack.o: \
	obstack.h
bignum-copy.o: \
	bignum.h
flonum-mult.o: \
	flonum.h \
	bignum.h
flonum-copy.o: \
	flonum.h \
	bignum.h
flonum-const.o: \
	flonum.h \
	bignum.h
symbols.o: \
	obj-format.h \
	a.out.gnu.h \
	as.h \
	hash.h \
	obstack.h \
	struc-symbol.h \
	symbols.h \
	frags.h
subsegs.o: \
	obj-format.h \
	a.out.gnu.h \
	as.h \
	subsegs.h \
	obstack.h \
	frags.h \
	struc-symbol.h \
	write.h
input-scrub.o: \
	as.h \
	read.h \
	input-file.h
input-file.o: \
	input-file.h
frags.o: \
	obj-format.h \
	a.out.gnu.h \
	as.h \
	subsegs.h \
	obstack.h \
	frags.h \
	struc-symbol.h
expr.o: \
	obj-format.h \
	a.out.gnu.h \
	as.h \
	flonum.h \
	bignum.h \
	read.h \
	struc-symbol.h \
	expr.h \
	obstack.h \
	symbols.h
messages.o: \
	as.h
atof-generic.o: \
	flonum.h \
	bignum.h
hash.o: \
	hash.h
as.o: \
	obj-format.h \
	a.out.gnu.h \
	as.h \
	struc-symbol.h \
	write.h