disk8: Initial commit
[pdp8.git] / sw / disk8 / Makefile
1
2 APP_NAME=disk8
3 APP_OBJECTS= disk8.o ops.o file.o directory.o logging.o
4
5 INCFLAGS=-I ./src
6
7 CFLAGS+=-Wall -g -DVERBOSE_EXTREME $(INCFLAGS)
8
9 BUILD_STAMP="\"`uname -a`\""
10 VERSION="\"1.0\""
11 BUILD_DATE="\"`date` \""
12
13 CFLAGS+=-D BUILD_STAMP=$(BUILD_STAMP) -D VERSION=$(VERSION) -D BUILD_DATE=$(BUILD_DATE)\
14
15 LDFLAGS=
16
17 CC=gcc
18
19 OBJECTS=$(APP_OBJECTS)
20
21 SRC_DIR=src
22
23 APP_SOURCES=$(foreach obj, $(OBJECTS:.o=.c),$(SRC_DIR)/$(obj))
24
25 all: $(APP_NAME)
26
27 clean:
28 @echo "CLEAN"
29 @rm -rf $(APP_NAME) *.o doxy/ $(SRC_DIR)/*~ ul_timestamp *.dep *~
30
31
32 doxy/timestamp: $(SRC_DIR)/*.c $(SRC_DIR)/*.h
33 @ if [ ! -d doxy ]; then mkdir doxy; fi
34 @doxygen doxygen.conf
35 touch $@
36
37 doxy: doxy/timestamp
38
39
40 %.dep : $(SRC_DIR)/%.c
41 @ echo "DEP $<"
42 @$(SHELL) -c "gcc -M $(INCFLAGS) $<" \
43 | awk 'BEGIN {N=0}{if(N==0)printf("%s %s\n","$@",$$0);else printf("%s\n", $$0);N+=1;}' > $@
44
45 %.o : $(SRC_DIR)/%.c %.dep
46 @echo "CC $@"
47 @$(CC) -c $(CFLAGS) -o $@ $<
48
49 $(APP_NAME) : $(OBJECTS)
50 @echo "LD $@"
51 @$(CC) $(LDFLAGS) -o$@ $^
52
53 saustall: $(OBJECTS:.o=.dep)
54
55 .PHONY: all clean default doxy
56
57 .PRECIOUS: *.dep
58
59 %.h %.c:
60 @ echo "Missing file \"$@\"... No problem :-)"
61
62
63 include $(wildcard *.dep)
64 #include $(OBJECTS:.o=.dep)