-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
77 lines (55 loc) · 1.93 KB
/
Makefile
File metadata and controls
77 lines (55 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
COMMONMAKDIR = ../../../common/build/gcc
COMMONMAK = $(COMMONMAKDIR)/common.mak
include $(COMMONMAK)
SRCDIR = ../../src
OBJDIR = ../../build/gcc
DESTDIR = ../../../build/gcc
INCDIR = ../../inc
COMMONINCDIR = ../../../common/inc
INC = -I$(INCDIR) -I$(COMMONINCDIR)
EXTRA_LIB = DCLib
EXTRA_LIB_PATH = ../../../$(EXTRA_LIB)
EXTRA_LIB_BUILD_PATH = $(EXTRA_LIB_PATH)/build/gcc
EXTRA_LIB_DIR = $(DESTDIR)
EXTRA_LIB_FILE = $(EXTRA_LIB_DIR)/$(EXTRA_LIB).a
EXTRA_LIB_INC_DIR = $(EXTRA_LIB_PATH)/inc
INC += -I$(EXTRA_LIB_INC_DIR)
EXTRA_LIB_DEP = DCIOLib
EXTRA_LIB_DEP_PATH = ../../../$(EXTRA_LIB_DEP)
EXTRA_LIB_DEP_INC_DIR = $(EXTRA_LIB_DEP_PATH)/inc
INC += -I$(EXTRA_LIB_DEP_INC_DIR)
LDFLAGS += -L$(EXTRA_LIB_DIR) $(EXTRA_LIB_FILE)
EXENAME = DCCLI
EXEFILE = $(DESTDIR)/$(EXENAME)
TESTDATA_PATH = ../../testdata
TESTDATA_INPUT = $(TESTDATA_PATH)/input.txt
TESTDATA_OUTPUT = $(TESTDATA_PATH)/output.txt
CFLAGS += $(INC)
SRC = $(wildcard $(SRCDIR)/*.c)
HDR = $(wildcard $(INCDIR)/*.h) $(wildcard $(COMMONINCDIR)/*.h)
OBJ = $(addprefix $(OBJDIR)/, $(notdir $(SRC:.c=.o)))
all: release
debug: CFLAGS += $(DEBUG_CFLAGS)
debug: LDFLAGS += $(DEBUG_LDFLAGS)
debug: $(EXEFILE)
debugall: SUBTARGET = debugall
debugall: debug
release: CFLAGS += $(RELEASE_CFLAGS)
release: $(EXEFILE)
releaseall: SUBTARGET = releaseall
releaseall: release
$(EXEFILE): $(OBJ) $(EXTRA_LIB_FILE)
$(CC) $(filter-out $(EXTRA_LIB_FILE), $^) $(LDFLAGS) -o $@
$(OBJDIR)/%.o: $(SRCDIR)/%.c $(HDR)
$(CC) $(CFLAGS) $< -o $@
$(EXTRA_LIB_FILE): FORCE
$(MAKE) -C $(EXTRA_LIB_BUILD_PATH) $(SUBTARGET)
clean:
$(RM) $(OBJ) $(EXEFILE)
cleanall: clean cleansub
cleansub:
$(MAKE) -C $(EXTRA_LIB_BUILD_PATH) cleanall
FORCE:
test: $(EXEFILE)
$(EXEFILE) $(TESTDATA_INPUT) $(TESTDATA_OUTPUT) decode csv \# encode normalize \# encode diff \# encode seg \# encode bac adaptive \# decode bac adaptive \# decode seg \# decode diff \# decode normalize \# encode csv
$(DIFF) "$(TESTDATA_INPUT)" "$(TESTDATA_OUTPUT)"