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
)
35 CXXFLAGS
= -g
-Wall
-O2
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
44 ifeq ($(TARGET
),OpenBSD
)
45 CXXFLAGS
+= -I
/usr
/local
/include
46 LDFLAGS
+= -L
/usr
/local
/lib
61 keyDerivationFactory.o \
76 syncConnectionCommand.o \
79 anyrtpproxy
/callIdQueue.o
81 SYNCOBJS
= syncServer.o \
85 ANYCTROBJS
= signalController.o \
95 keyDerivationFactory.o \
102 anyrtpproxy
/callIdQueue.o \
112 syncTcpConnection.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
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
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
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
)
276 @cd anyrtpproxy
; $(MAKE
)
279 find .
-name
*.o
-exec
rm -f
{} \
;
280 rm -f config.sub config.guess
284 $(MAKE
) --directory
=$(CURDIR
)/man
clean
293 $(MAKE
) --directory
=$(CURDIR
)/anyrtpproxy
clean
302 ctags
-R
--c
++-kinds
=+p
--fields
=+iaS
--extra
=+q .