rewrote network addressess to base on boost::asio
[anytun.git] / src / Makefile
blob6528650f2960c4b73f8a1f2eace82b394f712a37
1 ##
2 ## anytun
3 ##
4 ## The secure anycast tunneling protocol (satp) defines a protocol used
5 ## for communication between any combination of unicast and anycast
6 ## tunnel endpoints. It has less protocol overhead than IPSec in Tunnel
7 ## mode and allows tunneling of every ETHER TYPE protocol (e.g.
8 ## ethernet, ip, arp ...). satp directly includes cryptography and
9 ## message authentication based on the methodes used by SRTP. It is
10 ## intended to deliver a generic, scaleable and secure solution for
11 ## tunneling and relaying of packets of any protocol.
14 ## Copyright (C) 2007-2008 Othmar Gsenger, Erwin Nindl,
15 ## Christian Pointner <satp@wirdorange.org>
17 ## This file is part of Anytun.
19 ## Anytun is free software: you can redistribute it and/or modify
20 ## it under the terms of the GNU General Public License version 3 as
21 ## published by the Free Software Foundation.
23 ## Anytun is distributed in the hope that it will be useful,
24 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
25 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 ## GNU General Public License for more details.
28 ## You should have received a copy of the GNU General Public License
29 ## along with anytun. If not, see <http://www.gnu.org/licenses/>.
31 TARGET=$(shell uname -s)
32 CC = gcc
33 CCFLAGS = -g
34 CXX = g++
35 CXXFLAGS = -g -Wall -O2
36 LD = g++
37 LDFLAGS = -g -Wall -O2 -lboost_thread -lgcrypt -lgpg-error -lboost_serialization -lboost_system
39 ifeq ($(TARGET),Linux)
40 CCFLAGS += -D_XOPEN_SOURCE=600
41 CXXFLAGS += -D_XOPEN_SOURCE=600
42 LDFLAGS += -ldl
43 endif
44 ifeq ($(TARGET),OpenBSD)
45 CXXFLAGS += -I/usr/local/include
46 LDFLAGS += -L/usr/local/lib
47 endif
49 OBJS = tunDevice.o \
50 packetSource.o \
51 buffer.o \
52 syncBuffer.o \
53 plainPacket.o \
54 encryptedPacket.o \
55 cipher.o \
56 authAlgo.o \
57 keyDerivation.o \
58 mpi.o \
59 cipherFactory.o \
60 authAlgoFactory.o \
61 keyDerivationFactory.o \
62 connectionList.o \
63 connectionParam.o \
64 networkAddress.o \
65 networkPrefix.o \
66 router.o \
67 routingTable.o \
68 signalController.o \
69 log.o \
70 options.o \
71 seqWindow.o \
72 syncQueue.o \
73 syncCommand.o \
74 syncRouteCommand.o \
75 syncRtpCommand.o \
76 syncConnectionCommand.o \
77 rtpSessionTable.o \
78 rtpSession.o \
79 anyrtpproxy/callIdQueue.o
81 SYNCOBJS= syncServer.o \
82 syncClient.o \
83 syncTcpConnection.o
85 ANYCTROBJS = signalController.o \
86 anyCtrOptions.o \
87 log.o \
88 syncTcpConnection.o \
89 syncServer.o
91 ANYCONFOBJS = log.o \
92 buffer.o \
93 keyDerivation.o \
94 mpi.o \
95 keyDerivationFactory.o \
96 networkAddress.o \
97 networkPrefix.o \
98 connectionList.o \
99 connectionParam.o \
100 rtpSessionTable.o \
101 rtpSession.o \
102 anyrtpproxy/callIdQueue.o \
103 syncRtpCommand.o \
104 anyConfOptions.o \
105 router.o \
106 routingTable.o \
107 seqWindow.o \
108 syncQueue.o \
109 syncBuffer.o \
110 syncCommand.o \
111 syncServer.o \
112 syncTcpConnection.o \
113 syncRouteCommand.o \
114 syncConnectionCommand.o
116 EXECUTABLE = anytun anytun-config anytun-controld anytun-showtables
118 all: $(EXECUTABLE) libAnysync.a #anyrtpproxy
120 anytun: $(OBJS) $(SYNCOBJS) anytun.o
121 $(LD) $(OBJS) $(SYNCOBJS) anytun.o -o $@ $(LDFLAGS)
123 anytun-static: $(OBJS) $(SYNCOBJS) anytun.o
124 $(LD) $(OBJS) $(SYNCOBJS) anytun.o -o $@ $(LDFLAGS) -lpthread -static
125 strip -s anytun-static
127 anytun-nosync: $(OBJS) anytun-nosync.o
128 $(LD) $(OBJS) anytun-nosync.o -o $@ $(LDFLAGS)
130 anytun-showtables: $(OBJS) $(SYNCOBJS) anytun-showtables.o
131 $(LD) $(OBJS) $(SYNCOBJS) anytun-showtables.o -o $@ $(LDFLAGS)
133 anytun-config: $(ANYCONFOBJS) anytun-config.o
134 $(LD) $(ANYCONFOBJS) anytun-config.o -o $@ $(LDFLAGS)
136 anytun-controld: $(ANYCTROBJS) anytun-controld.o
137 $(LD) $(ANYCTROBJS) anytun-controld.o -o $@ $(LDFLAGS)
139 tunDevice.o: tunDevice.cpp tunDevice.h
140 $(CXX) $(CXXFLAGS) $< -c
142 packetSource.o: packetSource.cpp packetSource.h
143 $(CXX) $(CXXFLAGS) $< -c
145 buffer.o: buffer.cpp buffer.h
146 $(CXX) $(CXXFLAGS) $< -c
148 syncBuffer.o: syncBuffer.cpp syncBuffer.h
149 $(CXX) $(CXXFLAGS) $< -c
151 syncServer.o: syncServer.cpp syncServer.h
152 $(CXX) $(CXXFLAGS) $< -c
154 syncClient.o: syncClient.cpp syncClient.h
155 $(CXX) $(CXXFLAGS) $< -c
157 syncTcpConnection.o: syncTcpConnection.cpp syncTcpConnection.h
158 $(CXX) $(CXXFLAGS) $< -c
160 controldTcpConnection.cpp: controldTcpConnection.cpp syncTcpConnection.h
161 $(CXX) $(CXXFLAGS) $< -c
163 rtpSessionTable.o: rtpSessionTable.cpp rtpSessionTable.h
164 $(CXX) $(CXXFLAGS) $< -c
166 rtpSession.o: rtpSession.cpp rtpSession.h
167 $(CXX) $(CXXFLAGS) $< -c
169 plainPacket.o: plainPacket.cpp plainPacket.h buffer.h
170 $(CXX) $(CXXFLAGS) $< -c
172 encryptedPacket.o: encryptedPacket.cpp encryptedPacket.h buffer.h
173 $(CXX) $(CXXFLAGS) $< -c
175 cipher.o: cipher.cpp cipher.h buffer.h
176 $(CXX) $(CXXFLAGS) $< -c
178 anyCtrSocket.o: anyCtrSocket.cpp anyCtrSocket.h
179 $(CXX) $(CXXFLAGS) $< -c
181 anyCtrOptions.o: anyCtrOptions.cpp anyCtrOptions.h
182 $(CXX) $(CXXFLAGS) $< -c
184 anyConfOptions.o: anyConfOptions.cpp anyConfOptions.h
185 $(CXX) $(CXXFLAGS) $< -c
187 authAlgo.o: authAlgo.cpp authAlgo.h buffer.h
188 $(CXX) $(CXXFLAGS) $< -c
190 keyDerivation.o: keyDerivation.cpp keyDerivation.h
191 $(CXX) $(CXXFLAGS) $< -c
193 mpi.o: mpi.cpp mpi.h
194 $(CXX) $(CXXFLAGS) $< -c
196 cipherFactory.o: cipherFactory.cpp cipherFactory.h cipher.h
197 $(CXX) $(CXXFLAGS) $< -c
199 authAlgoFactory.o: authAlgoFactory.cpp authAlgoFactory.h authAlgo.h
200 $(CXX) $(CXXFLAGS) $< -c
202 keyDerivationFactory.o: keyDerivationFactory.cpp keyDerivationFactory.h keyDerivation.h
203 $(CXX) $(CXXFLAGS) $< -c
205 routingTable.o: routingTable.cpp routingTable.h
206 $(CXX) $(CXXFLAGS) $< -c
208 syncCommand.o: syncCommand.cpp syncCommand.h
209 $(CXX) $(CXXFLAGS) $< -c
211 syncRouteCommand.o: syncRouteCommand.cpp syncRouteCommand.h
212 $(CXX) $(CXXFLAGS) $< -c
214 syncRtpCommand.o: syncRtpCommand.cpp syncRtpCommand.h
215 $(CXX) $(CXXFLAGS) $< -c
217 syncConnectionCommand.o: syncConnectionCommand.cpp syncConnectionCommand.h
218 $(CXX) $(CXXFLAGS) $< -c
220 syncQueue.o: syncQueue.cpp syncQueue.h
221 $(CXX) $(CXXFLAGS) $< -c
223 signalController.o: signalController.cpp signalController.h
224 $(CXX) $(CXXFLAGS) $< -c
226 PracticalSocket.o: PracticalSocket.cpp PracticalSocket.h
227 $(CXX) $(CXXFLAGS) $< -c
229 log.o: log.cpp log.h
230 $(CXX) $(CXXFLAGS) $< -c
232 options.o: options.cpp options.h
233 $(CXX) $(CXXFLAGS) $< -c
235 seqWindow.o: seqWindow.cpp seqWindow.h
236 $(CXX) $(CXXFLAGS) $< -c
238 connectionList.o: connectionList.cpp connectionList.h
239 $(CXX) $(CXXFLAGS) $< -c
241 connectionParam.o: connectionParam.cpp connectionParam.h
242 $(CXX) $(CXXFLAGS) $< -c
244 networkPrefix.o: networkPrefix.cpp networkPrefix.h
245 $(CXX) $(CXXFLAGS) $< -c
247 networkAddress.o: networkAddress.cpp networkAddress.h
248 $(CXX) $(CXXFLAGS) $< -c
250 router.o: router.cpp router.h
251 $(CXX) $(CXXFLAGS) $< -c
253 anytun.o: anytun.cpp
254 $(CXX) $(CXXFLAGS) $< -c
256 anytun-nosync.o: anytun.cpp
257 $(CXX) $(CXXFLAGS) -DANYTUN_NOSYNC $< -c -o anytun-nosync.o
259 anytun-showtables.o: anytun-showtables.cpp
260 $(CXX) $(CXXFLAGS) $< -c
262 anytun-config.o: anytun-config.cpp
263 $(CXX) $(CXXFLAGS) $< -c
265 anytun-controld.o: anytun-controld.cpp
266 $(CXX) $(CXXFLAGS) $< -c
268 cConnectionParam.o: cConnectionParam.cpp
269 $(CXX) $(CXXFLAGS) $< -c
271 libAnysync.a: $(OBJS)
272 ar cru $@ $(OBJS)
273 ranlib $@
275 anyrtpproxy: anytun
276 @cd anyrtpproxy ; $(MAKE)
278 distclean: cleanall
279 find . -name *.o -exec rm -f {} \;
280 rm -f config.sub config.guess
281 rm -f tunDevice.cpp
283 cleanall: clean
284 $(MAKE) --directory=$(CURDIR)/man clean
286 clean:
287 rm -f *.o
288 rm -f $(EXECUTABLE)
289 rm -f anytun-nosync
290 rm -f -r doc/html/*
291 rm -f -r doc/latex/*
292 rm -f libAnysync.a
293 $(MAKE) --directory=$(CURDIR)/anyrtpproxy clean
295 manpage:
296 @cd man ; $(MAKE)
298 doxygen:
299 doxygen Doxyfile
301 ctags:
302 ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .