forked from zeek/packet-bricks
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.in
111 lines (100 loc) · 3.57 KB
/
Makefile.in
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#---------------------------------------------------------------------#
CC := @CC@
LUALIBPATH := @LUALIBPATH@
LUALIBNAME := @LIBLUANAME@
LUAINCPATH := @LUAINCPATH@
JEINCPATH := @JEINCPATH@
CFLAGS := @CFLAGS@
LDFLAGS := @LDFLAGS@
USEREADLINE := @USEREADLINE@
BINDIR := $(shell pwd)/bin
BINNAME := bricks
BIN := $(BINDIR)/$(BINNAME)
OSARCH := $(shell uname)
OSARCH := $(findstring $(OSARCH),FreeBSD Linux Darwin)
DEBUG_CFLAGS := -g -DDEBUG -Wall -Werror -Wunused-function -Wextra -D_GNU_SOURCE -D__USE_GNU
DEBUG_CFLAGS += -DDLUA -DDPKTENG -DDNMP -DDUTIL -DDIFACE -DDBKEND -DDPKTHASH -DDBRICK
#---------------------------------------------------------------------#
ifeq ($V,) # no echo
export MSG=@echo
export HIDE=@
else
export MSG=@\#
export HIDE=
endif
export OSARCH
export OBJDIR := $(shell pwd)/.objs
export CFLAGS += -O3 -pipe -Wall -Wunused-function -Wextra -Werror -D_GNU_SOURCE -D__USE_GNU
ifeq ($(USEREADLINE),1)
DEBUG_CFLAGS += -DLUA_USEREADLINE
export CFLAGS += -DLUA_USEREADLINE
export LDFLAGS += -lreadline
endif
export NETMAP_INCLUDE := -I$(shell pwd)/include/netmap
ifeq ($(OSARCH),FreeBSD)
export INCLUDE := -I$(shell pwd)/include -I$(LUAINCPATH)/ -Isys/sys/
export LIBS := -L$(LUALIBPATH)/ -llua-5.1 -lpthread -lpcap
export LDFLAGS += $(LIBS)
else
export INCLUDE := -I$(shell pwd)/include -I$(LUAINCPATH)/
export LIBS := -L$(LUALIBPATH)/ $(LUALIBNAME) -lpthread -lpcap
ifneq ($(strip $(JEINCPATH)),)
export INCLUDE += -I$(JEINCPATH)
export LDFLAGS += $(LIBS) -L$(JELIBPATH) -fno-builtin-malloc \
-fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free \
-fno-builtin-posix_memalign -ljemalloc
else
export LDFLAGS += $(LIBS)
endif
endif
#---------------------------------------------------------------------#
all: $(BINNAME)
objs:
mkdir -p $(OBJDIR)
chmod a+x .create_bricks.sh
bash ./.create_bricks.sh
cd src && $(MAKE)
objs-dbg:
$(eval export CFLAGS := $(DEBUG_CFLAGS))
mkdir -p $(OBJDIR)
chmod a+x .create_bricks.sh
bash ./.create_bricks.sh
cd src && $(MAKE)
$(BINNAME): objs
mkdir -p $(BINDIR)
$(MSG) " LD $@"
$(HIDE) $(CC) $(OBJDIR)/*.o $(LDFLAGS) -o $(BIN)
@printf "#!/usr/bin/env bash\n$(BINDIR)/$(BINNAME) -d $$""@"> $(BINDIR)/$(BINNAME)-server
@printf "#!/usr/bin/env bash\n$(BINDIR)/$(BINNAME) -s $$""@"> $(BINDIR)/$(BINNAME)-shell
@printf "#!/usr/bin/env bash\npkill $(BINNAME)"> $(BINDIR)/$(BINNAME)-kill-server
chmod a+x $(BINDIR)/$(BINNAME)-server
chmod a+x $(BINDIR)/$(BINNAME)-shell
chmod a+x $(BINDIR)/$(BINNAME)-kill-server
strip $(BIN)
run: $(BINNAME)
$(BIN) -f scripts/startup.lua
#---------------------------------------------------------------------#
debug: $(BINNAME)-debug
$(BINNAME)-debug: objs-dbg
mkdir -p $(BINDIR)
$(MSG) " LD $@-debug"
$(HIDE) $(CC) $(OBJDIR)/*.o $(LDFLAGS) -o $(BIN)
@printf "#!/usr/bin/env bash\n$(BINDIR)/$(BINNAME) -d $$""@" > $(BINDIR)/$(BINNAME)-server
@printf "#!/usr/bin/env bash\n$(BINDIR)/$(BINNAME) -s $$""@"> $(BINDIR)/$(BINNAME)-shell
@printf "#!/usr/bin/env bash\npkill $(BINNAME)"> $(BINDIR)/$(BINNAME)-kill-server
chmod a+x $(BINDIR)/$(BINNAME)-server
chmod a+x $(BINDIR)/$(BINNAME)-shell
chmod a+x $(BINDIR)/$(BINNAME)-kill-server
#---------------------------------------------------------------------#
clean:
cd src && $(MAKE) clean
$(RM) -rf include/brick.h
$(RM) -rf $(BINDIR) include/*~ tags scripts/*~ *~
distclean: clean
cd src && $(MAKE) distclean
$(RM) -rf Makefile autom4te.cache config.log config.status
chmod a-x .create_bricks.sh
.PHONY: clean
tags:
find . -name '*.c' -or -name '*.h' | xargs ctags
#---------------------------------------------------------------------#