# Installation directories: INSTALLDIR = INSTALLDIR_IS_UNDEFINED INC = $(INSTALLDIR)/gcc/include LIB = $(INSTALLDIR)/lib # User must define FUNCTION externally. FUNCTION = FUNCTION_IS_UNDEFINED HFILES = \ fltzeros2.h \ aaquad.h HOFILES = \ fltzeros2.ho \ aaquad.ho OFILES = \ fltzeros2.o \ aaquad.o PROG = \ $(FUNCTION)-quadtest PSFILE = \ $(FUNCTION)-quadtest.ps MAINOBJ = \ $(PROG).o LIBS = \ $(LIB)/libaa.a \ $(LIB)/libia.a \ $(LIB)/libps.a \ $(LIB)/libflt.a \ $(LIB)/libjs.a GCCFLAGS = \ -I$(INC) \ -g \ -ansi \ -Wall -Wtraditional -Wpointer-arith -Wmissing-prototypes \ -mfpu all: cleanup $(PSFILE) cleanup: ;\ /bin/rm -f *.o *.a *.ho $(PROG) $(PSFILE) $(PROG).c: $(FUNCTION).c quadtest-preamble.c quadtest-postamble.c ;\ echo '#include "quadtest-preamble.c"' > $(PROG).c &&\ echo '#include "$(FUNCTION).c"' >> $(PROG).c &&\ echo '#include "quadtest-postamble.c"' >> $(PROG).c %.o: %.c ;\ gcc -c $(GCCFLAGS) $*.c %.ho: %.h ;\ gcc -o $*.ho -c $(GCCFLAGS) -x c $*.h \ || /bin/rm -f $*.ho $(PROG): $(OFILES) $(MAINOBJ) $(LIBS) ;\ gcc -o $(PROG) $(MAINOBJ) $(OFILES) $(LIBS) -lm $(PSFILE): $(PROG) ;\ $(PROG) # Dependencies of .h files: fltzeros2.ho:: fltzeros2.h $(INC)/flt.ho $(INC)/ia.ho aaquad.ho:: aaquad.h $(INC)/aa.ho $(INC)/flt.ho $(INC)/ia.ho # Dependencies for .c files: fltzeros2.o:: fltzeros2.c fltzeros2.ho \ $(INC)/js.ho $(INC)/ioprotos.ho \ $(INC)/flt.ho $(INC)/ia.ho $(INC)/ps.ho aaquad.o:: aaquad.c aaquad.ho fltzeros2.ho \ $(INC)/js.ho $(INC)/ioprotos.ho \ $(INC)/flt.ho $(INC)/ia.ho $(INC)/aa.ho $(INC)/ps.ho $(PROG).o:: $(PROG).c aaquad.ho \ $(INC)/aa.ho $(INC)/ia.ho $(INC)/flt.ho \ $(INC)/js.ho $(INC)/ioprotos.ho