# $Copyright:	$
# Copyright (c) 1984, 1985, 1986, 1987, 1988, 1989, 1990 
# Sequent Computer Systems, Inc.   All rights reserved.
#  
# This software is furnished under a license and may be used
# only in accordance with the terms of that license and with the
# inclusion of the above copyright notice.   This software may not
# be provided or otherwise made available to, or used by, any
# other person.  No title to or ownership of the software is
# hereby transferred.

# Copyright (c) 1984, 1985, 1986, 1987 Sequent Computer Systems, Inc.
# All rights reserved
#  
# This software is furnished under a license and may be used
# only in accordance with the terms of that license and with the
# inclusion of the above copyright notice.   This software may not
# be provided or otherwise made available to, or used by, any
# other person.  No title to or ownership of the software is
# hereby transferred.
#
# $Header: Makefile 1.5 90/05/30 $
#

.SUFFIXES:
.SUFFIXES: .o .s .c

LIB= $(ROOT)/lib
LIBP= $(ROOT)/usr/lib/libp
CPP = /lib/cpp
CFLAGS	= -O
CPFLAGS	=
OBJS	= hypot.o isnan.o jn.o j0.o j1.o gamma.o lgamma.o tanh.o erf.o \
	  floor.o fabs.o fmod.o \
	  asin.o atan.o exp.o log.o pow.o tan.o sqrt.o \
	  acos.o sincos.o sinhcosh.o values.o matherr.o

.c.o:
	$(CC) -p -DPROF $(CFLAGS) -c $< && \
	$(LD) -r $*.o -o profiled/$*.o && \
	$(CC)    -UPROF $(CFLAGS) -c $< && \
	$(LD) -x -r $*.o -o $*.ld && mv $*.ld $*.o

.s.o:
	$(CPP) -P -DPROF -I.. $(INCLUDE) $(CPFLAGS) $< | $(AS) -o $*.o && \
	$(LD) -r $*.o -o profiled/$*.o && \
	$(CPP) -P -UPROF -I.. $(INCLUDE) $(CPFLAGS) $< | $(AS) -o $*.o && \
	$(LD) -x -r $*.o -o $*.ld && mv $*.ld $*.o

all	: profiled libm.a libm_p.a
libm.a \
libm_p.a:& $(OBJS)
	cd profiled && $(AR) cru ../libm_p.a $(OBJS)
	$(AR) cru libm.a $(OBJS)

profiled:; mkdir profiled
install	: all
	   install -m 444 -f $(LIB) libm.a
	   install -m 444 -f $(LIBP) libm_p.a
	   mv $(LIBP)/libm_p.a $(LIBP)/libm.a
values.o:; $(CPP) -P -DPROF -I.. $(INCLUDE) ../values.s | $(AS) -o $*.o && \
	$(LD) -r $*.o -o profiled/values.o && \
	$(CPP) -P -UPROF -I.. $(INCLUDE) ../values.s | $(AS) -o values.o && \
	$(LD) -x -r values.o -o values.ld && mv values.ld values.o
matherr.o:	../matherr.c
	$(CC) -p -DPROF $(CFLAGS) -c ../matherr.c && \
	$(LD) -r matherr.o -o profiled/matherr.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../matherr.c && \
	$(LD) -x -r matherr.o -o matherr.ld && mv matherr.ld matherr.o
hypot.o:	../hypot.c
	$(CC) -p -DPROF $(CFLAGS) -c ../hypot.c && \
	$(LD) -r hypot.o -o profiled/hypot.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../hypot.c && \
	$(LD) -x -r hypot.o -o hypot.ld && mv hypot.ld hypot.o
jn.o:		../jn.c
	$(CC) -p -DPROF $(CFLAGS) -c ../jn.c && \
	$(LD) -r jn.o -o profiled/jn.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../jn.c && \
	$(LD) -x -r jn.o -o jn.ld && mv jn.ld jn.o
j0.o:		../j0.c
	$(CC) -p -DPROF $(CFLAGS) -c ../j0.c && \
	$(LD) -r j0.o -o profiled/j0.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../j0.c && \
	$(LD) -x -r j0.o -o j0.ld && mv j0.ld j0.o
j1.o:		../j1.c
	$(CC) -p -DPROF $(CFLAGS) -c ../j1.c && \
	$(LD) -r j1.o -o profiled/j1.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../j1.c && \
	$(LD) -x -r j1.o -o j1.ld && mv j1.ld j1.o
isnan.o:	../isnan.c
	$(CC) -p -DPROF $(CFLAGS) -c ../isnan.c && \
	$(LD) -r isnan.o -o profiled/isnan.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../isnan.c && \
	$(LD) -x -r isnan.o -o isnan.ld && mv isnan.ld isnan.o
gamma.o:	../gamma.c
	$(CC) -p -DPROF $(CFLAGS) -c ../gamma.c && \
	$(LD) -r gamma.o -o profiled/gamma.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../gamma.c && \
	$(LD) -x -r gamma.o -o gamma.ld && mv gamma.ld gamma.o
lgamma.o:	../lgamma.c
	$(CC) -p -DPROF $(CFLAGS) -c ../lgamma.c && \
	$(LD) -r lgamma.o -o profiled/lgamma.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../lgamma.c && \
	$(LD) -x -r lgamma.o -o lgamma.ld && mv lgamma.ld lgamma.o
erf.o:		../erf.c
	$(CC) -p -DPROF $(CFLAGS) -c ../erf.c && \
	$(LD) -r erf.o -o profiled/erf.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../erf.c && \
	$(LD) -x -r erf.o -o erf.ld && mv erf.ld erf.o
floor.o:	../floor.c
	$(CC) -p -DPROF $(CFLAGS) -c ../floor.c && \
	$(LD) -r floor.o -o profiled/floor.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../floor.c && \
	$(LD) -x -r floor.o -o floor.ld && mv floor.ld floor.o
fabs.o:		../fabs.c
	$(CC) -p -DPROF $(CFLAGS) -c ../fabs.c && \
	$(LD) -r fabs.o -o profiled/fabs.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../fabs.c && \
	$(LD) -x -r fabs.o -o fabs.ld && mv fabs.ld fabs.o
fmod.o:		../fmod.c
	$(CC) -p -DPROF $(CFLAGS) -c ../fmod.c && \
	$(LD) -r fmod.o -o profiled/fmod.o && \
	$(CC)    -UPROF $(CFLAGS) -c ../fmod.c && \
	$(LD) -x -r fmod.o -o fmod.ld && mv fmod.ld fmod.o

clean	\
clobber	:; rm -rf $(OBJS) libm.a libm_p.a profiled
