This repository was archived by the owner on Jan 12, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
88 lines (75 loc) · 2.25 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
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
vpath %.C .:../src
vpath %.c ../src/contrib
INSTALL_DIR = /usr/sbin
CGI_DIR = /usr/lib/cgi-bin
CPPFLAGS = -I. -I../src -I/usr/local/include "-DUSE_INTERP_ERRORLINE" # ErrorLine is deprecated, requires flag
CXXFLAGS = -O -g -Wall -Woverloaded-virtual -Wcast-qual -Wuninitialized
CFLAGS = -O -g -Wall -Woverloaded-virtual -Wcast-qual -Wuninitialized
# Python recommended compilation flags, as obtained by "python3-config --cflags"
PCOMPILEFLAGS = -I/usr/include/python3.5m -I/usr/include/python3.5m -Wno-unused-result -Wsign-compare -g \
-fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
# Python recommended linking flags, as obtained by "python3-config --ldflags"
PLINKFLAGS = -L/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu -L/usr/lib -lpython3.5m -lpthread -ldl -lutil -lm \
-Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
OBJS = asbrlsa.o \
asexlsa.o \
avl.o \
cksum.o \
config.o \
dbage.o \
grplsa.o \
helper.o \
hostmode.o \
ifcfsm.o \
lsa.o \
lsalist.o \
lsdb.o \
monitor.o \
mospf.o \
nbrfsm.o \
netlsa.o \
opqlsa.o \
ospf.o \
pat.o \
phyint.o \
priq.o \
restart.o \
rte.o \
rtrlsa.o \
spfack.o \
spfarea.o \
spfcalc.o \
spfdd.o \
spfhello.o \
spfifc.o \
spflood.o \
spfnbr.o \
spforig.o \
spfutil.o \
spfvl.o \
summlsa.o \
timer.o \
tlv.o \
md5c.o
install: ospfd ospfd_mon ospfd_browser
install ospfd ${INSTALL_DIR}
install ospfd_mon ${INSTALL_DIR}
install ospfd_browser ${CGI_DIR}
cp ospfd.tcl ${INSTALL_DIR}
ospfd: ospfd_linux.C linux.o system.o tcppkt.o ${OBJS}
g++ $(CXXFLAGS) $(CPPFLAGS) $(PCOMPILEFLAGS) ospfd_linux.C linux.o system.o \
tcppkt.o ${OBJS} $(PLINKFLAGS) \
-DINSTALL_DIR=\"${INSTALL_DIR}\" -ltcl -lm -ldl -o ospfd
ospfd_mon: tcppkt.o lsa_prn.o
ospfd_browser: tcppkt.o pat.o lsa_prn.o
clean:
rm -rf .depfiles
rm -f *.o ospfd ospfd_mon ospfd_browser
# Stuff to automatically maintain dependency files
.c.o:
gcc -MD $(CFLAGS) $(CPPFLAGS) $(PCOMPILEFLAGS) $(PLINKFLAGS) -c $<
@mkdir -p .depfiles ; mv $*.d .depfiles
.C.o:
g++ -MD $(CXXFLAGS) $(CPPFLAGS) $(PCOMPILEFLAGS) $(PLINKFLAGS) -c $<
@mkdir -p .depfiles ; mv $*.d .depfiles
-include $(OBJS:%.o=.depfiles/%.d)