added make target anytun-nosync for basic bsd support
[anytun.git] / src / Makefile
blobc310bcba2b53b083291b1bc4d391e53cae70ee3d
1 C = gcc
2 CFLAGS = -g -Wall
3 CFLAGS += -DSOCKETS_NAMESPACE=sockets
4 CFLAGS += -DSOCKETS_NAMESPACE_STR='"sockets"'
5 C++ = g++
6 CCFLAGS = -g -Wall
7 CCFLAGS += -DSOCKETS_NAMESPACE=sockets
8 CCFLAGS += -DSOCKETS_NAMESPACE_STR='"sockets"'
9 LD = g++
10 LDFLAGS = -g -Wall -O2 -ldl -lpthread -lgcrypt -lboost_serialization
12 OPENVPNDEPS = openvpn/tun.o \
13 openvpn/error.o \
14 openvpn/socket.o \
15 openvpn/buffer.o \
16 openvpn/misc.o \
17 openvpn/manage.o \
18 openvpn/fdmisc.o \
19 openvpn/otime.o \
20 openvpn/options.o \
21 openvpn/mtu.o \
22 openvpn/plugin.o \
23 openvpn/sig.o \
24 openvpn/proxy.o \
25 openvpn/socks.o \
26 openvpn/status.o \
27 openvpn/event.o \
28 openvpn/route.o \
29 openvpn/helper.o \
30 openvpn/init.o \
31 openvpn/interval.o \
32 openvpn/base64.o \
33 openvpn/shaper.o \
34 openvpn/fragment.o
36 SOCKETDEPS = Sockets/libSockets.a
38 #Sockets/TcpSocket.o \
39 # Sockets/Socket.o \
40 # Sockets/Thread.o \
41 # Sockets/SocketHandler.o \
42 # Sockets/Ipv4Address.o \
43 # Sockets/Mutex.o \
44 # Sockets/SSLInitializer.o
47 OBJS = tunDevice.o \
48 packetSource.o \
49 buffer.o \
50 syncBuffer.o \
51 plainPacket.o \
52 encryptedPacket.o \
53 cipher.o \
54 authAlgo.o \
55 keyDerivation.o \
56 mpi.o \
57 cipherFactory.o \
58 authAlgoFactory.o \
59 keyDerivationFactory.o \
60 connectionList.o \
61 connectionParam.o \
62 networkAddress.o \
63 networkPrefix.o \
64 PracticalSocket.o \
65 router.o \
66 routingTable.o \
67 signalController.o \
68 syncQueue.o \
69 log.o \
70 options.o \
71 seqWindow.o \
72 syncCommand.o \
73 syncRouteCommand.o \
74 syncRtpCommand.o \
75 syncConnectionCommand.o \
76 rtpSessionTable.o \
77 rtpSession.o \
78 anyrtpproxy/callIdQueue.o \
79 $(OPENVPNDEPS)
81 SYNCOBJS= syncSocket.o \
82 syncSocketHandler.o \
83 syncClientSocket.o \
84 $(SOCKETDEPS)
86 ANYCTROBJS = anyCtrSocket.o \
87 anyCtrOptions.o \
88 signalController.o \
89 log.o \
90 $(SOCKETDEPS)
92 ANYCONFOBJS = log.o \
93 buffer.o \
94 keyDerivation.o \
95 mpi.o \
96 keyDerivationFactory.o \
97 networkAddress.o \
98 networkPrefix.o \
99 signalController.o \
100 connectionList.o \
101 connectionParam.o \
102 rtpSessionTable.o \
103 rtpSession.o \
104 anyrtpproxy/callIdQueue.o \
105 syncRtpCommand.o \
106 PracticalSocket.o \
107 anyConfOptions.o \
108 router.o \
109 routingTable.o \
110 seqWindow.o \
111 syncSocket.o \
112 syncSocketHandler.o \
113 syncClientSocket.o \
114 syncQueue.o \
115 syncBuffer.o \
116 syncCommand.o \
117 syncRouteCommand.o \
118 syncConnectionCommand.o \
119 $(SOCKETDEPS)
121 EXECUTABLE = anytun anytun-config anytun-controld anytun-showtables manpage
123 all: $(EXECUTABLE) libAnysync.a anyrtpproxy
125 anytun: $(OBJS) $(SYNCOBJS) anytun.o
126 $(LD) $(OBJS) $(SYNCOBJS) anytun.o -o $@ $(LDFLAGS)
128 anytun-nosync: $(OBJS) anytun-nosync.o
129 $(LD) $(OBJS) anytun-nosync.o -o $@ $(LDFLAGS)
131 anytun-showtables: $(OBJS) anytun-showtables.o
132 $(LD) $(OBJS) anytun-showtables.o -o $@ $(LDFLAGS)
134 anytun-config: $(ANYCONFOBJS) anytun-config.o
135 $(LD) $(ANYCONFOBJS) anytun-config.o -o $@ $(LDFLAGS)
137 anytun-controld: $(ANYCTROBJS) anytun-controld.o
138 $(LD) $(ANYCTROBJS) anytun-controld.o -o $@ $(LDFLAGS)
140 tunDevice.o: tunDevice.cpp tunDevice.h
141 $(C++) $(CCFLAGS) $< -c
143 Sockets/libSockets.a:
144 make --directory=./Sockets
146 packetSource.o: packetSource.cpp packetSource.h
147 $(C++) $(CCFLAGS) $< -c
149 buffer.o: buffer.cpp buffer.h
150 $(C++) $(CCFLAGS) $< -c
152 syncBuffer.o: syncBuffer.cpp syncBuffer.h
153 $(C++) $(CCFLAGS) $< -c
155 rtpSessionTable.o: rtpSessionTable.cpp rtpSessionTable.h
156 $(C++) $(CCFLAGS) $< -c
158 rtpSession.o: rtpSession.cpp rtpSession.h
159 $(C++) $(CCFLAGS) $< -c
161 plainPacket.o: plainPacket.cpp plainPacket.h buffer.h
162 $(C++) $(CCFLAGS) $< -c
164 encryptedPacket.o: encryptedPacket.cpp encryptedPacket.h buffer.h
165 $(C++) $(CCFLAGS) $< -c
167 cipher.o: cipher.cpp cipher.h buffer.h
168 $(C++) $(CCFLAGS) $< -c
170 anyCtrSocket.o: anyCtrSocket.cpp anyCtrSocket.h
171 $(C++) $(CCFLAGS) $< -c
173 anyCtrOptions.o: anyCtrOptions.cpp anyCtrOptions.h
174 $(C++) $(CCFLAGS) $< -c
176 anyConfOptions.o: anyConfOptions.cpp anyConfOptions.h
177 $(C++) $(CCFLAGS) $< -c
179 authAlgo.o: authAlgo.cpp authAlgo.h buffer.h
180 $(C++) $(CCFLAGS) $< -c
182 keyDerivation.o: keyDerivation.cpp keyDerivation.h
183 $(C++) $(CCFLAGS) $< -c
185 mpi.o: mpi.cpp mpi.h
186 $(C++) $(CCFLAGS) $< -c
188 cipherFactory.o: cipherFactory.cpp cipherFactory.h cipher.h
189 $(C++) $(CCFLAGS) $< -c
191 authAlgoFactory.o: authAlgoFactory.cpp authAlgoFactory.h authAlgo.h
192 $(C++) $(CCFLAGS) $< -c
194 keyDerivationFactory.o: keyDerivationFactory.cpp keyDerivationFactory.h keyDerivation.h
195 $(C++) $(CCFLAGS) $< -c
197 routingTable.o: routingTable.cpp routingTable.h
198 $(C++) $(CCFLAGS) $< -c
200 syncSocket.o: syncSocket.cpp syncSocket.h
201 $(C++) $(CCFLAGS) $< -c
203 syncSocketHandler.o: syncSocketHandler.cpp syncSocketHandler.h
204 $(C++) $(CCFLAGS) $< -c
206 syncCommand.o: syncCommand.cpp syncCommand.h
207 $(C++) $(CCFLAGS) $< -c
209 syncRouteCommand.o: syncRouteCommand.cpp syncRouteCommand.h
210 $(C++) $(CCFLAGS) $< -c
212 syncRtpCommand.o: syncRtpCommand.cpp syncRtpCommand.h
213 $(C++) $(CCFLAGS) $< -c
215 syncConnectionCommand.o: syncConnectionCommand.cpp syncConnectionCommand.h
216 $(C++) $(CCFLAGS) $< -c
218 syncClientSocket.o: syncClientSocket.cpp syncClientSocket.h
219 $(C++) $(CCFLAGS) $< -c
221 syncQueue.o: syncQueue.cpp syncQueue.h
222 $(C++) $(CCFLAGS) $< -c
224 signalController.o: signalController.cpp signalController.h
225 $(C++) $(CCFLAGS) $< -c
227 PracticalSocket.o: PracticalSocket.cpp PracticalSocket.h
228 $(C++) $(CCFLAGS) $< -c
230 log.o: log.cpp log.h
231 $(C++) $(CCFLAGS) $< -c
233 options.o: options.cpp options.h
234 $(C++) $(CCFLAGS) $< -c
236 seqWindow.o: seqWindow.cpp seqWindow.h
237 $(C++) $(CCFLAGS) $< -c
239 connectionList.o: connectionList.cpp connectionList.h
240 $(C++) $(CCFLAGS) $< -c
242 connectionParam.o: connectionParam.cpp connectionParam.h
243 $(C++) $(CCFLAGS) $< -c
245 networkPrefix.o: networkPrefix.cpp networkPrefix.h
246 $(C++) $(CCFLAGS) $< -c
248 networkAddress.o: networkAddress.cpp networkAddress.h
249 $(C++) $(CCFLAGS) $< -c
251 router.o: router.cpp router.h
252 $(C++) $(CCFLAGS) $< -c
254 anytun.o: anytun.cpp
255 $(C++) $(CCFLAGS) $< -c
257 anytun-nosync.o: anytun.cpp
258 $(C++) -g -Wall -DANYTUN_NOSYNC $< -c -o anytun-nosync.o
260 anytun-showtables.o: anytun-showtables.cpp
261 $(C++) $(CCFLAGS) $< -c
263 anytun-config.o: anytun-config.cpp
264 $(C++) $(CCFLAGS) $< -c
266 anytun-controld.o: anytun-controld.cpp
267 $(C++) $(CCFLAGS) $< -c
269 cConnectionParam.o: cConnectionParam.cpp
270 $(C++) $(CCFLAGS) $< -c
272 libAnysync.a: $(OBJS)
273 ar cru $@ $(OBJS)
274 ranlib $@
276 anyrtpproxy: anytun
277 @cd anyrtpproxy ; make
279 distclean: cleanall
280 make --directory=$(CURDIR)/openvpn distclean
281 find -name *.o | xargs rm -f
282 rm -f config.sub config.guess
284 cleanall: clean
285 make --directory=$(CURDIR)/man clean
286 make --directory=$(CURDIR)/Sockets clean
287 make --directory=$(CURDIR)/openvpn clean
288 rm -f Sockets/libSockets.a Sockets/Sockets-config
290 clean:
291 rm -f *.o
292 rm -f $(EXECUTABLE)
293 rm -f -r doc/html/*
294 rm -f -r doc/latex/*
295 rm -f libAnysync.a
296 make --directory=$(CURDIR)/anyrtpproxy clean
298 manpage:
299 @cd man ; make
301 doxygen:
302 doxygen Doxyfile
304 ctags:
305 ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .