ldc2: Cosmetic fixes and support for compiler orverride
[h316.git] / pc-tools / ldc2 / Makefile
index 335774aa8912e0eb056fba6e747904e2c351c597..4682d17aaea2c3794cee95a701ee0946775a7130 100644 (file)
@@ -1,50 +1,57 @@
 APP_NAME=ldc2
-APP_OBJECTS= main.o  silent_code.o argument_reader.o configuration_manager.o
+APP_OBJECTS= main.o  silent_code.o configuration_manager.o tool.o config.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\
+
+BUILD_STAMP="\"`uname -a`\""
+VERSION="\"1.0\""
+BUILD_DATE="\"`date` \""
+
+CXX?=g++
+
+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 tape_block.o eot_block.o discard_block.o\
-              data_block.o data_block_0.o data_block_0_0.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 \
-      
+              data_block_6.o data_block_7.o
 
-APP_OBJECTS+=$(BLOCK_OBJECTS)
+OBJECTS=$(BLOCK_OBJECTS) $(APP_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
+clean: 
+       @rm -rf $(APP_NAME) *.o doxy/ $(SRC_DIR)/*~ ul_timestamp *.dep
+       @$(MAKE) -C doc clean
+
+APP_SOURCES=$(foreach obj, $(OBJECTS:.o=.cpp),$(SRC_DIR)/$(obj))
 
 %.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;}' >  $@
-       
+       @$(SHELL) -c  "$(CXX) -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 $@ $<
+       $(CXX) -c $(CCFLAGS) -o $@ $<
 
-$(APP_NAME) : $(APP_OBJECTS)
-       g++ -o$@ $^
+$(APP_NAME) : $(OBJECTS)
+       $(CXX)    -o$@ $^
 
-saustall: $(APP_OBJECTS:.o=.dep)
+saustall: $(OBJECTS:.o=.dep)
 
-clean: 
-       @rm -rf $(APP_NAME) *.o doxy/ $(SRC_DIR)/*~ ul_timestamp *.dep
-       @$(MAKE) -C doc clean
-
-doxy/timestamp: $(APP_OBJECTS)
+doxy/timestamp: $(OBJECTS)
        @ if [ ! -d doxy ]; then mkdir doxy; fi
        @doxygen Doxyfile
        touch $@
 
 doxy: doxy/timestamp
+
 upload: ul_timestamp
 
 ul_timestamp: doxy/timestamp
@@ -58,10 +65,14 @@ doc:
 
 all: $(APP_NAME) doxy doc
 
-.PHONY: all clean doxy upload docdata_block_0_0.o
+.PHONY: all clean doxy upload docdata_block_0_0.o default
 
 .PRECIOUS: *.dep
 
-#$(APP_OBJECTS:.o=.d)
+#$(OBJECTS:.o=.d)
+
+%.hh %.cpp:
+       @ echo "Missing file \"$@\"... No problem :-)"
 
 include $(wildcard *.dep)
+#include $(OBJECTS:.o=.dep)
\ No newline at end of file