ldc2: Cosmetic fixes and support for compiler orverride
[h316.git] / pc-tools / ldc2 / Makefile
CommitLineData
4e1d6c7f 1APP_NAME=ldc2
ea4c19a4 2APP_OBJECTS= main.o silent_code.o configuration_manager.o tool.o config.o
c8a4d02d 3CCFLAGS+=-Wall
7880ae2d 4
7880ae2d 5BUILD_STAMP="\"`uname -a`\""
ea78fc91 6VERSION="\"1.0\""
7880ae2d 7BUILD_DATE="\"`date` \""
8
0f7b7e09
PH
9CXX?=g++
10
7880ae2d 11CCFLAGS+=-D BUILD_STAMP=$(BUILD_STAMP) -D VERSION=$(VERSION) -D BUILD_DATE=$(BUILD_DATE)
12
13BLOCK_OBJECTS=tape_block.o eot_block.o data_block.o broken_block.o\
14 data_block_0_10.o data_block_0_14.o data_block_0_1.o data_block_0_24.o\
c8a4d02d 15 data_block_0_2.o data_block_0_30.o data_block_0_3.o data_block_0_4.o\
16 data_block_0_50.o data_block_0_54.o data_block_0_60.o data_block_0_44.o\
7880ae2d 17 data_block_0_64.o \
18 data_block_0.o data_block_0_0.o\
c8a4d02d 19 data_block_0_label_extractor.o data_block_1.o data_block_2.o\
20 data_block_3.o data_block_4.o data_block_5.o \
7880ae2d 21 data_block_6.o data_block_7.o
4e1d6c7f 22
7880ae2d 23OBJECTS=$(BLOCK_OBJECTS) $(APP_OBJECTS)
4e1d6c7f 24
0ec6e042 25SRC_DIR=src
26
27default: $(APP_NAME)
28
874a2bd8 29
7880ae2d 30clean:
31 @rm -rf $(APP_NAME) *.o doxy/ $(SRC_DIR)/*~ ul_timestamp *.dep
32 @$(MAKE) -C doc clean
c8a4d02d 33
7880ae2d 34APP_SOURCES=$(foreach obj, $(OBJECTS:.o=.cpp),$(SRC_DIR)/$(obj))
c8a4d02d 35
ea4c19a4 36%.dep : $(SRC_DIR)/%.cpp
c8a4d02d 37 @ echo Building dependencies for $<.
0f7b7e09 38 @$(SHELL) -c "$(CXX) -M $<" | awk 'BEGIN {N=0}{if(N==0)printf("%s %s\n","$@",$$0);else printf("%s\n", $$0);N+=1;}' > $@
0ec6e042 39
c8a4d02d 40%.o : $(SRC_DIR)/%.cpp %.dep
0f7b7e09 41 $(CXX) -c $(CCFLAGS) -o $@ $<
0ec6e042 42
7880ae2d 43$(APP_NAME) : $(OBJECTS)
0f7b7e09 44 $(CXX) -o$@ $^
c8a4d02d 45
7880ae2d 46saustall: $(OBJECTS:.o=.dep)
0ec6e042 47
7880ae2d 48doxy/timestamp: $(OBJECTS)
0ec6e042 49 @ if [ ! -d doxy ]; then mkdir doxy; fi
50 @doxygen Doxyfile
51 touch $@
52
53doxy: doxy/timestamp
7880ae2d 54
4e1d6c7f 55upload: ul_timestamp
0ec6e042 56
4e1d6c7f 57ul_timestamp: doxy/timestamp
58 @cd doxy/html && tar -czf /tmp/doxy.tar.gz *
59 @touch ul_timestamp
60 @scp -q /tmp/doxy.tar.gz ente:/tmp/
61 @ssh ente "rm -rf h316.web/ldc-doc/* && cd h316.web/ldc-doc && tar -xzf /tmp/doxy.tar.gz"
0ec6e042 62
63doc:
64 $(MAKE) -C doc
65
66all: $(APP_NAME) doxy doc
67
7880ae2d 68.PHONY: all clean doxy upload docdata_block_0_0.o default
c8a4d02d 69
70.PRECIOUS: *.dep
71
7880ae2d 72#$(OBJECTS:.o=.d)
73
74%.hh %.cpp:
75 @ echo "Missing file \"$@\"... No problem :-)"
76
c8a4d02d 77include $(wildcard *.dep)
7880ae2d 78#include $(OBJECTS:.o=.dep)