# Makefile for f77 math & startup lib, libmF77.a
#
# @(#)Makefile	1.1 (Berkeley) 5/20/83

CC            = /bin/cc -20 -f

AS            = /usr/bin/fpas

CPP	      = /lib/cpp

CFLAGS	      = -DBUGGY68881 -Dvax -UDEC -DIEEE -USKY -I../../libI77/68881

DEST	      = $(DESTDIR)/usr/lib

DESTDIR	      =

EXTHDRS	      =

FFLAGS	      = -:f

HDRS	      = opcodes.h

LIBRARY	      = 68881lib

LIBRARY_P     = 68881lib_p

MAKEFILE      = Makefile

OBJS	      = abort_.o \
		besj0_.o \
		besj1_.o \
		besjn_.o \
		besy0_.o \
		besy1_.o \
		besyn_.o \
		bit.o \
		c_abs.o \
		c_cos.o \
		c_div.o \
		c_exp.o \
		c_log.o \
		c_sin.o \
		c_sqrt.o \
		cabs.o \
		d_abs.o \
		d_asin.o \
		d_atn2.o \
		d_cnjg.o \
		d_dim.o \
		d_exp.o \
		d_imag.o \
		d_int.o \
		d_log.o \
		d_mod.o \
		d_nint.o \
		d_prod.o \
		d_sign.o \
		d_sin.o \
		d_sinh.o \
		d_sqrt.o \
		dbesj0_.o \
		dbesj1_.o \
		dbesjn_.o \
		dbesy0_.o \
		dbesy1_.o \
		dbesyn_.o \
		derf_.o \
		derfc_.o \
		ef1asc_.o \
		ef1cmc_.o \
		erf_.o \
		erfc_.o \
		exit_.o \
		h_abs.o \
		h_dim.o \
		h_dnnt.o \
		h_indx.o \
		h_len.o \
		h_mod.o \
		h_nint.o \
		h_sign.o \
		hl_ge.o \
		hl_gt.o \
		hl_le.o \
		hl_lt.o \
		i_abs.o \
		i_dim.o \
		i_dnnt.o \
		i_indx.o \
		i_len.o \
		i_mod.o \
		i_nint.o \
		i_sign.o \
		l_ge.o \
		l_gt.o \
		l_le.o \
		l_lt.o \
		lnblnk_.o \
		long_.o \
		main.o \
		pow_ci.o \
		pow_dd.o \
		pow_di.o \
		pow_hh.o \
		pow_ii.o \
		pow_ri.o \
		pow_rr.o \
		pow_zi.o \
		pow_zz.o \
		r_abs.o \
		r_asin.o \
		r_atn2.o \
		r_cnjg.o \
		r_dim.o \
		r_exp.o \
		r_imag.o \
		r_int.o \
		r_log.o \
		r_mod.o \
		r_nint.o \
		r_sign.o \
		r_sin.o \
		r_sinh.o \
		r_sqrt.o \
		rand_.o \
		range.o \
		rindex_.o \
		s_cat.o \
		s_cmp.o \
		s_copy.o \
		s_paus.o \
		s_rnge.o \
		s_stop.o \
		short_.o \
		signal_.o \
		subout.o \
		traper_.o \
		trapov_.o \
		trpfpe_.o \
		z_abs.o \
		z_cos.o \
		z_div.o \
		z_exp.o \
		z_log.o \
		z_sin.o \
		z_sqrt.o

OPTIONS	      = -DUCBVAX

PRINT	      = pr

SRCS	      = abort_.c \
		besj0_.c \
		besj1_.c \
		besjn_.c \
		besy0_.c \
		besy1_.c \
		besyn_.c \
		bit.c \
		c_abs.c \
		c_cos.c \
		c_div.c \
		c_exp.c \
		c_log.c \
		c_sin.c \
		c_sqrt.c \
		cabs.c \
		d_abs.s \
		d_asin.s \
		d_atn2.c \
		d_cnjg.s \
		d_dim.s \
		d_exp.s \
		d_imag.s \
		d_int.s \
		d_log.s \
		d_mod.s \
		d_nint.s \
		d_prod.c \
		d_sign.s \
		d_sin.s \
		d_sinh.s \
		d_sqrt.s \
		dbesj0_.c \
		dbesj1_.c \
		dbesjn_.c \
		dbesy0_.c \
		dbesy1_.c \
		dbesyn_.c \
		derf_.c \
		derfc_.c \
		ef1asc_.c \
		ef1cmc_.c \
		erf_.c \
		erfc_.c \
		exit_.c \
		h_abs.c \
		h_dim.c \
		h_dnnt.s \
		h_indx.c \
		h_len.c \
		h_mod.c \
		h_nint.s \
		h_sign.c \
		hl_ge.c \
		hl_gt.c \
		hl_le.c \
		hl_lt.c \
		i_abs.s \
		i_dim.s \
		i_dnnt.s \
		i_indx.c \
		i_len.s \
		i_mod.s \
		i_nint.s \
		i_sign.s \
		l_ge.c \
		l_gt.c \
		l_le.c \
		l_lt.c \
		lnblnk_.c \
		long_.c \
		main.c \
		pow_ci.c \
		pow_dd.c \
		pow_di.c \
		pow_hh.c \
		pow_ii.c \
		pow_ri.c \
		pow_rr.c \
		pow_zi.c \
		pow_zz.c \
		r_abs.s \
		r_asin.s \
		r_atn2.c \
		r_cnjg.s \
		r_dim.s \
		r_exp.s \
		r_imag.s \
		r_int.s \
		r_log.s \
		r_mod.s \
		r_nint.s \
		r_sign.s \
		r_sin.s \
		r_sinh.s \
		r_sqrt.s \
		rand_.c \
		range.c \
		rindex_.c \
		s_cat.c \
		s_cmp.c \
		s_copy.c \
		s_paus.c \
		s_rnge.c \
		s_stop.c \
		short_.c \
		signal_.c \
		subout.c \
		traper_.c \
		trapov_.c \
		trpfpe_.c \
		z_abs.c \
		z_cos.c \
		z_div.c \
		z_exp.c \
		z_log.c \
		z_sin.c \
		z_sqrt.c

all:		$(LIBRARY) $(LIBRARY_P)

$(LIBRARY):	$(OBJS)
		@echo -n "Loading $(LIBRARY) ... "
		@ar cru $(LIBRARY) $(OBJS)
		@echo "done"

$(LIBRARY_P):	$(OBJS)
		@echo -n "Loading $(LIBRARY_P) ... "
		@cd profiled; ar cru ../$(LIBRARY_P) $(OBJS)
		@echo "done"

clean:;		@rm -f $(OBJS) profiled/*.o $(LIBRARY) $(LIBRARY_P)

depend:;	@echo Construct dependencies manually

extract:;	@ar xo $(DEST)/$(LIBRARY); rm -f __.SYMDEF
		@cd profiled; -ar xo $(DEST)/$(LIBRARY_P); rm -f __.SYMDEF

index:;		@ctags -wx $(HDRS) $(SRCS)

print:;		@$(PRINT) $(HDRS) $(SRCS)

tags:           $(HDRS) $(SRCS); @ctags $(HDRS) $(SRCS)

update:         $(DEST)/$(LIBRARY)

trapov_.o:	trapov_.c
		/bin/cc -S $(OPTIONS) $(CFLAGS) trapov_.c;
		(echo "g/.set	L[0-9][0-9]*,0x0$$/s/0x0/0xf10/"; echo "x") \
			| ex - trapov_.s;
		as trapov_.s -o trapov_.o;
		mv trapov_.o profiled/trapov_.o
		rm trapov_.s
		/bin/cc -S $(OPTIONS) $(CFLAGS) trapov_.c;
		(echo "g/.set	L[0-9][0-9]*,0x0$$/s/0x0/0xf10/"; echo "x") \
			| ex - trapov_.s
		as trapov_.s -o trapov_.o
		rm trapov_.s

.s.o:
		${CPP} ${CFLAGS} -E -DPROF $*.s | ${AS} -o $*.o
		-ld -X -r $*.o
		mv a.out profiled/$*.o
		${CPP} -E $*.s | ${AS} -o $*.o
		-ld -x -r $*.o
		mv a.out $*.o

.c.o:
		$(CC) -p $(CFLAGS) -c $*.c
		-ld -x -r $*.o
		mv a.out profiled/$*.o
		$(CC) $(CFLAGS) -c $*.c
		-ld -x -r $*.o
		mv a.out $*.o
