forked from codyps/peerduct
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
66 lines (45 loc) · 1.17 KB
/
Makefile
File metadata and controls
66 lines (45 loc) · 1.17 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
CC = $(CROSS_COMPILE)gcc
LD = $(CROSS_COMPILE)gcc
RM = rm -f
MAKEFLAGS += -Rr --no-print-directory
ifndef V
QUIET_CC = @ echo ' ' CC $@;
QUIET_LD = @ echo ' ' LD $@;
endif
.PHONY: all
all: build
YAJL_DIR = yajl
YAJL_BUILDDIR = $(YAJL_DIR)/build/yajl-2.0.3
YAJL_LIBDIR = $(YAJL_BUILDDIR)/lib
YAJL_INCDIR = $(YAJL_BUILDDIR)/include
YAJL_LIB = $(YAJL_LIBDIR)/libyajl_s.a
YAJL_LDFLAGS = $(YAJL_LIB)
YAJL_CFLAGS = -I$(YAJL_INCDIR)
TARGETS = pd nd_reader test_list nnode
pd: main.c.o
nd_reader: nd_reader.c.o nodes_dat.c.o peer.c.o
test_list: list_test.c.o
cfg_json.c.o : $(YAJL_LIB)
nnode: nnode.c.o cfg_json.c.o
nnode: CFLAGS += $(YAJL_CFLAGS)
nnode: LDFLAGS += $(YAJL_LDFLAGS) -lev
$(YAJL_LIB) :
cd $(YAJL_DIR) && ./configure && $(MAKE)
srcdir = .
VPATH = $(srcdir)
CFLAGS += -ggdb
override CFLAGS += -Wall -pipe
LDFLAGS += -Wl,--as-needed -O2
.PHONY: rebuild
rebuild: | clean build
.PHONY: build
build: $(TARGETS)
%.c.o : %.c
$(QUIET_CC)$(CC) $(CFLAGS) -MMD -c -o $@ $<
$(TARGETS) :
$(QUIET_LD)$(LD) -o $@ $^ $(LDFLAGS)
.PHONY: clean
clean:
$(RM) $(TARGETS) *.d *.o
$(MAKE) -C $(YAJL_DIR) clean
-include $(wildcard *.d)