#
# Copyright (C) 1990, 1991 Free Software Foundation, Inc.
#
# This file is part of BFD, the Binary File Diddler.
#
# BFD 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.
#
# BFD 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 BFD; see the file COPYING.  If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */

# $Id$

srcdir=../common
VPATH=../common
RANLIB = ranlib
CSWITCHES = -g  # -Wall
CC=gcc -Wall
#__sun4__#CDEFINES=-DHOST_SYS=SUN4_SYS
#__sun3__#CDEFINES=-DHOST_SYS=SUN3_SYS
#__dgux__#CDEFINES=-DHOST_SYS=DGUX_SYS
#__dgux__#RANLIB=echo 
INCDIR = ${srcdir}/../../include-cygnus
CSEARCH = -I$(INCDIR)

TARG = libbfd.a
CFLAGS = $(CDEFINES) $(CSEARCH) $(CSWITCHES) 


BFD_LIBS = libbfd.o opncls.o bfd.o archive.o targets.o cache.o archures.o obstack.o

BFD_BACKENDS = oasys.o ieee.o srec.o  sunos.o icoff.o b.out.o m88k-bcs.o

BFD_H=$(INCDIR)/bfd.h
SYSDEP_H=$(INCDIR)/sysdep.h

# C source files that correspond to .o's.
CFILES = libbfd.c opncls.c bfd.c archive.c targets.c cache.c archures.c \
	 sunos.c icoff.c b.out.c  srec.c oasys.c ieee.c m88k-bcs.c

all: $(TARG) 

POINTOS = $(BFD_LIBS) $(BFD_BACKENDS)

$(TARG): $(POINTOS)
	 rm -f $(TARG)
	 ar clq $(TARG) $(BFD_LIBS) $(BFD_BACKENDS)
	 $(RANLIB) $(TARG)

tags etags: TAGS

TAGS: .force
	etags $(INCDIR)/*.h *.h *.c

clean:
	rm -f $(BFD_LIBS) $(BFD_BACKENDS) *~ core libbfd.a

clobber realclean: clean
	rm -f libbfd.a TAGS

$(BFD_LIBS) $(BFD_BACKENDS):  libbfd.h $(BFD_H)

archive.o : archive.c libbfd.h $(BFD_H) $(SYSDEP_H)  
archures.o : archures.c $(BFD_H) $(SYSDEP_H) archures.h 
b.out.o : b.out.c libbfd.h $(BFD_H) $(SYSDEP_H) liba.out.h archures.h 
m88k-bcs.o: m88k-bcs.c libbfd.h $(BFD_H) $(SYSDEP_H) libcoff.h coff-code.h archures.h 
bfd.o : bfd.c libbfd.h $(BFD_H) $(SYSDEP_H)     
cache.o : cache.c libbfd.h $(BFD_H) $(SYSDEP_H)     
coff.o : coff.c  
cplus-dem.o : cplus-dem.c  
filemode.o : filemode.c 
icoff.o : icoff.c libbfd.h $(BFD_H) $(SYSDEP_H) libcoff.h coff-code.h archures.h 
libbfd.o : libbfd.c libbfd.h $(BFD_H) $(SYSDEP_H)      
misc.o : misc.c 
opncls.o : opncls.c libbfd.h $(BFD_H) $(SYSDEP_H)     
sunos.o : sunos.c libbfd.h $(BFD_H) $(SYSDEP_H) liba.out.h
targets.o : targets.c libbfd.h $(BFD_H) $(SYSDEP_H)      
obstack.o:obstack.c
ieee.o:ieee.c
oasys.o:oasys.c
srec.o:srec.c



version.c: FORCE
	rm -f version.c
	echo "char ${TARG}_ver[]= \"${TARG} `cat VERSION`, `date`\";" > version.c


# This target should be invoked before building a new release.
# 'VERSION' file must be present and contain a string of the form "x.y"
#
roll:
	@V=`cat VERSION`		; \
	MAJ=`sed 's/\..*//' VERSION`	; \
	MIN=`sed 's/.*\.//' VERSION`	; \
	V=$$MAJ.`expr $$MIN + 1`	; \
	rm -f VERSION			; \
	echo $$V >VERSION		; \
	echo Version $$V

# Dummy target to force execution of dependent targets.
#
.force:
FORCE:

# 'G960BASE' will be defined at invocation
install:
	make ${TARG} OPT=-O

# Target to uncomment host-specific lines in this makefile.  Such lines must
# have the following string beginning in column 1: #__<hostname>__#
# Original Makefile is backed up as 'Makefile.old'.
#
# Invoke with:  make make HOST=xxx
#
make:
	-@if test $(HOST)x = x ; then \
		echo 'Specify "make make HOST=???"'; \
		exit 1; \
	fi ; \
	grep -s "^#The next line was generated by 'make make'" Makefile; \
	if test $$? = 0 ; then	\
		echo "Makefile has already been processed with 'make make'";\
		exit 1; \
	fi ; \
	mv -f Makefile Makefile.old; \
	echo "# " >Makefile ;\
	echo "# " >>Makefile  ;\
	echo "#   D A N G E R"  >>Makefile ;\
	echo "# " >>Makefile ;\
	echo "#   This file was created by make make, change the source in ../common" >>Makefile ; \
	echo "#The next line was generated by 'make make'"	 >>Makefile ; \
	echo "HOST=$(HOST)"					>>Makefile ; \
	echo							>>Makefile ; \
	sed "s/^#__$(HOST)__#//" < Makefile.old			>>Makefile

Makefile: ../common/Makefile
	mv Makefile Makefile.backup
	cp ../common/Makefile .
	$(MAKE) "HOST=$(HOST)" make
