APP_NAME=ldc2 APP_OBJECTS= main.o silent_code.o argument_reader.o CCFLAGS+=-Wall BLOCK_OBJECTS=data_block_0_10.o data_block_0_14.o data_block_0_1.o data_block_0_24.o\ data_block_0_2.o data_block_0_30.o data_block_0_3.o data_block_0_4.o\ data_block_0_50.o data_block_0_54.o data_block_0_60.o data_block_0_44.o\ data_block_0_64.o tape_block.o eot_block.o discard_block.o\ data_block.o data_block_0.o data_block_0_0.o\ data_block_0_label_extractor.o data_block_1.o data_block_2.o\ data_block_3.o data_block_4.o data_block_5.o \ data_block_6.o data_block_7.o \ APP_OBJECTS+=$(BLOCK_OBJECTS) SRC_DIR=src default: $(APP_NAME) APP_SOURCES=$(foreach obj, $(APP_OBJECTS:.o=.cpp),$(SRC_DIR)/$(obj)) ##All objects depend on all headers. simple but works #*.o: $(SRC_DIR)/*.hh %.dep : $(SRC_DIR)/%.cpp @ echo Building dependencies for $<. @$(SHELL) -c "g++ -M $<" | awk 'BEGIN {N=0}{if(N==0)printf("%s %s\n","$@",$$0);else printf("%s\n", $$0);N+=1;}' > $@ %.o : $(SRC_DIR)/%.cpp %.dep g++ -c $(CCFLAGS) -o $@ $< $(APP_NAME) : $(APP_OBJECTS) g++ -o$@ $^ saustall: $(APP_OBJECTS:.o=.dep) clean: @rm -rf $(APP_NAME) *.o doxy/ $(SRC_DIR)/*~ ul_timestamp *.dep @$(MAKE) -C doc clean doxy/timestamp: $(APP_OBJECTS) @ if [ ! -d doxy ]; then mkdir doxy; fi @doxygen Doxyfile touch $@ doxy: doxy/timestamp upload: ul_timestamp ul_timestamp: doxy/timestamp @cd doxy/html && tar -czf /tmp/doxy.tar.gz * @touch ul_timestamp @scp -q /tmp/doxy.tar.gz ente:/tmp/ @ssh ente "rm -rf h316.web/ldc-doc/* && cd h316.web/ldc-doc && tar -xzf /tmp/doxy.tar.gz" doc: $(MAKE) -C doc all: $(APP_NAME) doxy doc .PHONY: all clean doxy upload docdata_block_0_0.o .PRECIOUS: *.dep #$(APP_OBJECTS:.o=.d) include $(wildcard *.dep)