-APP_NAME=test
-APP_OBJECTS=test.o tape_block.o silent_code.o data_block.o data_block_0.o
+APP_NAME=ldc2
+APP_OBJECTS= main.o silent_code.o configuration_manager.o tool.o config.o
+CCFLAGS+=-Wall
+
+
+BUILD_STAMP="\"`uname -a`\""
+VERSION="\"1.0\""
+BUILD_DATE="\"`date` \""
+
+CCFLAGS+=-D BUILD_STAMP=$(BUILD_STAMP) -D VERSION=$(VERSION) -D BUILD_DATE=$(BUILD_DATE)
+
+BLOCK_OBJECTS=tape_block.o eot_block.o data_block.o broken_block.o\
+ 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 \
+ 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
+
+
+OBJECTS=$(BLOCK_OBJECTS) $(APP_OBJECTS)
+
SRC_DIR=src
default: $(APP_NAME)
-#All objects depend on all headers. simple but works
-*.o: $(SRC_DIR)/*.hh
-%.o : $(SRC_DIR)/%.cpp
- g++ -c -o$@ $<
+clean:
+ @rm -rf $(APP_NAME) *.o doxy/ $(SRC_DIR)/*~ ul_timestamp *.dep
+ @$(MAKE) -C doc clean
-$(APP_NAME) : $(APP_OBJECTS)
- g++ -o$@ $^
+APP_SOURCES=$(foreach obj, $(OBJECTS:.o=.cpp),$(SRC_DIR)/$(obj))
-clean:
- rm -rf $(APP_NAME) *.o doxy/ $(SRC_DIR)/*~
- $(MAKE) -C doc clean
+%.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;}' > $@
+
-doxy/timestamp: $(SRC_DIR)/*
+%.o : $(SRC_DIR)/%.cpp %.dep
+ g++ -c $(CCFLAGS) -o $@ $<
+
+$(APP_NAME) : $(OBJECTS)
+ g++ -o$@ $^
+
+saustall: $(OBJECTS:.o=.dep)
+
+doxy/timestamp: $(OBJECTS)
@ if [ ! -d doxy ]; then mkdir doxy; fi
@doxygen Doxyfile
touch $@
doxy: doxy/timestamp
-upload: doxy/timestamp
- scp -r doxy/html ente:h316.web/ldc-doc
+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 doc
\ No newline at end of file
+.PHONY: all clean doxy upload docdata_block_0_0.o default
+
+.PRECIOUS: *.dep
+
+#$(OBJECTS:.o=.d)
+
+%.hh %.cpp:
+ @ echo "Missing file \"$@\"... No problem :-)"
+
+include $(wildcard *.dep)
+#include $(OBJECTS:.o=.dep)
\ No newline at end of file