#-----------------------------------------------------------------------------
#		Makefile for gar960/gran960
#
# $Id: Makefile,v 1.20 89/12/11 16:46:35 chrisb Exp $
#-----------------------------------------------------------------------------

# The following line should be uncommented for system V (i386v).
#__i386v__#USG = -DUSG

TARG	= gar960 gran960
OPT	= -g
IPATH	= ../../include
CFLAGS	= ${OPT} ${USG} -DI80960 -I${IPATH}
AROBJS	= ar.o
RANOBJS	= ranlib.o

all:	 gar960 gran960

gar960: ${AROBJS} VERSION
	make ver960.o
	${CC} -o gar960 ${AROBJS} ver960.o

gran960: ${RANOBJS} VERSION
	make ver960.o
	${CC} -o gran960 ${RANOBJS} ver960.o

ar.o: ${IPATH}/b.out.h

#'HOST' will be defined in the host-specific makefile by 'mkmake'
ranlib.o: ${IPATH}/env.h
	${CC} ${CFLAGS} -c -DHOST=\"${HOST}\" -DAR_PROG=\"gar960\" ranlib.c

#-----------------------------------------------------------------------------
#		'STANDARD' GNU/960 TARGETS BELOW THIS POINT
#
# 'VERSION' file must be present and contain a string of the form "x.y"
#-----------------------------------------------------------------------------

ver960.c: FORCE
	rm -f ver960.c
	echo "char gar960_ver[]= \"gar960 `cat VERSION`, `date`\";" > ver960.c
	echo "char gran960_ver[]= \"gran960 `cat VERSION`, `date`\";" >>ver960.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:

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

clean:
	rm -f ${TARG} *.o core

# 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 "#The next line was generated by 'make make'"	 >Makefile ; \
	echo "HOST=$(HOST)"					>>Makefile ; \
	echo							>>Makefile ; \
	sed "s/^#__$(HOST)__#//" < Makefile.old			>>Makefile
