#$Header:Makefile 12.0$
#$ACIS:Makefile 12.0$
#$Source: /ibm/acis/usr/src/lib/libc/ca/csu/RCS/Makefile,v $
#
# Copyright (c) 1980 Regents of the University of California.
# All rights reserved.  The Berkeley software License Agreement
# specifies the terms and conditions for redistribution.
#
#	@(#)Makefile	5.4 (Berkeley) 9/5/85
#
#	crt0	Normal C run time startoff
#	mcrt0	C run time start off for profiling, ``prof'' conventions
#	gcrt0	C run time start off for profiling, ``gprof'' conventions
DESTDIR=
SRCS=	crt0.c mon.c gmon.c
OBJS=	crt0.o mcrt0.o gcrt0.o mon.o gmon.o ${FPOBJ}
FPOBJ=  fpglue.o
RM=rm -f
LD=/bin/ld
TAGSFILE=tags

# This awk script exit's 1 if any output is found.
# The ex scripts should be silent.
STDOUTCK= awk 'BEGIN{X=0}{X=1;print}END{exit X}'

.s.o:
	/lib/cpp $*.s > $*.cpp.s
	as -o $*.o $*.cpp.s
	rm $*.cpp.s

all: ${OBJS}

install: all
	mv crt0.o ${DESTDIR}/lib/crt0.o
	mv mcrt0.o ${DESTDIR}/lib/mcrt0.o
	mv gcrt0.o ${DESTDIR}/usr/lib/gcrt0.o


fpglue.o: fpglue.s
	/lib/cpp $*.s > $*.cpp.s
	as -o $*.o $*.cpp.s
	rm $*.cpp.s
	/lib/cpp -DPROFILE $*.s > $*_p.cpp.s
	as -o $*_p.o $*_p.cpp.s
	rm $*_p.cpp.s

crt0.o:	crt0.c crt0.ex ${FPOBJ} 
	${CC} -S ${DFLAGS} -DCRT0 crt0.c
#	sed -e 's;_start;start;g' -e '1s;$$;	j	start;' crt0.s >x.s
	./crt0.ex crt0.s | ${STDOUTCK}
	${AS} -o x.o crt0.s
	ld -x -r -o crt0.o x.o ${FPOBJ}
	$(RM) x.o crt0.s

moncrt0.o: crt0.c moncrt0.ex ${FPOBJ} 
	${CC} -S ${DFLAGS} -DMCRT0 crt0.c
#	sed -e 's;_start;start;g' -e '1s;$$;	j	start;' crt0.s >x.s
	./moncrt0.ex crt0.s | ${STDOUTCK}
	${AS} -o x.o crt0.s
	ld -x -r -o moncrt0.o x.o fpglue_p.o
	$(RM) x.o crt0.s

gcrt0.o: moncrt0.o gmon.o
	ld -x -r -o gcrt0.o moncrt0.o gmon.o

mcrt0.o: moncrt0.o mon.o
	ld -x -r -o mcrt0.o moncrt0.o mon.o

mon.o: mon.c mon.ex
	${CC} -S ${DFLAGS} mon.c
	./mon.ex mon.s | ${STDOUTCK}
	${AS} -o x.o mon.s
	ld -x -r -o mon.o x.o
	$(RM) x.o mon.s

gmon.o: gmon.c gmon.h gmon.ex
	${CC} -S ${DFLAGS} gmon.c
	./gmon.ex gmon.s | ${STDOUTCK}
	${AS} -o x.o gmon.s
	ld -x -r -o gmon.o x.o
	$(RM) x.o gmon.s

tags:	
	cwd=`pwd`; \
	for i in ${SRCS}; do \
		ctags -a -f ${TAGSFILE} $$cwd/$$i; \
	done

clean:
	$(RM) ${OBJS} core errs moncrt0.o fpglue_p.o tags

lint:	crt0.c
	lint crt0.c -DMCRT0
	lint crt0.c -DGCRT0
	lint crt0.c -DCRT0

depend:
	for i in ${SRCS}; do \
	    cc -M ${DEFS} ${DFLAGS} $$i | awk ' { if ($$1 != prev) \
		{ if (rec != "") print rec; rec = $$0; prev = $$1; } \
		else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
		else rec = rec " " $$2 } } \
		END { print rec } ' >> makedep; done
	sed -n '1,/^# DO NOT DELETE THIS LINE/p' Makefile > Makefile.tmp
	cat makedep >> Makefile.tmp
	rm makedep
	echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile.tmp
	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile.tmp
	echo '# see make depend above' >> Makefile.tmp
	cp Makefile Makefile.bak
	mv Makefile.tmp Makefile

# DO NOT DELETE THIS LINE -- make depend uses it
crt0.o: crt0.c
mon.o: mon.c
gmon.o: gmon.c ./gmon.h
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
