# @(#)Makefile	4.7 (Berkeley) 12/10/82
#
#	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
#  HISTORY
#  11-Nov-87  Rich Sanzi @ Carnegie Mellon
#	Added FPOBJ and FPOJB_P for floating point in
#	new meta-ware hc compiler

DSTDIR=/usr/mach
DIR=${DSTDIR}/lib

I = -c -d

FPOBJ=	fpglue.o
FPOBJ_P= fpglue_p.o
OBJS=	crt0.o mcrt0.o gcrt0.o mon.o gmon.o
CC = cc

all: ${OBJS}

crt0.o:	crt0.c ${FPOBJ}
	${CC} -S ${DFLAGS} -DCRT0 crt0.c
#	sed -e 's;_start;start;g' -e '1s;$$;	j	start;' crt0.s >x.s
	ex crt0.s < crt0.ex
	${AS} -o x.o crt0.s
	ld -x -r -o crt0.o x.o ${FPOBJ}
	rm -f x.o crt0.s

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

moncrt0.o: crt0.c ${FPOBJ}
	${CC} -S ${DFLAGS} -DMCRT0 crt0.c
#	sed -e 's;_start;start;g' -e '1s;$$;	j	start;' crt0.s >x.s
	ex crt0.s < crt0.ex
	${AS} -o x.o crt0.s
	ld -x -r -o moncrt0.o x.o ${FPOBJ_P}
	rm -f 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
	ex - mon.s < mon.ex
	${AS} -o x.o mon.s
	ld -x -r -o mon.o x.o
	rm -f x.o mon.s

gmon.o: gmon.c gmon.h gmon.ex
	${CC} -S ${DFLAGS} gmon.c
	ex - gmon.s < gmon.ex
	${AS} -o x.o gmon.s
	ld -x -r -o gmon.o x.o
	rm -f x.o gmon.s


install: ${OBJS}
	-@mach_install $I crt0.o ${DIR}/crt0.o
	-@mach_install $I mcrt0.o ${DIR}/mcrt0.o
	-@mach_install $I gcrt0.o ${DIR}/gcrt0.o

