forked from nwf/nwf-openamd-localizer
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
58 lines (45 loc) · 1.27 KB
/
Makefile
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
CFLAGS+=--std=c99 -Wall -Werror -O2 -g
CFLAGS+= -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include/
LDFLAGS+= -lpcap -lglib-2.0
ESTIMATOR_CFLAGS=-funit-at-a-time
TARGETS=estimator spaceparttree_test
COMMON_SOURCES= \
dispatch.c \
network_rx.c \
normalized_rxtx.c \
pcap_rx.c \
util.c \
ESTIMATOR_SOURCES= \
estimator.c \
openbeacon.c \
readerloc.c \
spaceparttree.c \
SPACEPARTTREE_TEST_SOURCES= \
spaceparttree.c \
spaceparttree_test.c \
DEP_SUFFIX=dep
DEPCHECK_TARGET=.depcheck
all: $(TARGETS)
estimator: $(COMMON_SOURCES) $(ESTIMATOR_SOURCES) $(DEPCHECK_TARGET)
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(ESTIMATOR_CFLAGS) -o $@ \
$(filter-out $(DEPCHECK_TARGET),$^)
spaceparttree_test: $(SPACEPARTTREE_TEST_SOURCES) \
$(DEPCHECK_TARGET)
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(ESTIMATOR_CFLAGS) -o $@ \
$(filter-out $(DEPCHECK_TARGET),$^)
.PHONY: clean
clean:
rm -f *.o
rm -f *.$(DEP_SUFFIX) $(DEPCHECK_TARGET)
rm -f $(TARGETS)
%.$(DEP_SUFFIX): %.c
$(CC) $(CFLAGS) $(INCLUDES) -M -MP -MF $@ -MT $(DEPCHECK_TARGET) $<
ifeq (0,$(words $(filter %clean,$(MAKECMDGOALS))))
DO_INCLUDE_DEPS=1
endif
ifeq (1,$(DO_INCLUDE_DEPS))
-include $(COMMON_SOURCES:%.c=%.$(DEP_SUFFIX))
-include $(ESTIMATOR_SOURCES:%.c=%.$(DEP_SUFFIX))
endif
$(DEPCHECK_TARGET):
touch $@