Imported Upstream version 0.3.5
[anytun.git] / src / Makefile
index 34863b8..b2f1646 100644 (file)
@@ -6,12 +6,12 @@
 ##  tunnel endpoints.  It has less protocol overhead than IPSec in Tunnel
 ##  mode and allows tunneling of every ETHER TYPE protocol (e.g.
 ##  ethernet, ip, arp ...). satp directly includes cryptography and
-##  message authentication based on the methodes used by SRTP.  It is
+##  message authentication based on the methods used by SRTP.  It is
 ##  intended to deliver a generic, scaleable and secure solution for
 ##  tunneling and relaying of packets of any protocol.
 ##
 ##
-##  Copyright (C) 2007-2009 Othmar Gsenger, Erwin Nindl, 
+##  Copyright (C) 2007-2014 Markus Grüneis, Othmar Gsenger, Erwin Nindl,
 ##                          Christian Pointner <satp@wirdorange.org>
 ##
 ##  This file is part of Anytun.
 ##  GNU General Public License for more details.
 ##
 ##  You should have received a copy of the GNU General Public License
-##  along with anytun.  If not, see <http://www.gnu.org/licenses/>.
+##  along with Anytun.  If not, see <http://www.gnu.org/licenses/>.
+##
+##  In addition, as a special exception, the copyright holders give
+##  permission to link the code of portions of this program with the
+##  OpenSSL library under certain conditions as described in each
+##  individual source file, and distribute linked combinations
+##  including the two.
+##  You must obey the GNU General Public License in all respects
+##  for all of the code used other than OpenSSL.  If you modify
+##  file(s) with this exception, you may extend this exception to your
+##  version of the file(s), but you are not obligated to do so.  If you
+##  do not wish to do so, delete this exception statement from your
+##  version.  If you delete this exception statement from all source
+##  files in the program, then also delete it here.
 ##
 
 ifneq ($(MAKECMDGOALS),distclean)
 include include.mk
 endif
 
-
-ANYTUNOBJS := tunDevice.o \
-              packetSource.o \
+ANYTUNOBJS := packetSource.o \
               authAlgo.o \
               authAlgoFactory.o \
               cipher.o \
@@ -45,7 +56,6 @@ ANYTUNOBJS := tunDevice.o \
               encryptedPacket.o \
               options.o \
               signalController.o \
-              daemonService.o \
               sysExec.o \
               resolver.o \
               buffer.o \
@@ -63,6 +73,19 @@ ANYTUNOBJS := tunDevice.o \
               anytunError.o \
               seqWindow.o
 
+ifneq ($(TARGET),mingw)
+ANYTUNOBJS := $(ANYTUNOBJS) \
+              tunDevice.o \
+              daemonService.o
+else
+ANYTUNOBJS := $(ANYTUNOBJS) \
+              win32/tunDevice.o \
+              nullDaemon.o \
+              win32/winService.o \
+              win32/registryKey.o
+endif
+
+
 ANYSHOWOBJS := buffer.o \
                syncBuffer.o \
                keyDerivation.o \
@@ -80,6 +103,7 @@ ANYSHOWOBJS := buffer.o \
                nullOptions.o \
                resolver.o
 
+
 SYNCOBJS := syncServer.o \
             syncClient.o \
             syncQueue.o \
@@ -88,8 +112,8 @@ SYNCOBJS := syncServer.o \
             syncConnectionCommand.o \
             syncTcpConnection.o
 
+
 ANYCTROBJS := signalController.o \
-              daemonService.o \
               anyCtrOptions.o \
               buffer.o \
               log.o \
@@ -99,6 +123,15 @@ ANYCTROBJS := signalController.o \
               syncServer.o \
               resolver.o
 
+ifneq ($(TARGET),mingw)
+ANYCTROBJS := $(ANYCTROBJS) \
+              daemonService.o
+else
+ANYCTROBJS := $(ANYCTROBJS) \
+              nullDaemon.o
+endif
+
+
 ANYCONFOBJS := log.o \
                logTargets.o \
                anytunError.o \
@@ -122,7 +155,13 @@ ANYCONFOBJS := log.o \
                syncConnectionCommand.o \
                resolver.o
 
-EXECUTABLES := anytun anytun-config anytun-controld anytun-showtables anytun-nosync
+ifneq ($(TARGET),mingw)
+  EXE :=
+else
+  EXE := .exe
+endif
+
+EXECUTABLES := anytun$(EXE) anytun-config$(EXE) anytun-controld$(EXE) anytun-showtables$(EXE) anytun-nosync$(EXE)
 EXEOBJS := anytun.o anytun-config.o anytun-controld.o anytun-showtables.o
 
 ANYTUNSRCS := $(ANYTUNOBJS:%.o=%.cpp)
@@ -134,7 +173,7 @@ EXESRCS := $(EXEOBJS:%.o=%.cpp)
 
 .PHONY: distclean cleanall clean manpage install install-bin install-etc install-man uninstall remove purge
 
-all: $(EXECUTABLES) #libAnysync.a 
+all: $(EXECUTABLES) #libAnysync.a
 
 %.d: %.cpp
        @set -e; rm -f $@;                                    \
@@ -149,26 +188,26 @@ endif
 strip: $(EXECUTABLES)
        $(STRIP) -s $(EXECUTABLES) 
 
-anytun: $(ANYTUNOBJS) $(SYNCOBJS) anytun.o
+anytun$(EXE): $(ANYTUNOBJS) $(SYNCOBJS) anytun.o
        $(LD) $(ANYTUNOBJS) $(SYNCOBJS) anytun.o -o $@ $(LDFLAGS)
 
 anytun-static: $(ANYTUNOBJS) $(SYNCOBJS) anytun-noprivdrop.o
        $(LD) $(ANYTUNOBJS) $(SYNCOBJS) anytun-noprivdrop.o -o $@ -Bstatic -lstdc++ -static $(LDFLAGS) -lpthread
        $(STRIP) -s anytun-static
 
-anytun-nosync: $(ANYTUNOBJS) anytun-nosync.o
+anytun-nosync$(EXE): $(ANYTUNOBJS) anytun-nosync.o
        $(LD) $(ANYTUNOBJS) anytun-nosync.o -o $@ $(LDFLAGS)
 
 anytun-nosync.o: anytun.cpp
        $(CXX) $(CXXFLAGS) -DANYTUN_NOSYNC $< -c -o anytun-nosync.o
 
-anytun-showtables: $(ANYSHOWOBJS) $(SYNCOBJS) anytun-showtables.o
+anytun-showtables$(EXE): $(ANYSHOWOBJS) $(SYNCOBJS) anytun-showtables.o
        $(LD) $(ANYSHOWOBJS) $(SYNCOBJS) anytun-showtables.o -o $@ $(LDFLAGS)
 
-anytun-config: $(ANYCONFOBJS) anytun-config.o
+anytun-config$(EXE): $(ANYCONFOBJS) anytun-config.o
        $(LD) $(ANYCONFOBJS) anytun-config.o -o $@ $(LDFLAGS)
 
-anytun-controld: $(ANYCTROBJS) anytun-controld.o
+anytun-controld$(EXE): $(ANYCTROBJS) anytun-controld.o
        $(LD) $(ANYCTROBJS) anytun-controld.o -o $@ $(LDFLAGS)
 
 
@@ -185,7 +224,7 @@ nullOptions.o: options.cpp
        $(CXX) $(CXXFLAGS) $< -c -o $@
 
 %.o: %.cpp
-       $(CXX) $(CXXFLAGS) $< -c
+       $(CXX) $(CXXFLAGS) $< -c -o $@
 
 
 libAnysync.a: $(OBJS)
@@ -214,7 +253,11 @@ clean:
        rm -f *.o
        rm -f *.d
        rm -f *.d.*
+       rm -f win32/*.o
+       rm -f win32/*.d
+       rm -f win32/*.d.*
        rm -f $(EXECUTABLES)
+       rm -f *.exe
        rm -f anytun-nosync
        rm -f -r doc/html/*
        rm -f -r doc/latex/*