CC=../../bin/cfa CFLAGS = -g -Wunused-function -MD MAKEFILE_NAME = ${firstword ${MAKEFILE_LIST}} # makefile name OBJECTS1 = iostream.o fstream.o fstream_test.o EXEC1 = fstream_test OBJECTS2 = vector_int.o fstream.o iostream.o array.o iterator.o vector_test.o EXEC2 = vector_test OBJECTS = ${OBJECTS1} ${OBJECTS2} # all object files DEPENDS = ${OBJECTS:.o=.d} # substitute ".o" with ".d" EXECS = ${EXEC1} ${EXEC2} # all executables ########## Targets ########## .PHONY : all clean # not file names all : ${EXECS} # build all executables ${EXEC1} : ${OBJECTS1} # link step 1st executable ${CC} ${CFLAGS} $^ -o $@ # additional object files before $^ ${EXEC2} : ${OBJECTS2} # link step 2nd executable ${CC} ${CFLAGS} $^ -o $@ # additional object files before $^ ${OBJECTS} : ${MAKEFILE_NAME} # OPTIONAL : changes to this file => recompile -include ${DEPENDS} # include *.d files containing program dependences clean : # remove files that can be regenerated rm -f ${DEPENDS} ${OBJECTS} ${EXECS} *.class