# Last edited on 2003-09-21 16:47:15 by stolfi INC := /home/staff/stolfi/PUB/include LIB := /home/staff/stolfi/PUB/${PLATFORM}/lib MAIN := bbopt2 FUNCTIONS := \ F1-IA .PHONY: all clean run all: clean run HFILES := CFILES := HOFILES := ${subst .h,.ho,${HFILES}} OFILES := ${subst .c,.o,${CFILES}} run: ${HOFILES} ${OFILES} @for fn in ${FUNCTIONS} ; do \ make FUNCTION=$$fn single ; \ done clean: /bin/rm -f *.o *.ho core @for fn in ${FUNCTIONS} ; do \ make FUNCTION=$$fn clean-single ; \ done GCCFLAGS := \ -I. -I${INC} \ -g \ -ansi \ -Wall -Wpointer-arith -Wmissing-prototypes %.o: %.c gcc -c ${GCCFLAGS} $*.c %.ho: %.h gcc -o $*.ho -c ${GCCFLAGS} -x c $*.h \ || /bin/rm -f $*.ho ###################################################################### # For recursive "make" of single function: # Caller must define ${FUNCTION} FUNCTION := FUNCTION.IS.UNDEFINED ifneq "${FUNCTION}" "FUNCTION.IS.UNDEFINED" LIBS := \ ${LIB}/libbbopt.a \ ${LIB}/libps.a \ ${LIB}/libaa.a \ ${LIB}/libia.a \ ${LIB}/libjs.a \ ${LIB}/libflt.a PROG := ${MAIN}-${FUNCTION} PSFILE := ${MAIN}-${FUNCTION}.ps EPSFILE := ${MAIN}-${FUNCTION}.eps PSFILES := \ ${PSFILE} \ ${EPSFILE} MAINPS := ${EPSFILE} SHOWPS := kghostview single: ${MAINPS} show-ps clean-single: /bin/rm -f ${PSFILES} show-ps: ${MAINPS} ${SHOWPS} ${PSFILE} # Default dpendencies for goal function: ${FUNCTION}.o: ${FUNCTION}.c ${INC}/js.ho ${INC}/ia.ho ${INC}/aa.ho ${INC}/flt.ho # Linking the main program: ${PROG}: ${OFILES} ${MAIN}.o ${FUNCTION}.o ${LIBS} gcc -g -o ${PROG} ${OFILES} ${MAIN}.o ${FUNCTION}.o ${LIBS} -lm # Generating the plots: ${MAINPS}: ${PROG} ${PROG} endif # ${FUNCTION} ###################################################################### ${MAIN}.o: ${MAIN}.c \ ${INC}/js.ho ${INC}/ia.ho ${INC}/aa.ho \ ${INC}/ps.ho ${INC}/fltgraph.ho \ ${INC}/bbopt.ho ${INC}/bbgoal.ho \ ${INC}/fbox.ho ${INC}/fboxheap.ho ${INC}/fboxlist.ho