CC_OPT=-O2 -Wall -I../include LD_OPT=-s FILES=dumpdlm main makemain obj2dlm EXE=dlmman SRC=*.cc *.h OBJECTS=$(foreach name, $(FILES), $(name).o) REMOVE=$(foreach name, $(FILES), $(name).dep $(name).o) $(EXE).exe SOURCES=$(foreach name, $(FILES), $(name).c) DEPLIST = $(foreach name, $(FILES), $(name).dep) MAKEDEPS=$(CC) $(CC_OPT) -MM $< | sed -e 's/\($*\.o\)[ :]*/\1 $@ : /g' >$@ all : start $(EXE).exe done install : all @echo Installing : dlmman.exe @cp dlmman.exe ../../bin start : @echo Building : $(EXE).exe done : @echo Done. clean : @echo Removing rebuildable files : @echo $(REMOVE) @rm -f $(REMOVE) deps : $(DEPLIST) # include $(SOURCES:.c=.dep) %.dep: %.c @echo Creating dependencies for $< @$(MAKEDEPS) $(EXE).exe : $(OBJECTS) gcc -o $(EXE).exe $(foreach opt,$(LD_OPT), -Xlinker $(opt)) $(OBJECTS) $(foreach lib,$(LIBS), -l$(lib)) %.o: %.c gcc $(CC_OPT) -c $< -o $@