X-Git-Url: https://git.syn-net.org/debian/?a=blobdiff_plain;f=src%2FMakefile;h=9d29cb506c91200b2435bd57de4a540019ee1b7a;hb=5123ec3335dda691676f62467c57edc2517a5d5c;hp=34863b845e1fe84aea976450e9afb28db3750af0;hpb=bf2cb4e3379948d1f2e65f2a6373cf0f8c379481;p=anytun.git diff --git a/src/Makefile b/src/Makefile index 34863b8..9d29cb5 100644 --- a/src/Makefile +++ b/src/Makefile @@ -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 ## ## This file is part of Anytun. @@ -27,16 +27,27 @@ ## 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 . +## along with Anytun. If not, see . +## +## 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) @@ -132,9 +171,9 @@ ANYCTRSRCS := $(ANYCTROBJS:%.o=%.cpp) ANYCONFSRCS := $(ANYCONFOBJS:%.o=%.cpp) EXESRCS := $(EXEOBJS:%.o=%.cpp) -.PHONY: distclean cleanall clean manpage install install-bin install-etc install-man uninstall remove purge +.PHONY: distclean cleanall clean manpage install install-bin install-etc install-man uninstall remove purge remove-systemd install-systemd remove-bin remove-man remove-examples -all: $(EXECUTABLES) #libAnysync.a +all: $(EXECUTABLES) #libAnysync.a %.d: %.cpp @set -e; rm -f $@; \ @@ -147,45 +186,45 @@ ifneq ($(MAKECMDGOALS),distclean) endif strip: $(EXECUTABLES) - $(STRIP) -s $(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) -options.o: options.cpp +options.o: options.cpp $(CXX) $(CXXFLAGS) -DANYTUN_OPTIONS $< -c -o $@ -anyCtrOptions.o: options.cpp +anyCtrOptions.o: options.cpp $(CXX) $(CXXFLAGS) -DANYCTR_OPTIONS $< -c -o $@ -anyConfOptions.o: options.cpp +anyConfOptions.o: options.cpp $(CXX) $(CXXFLAGS) -DANYCONF_OPTIONS $< -c -o $@ nullOptions.o: options.cpp $(CXX) $(CXXFLAGS) $< -c -o $@ %.o: %.cpp - $(CXX) $(CXXFLAGS) $< -c + $(CXX) $(CXXFLAGS) $< -c -o $@ libAnysync.a: $(OBJS) @@ -195,7 +234,6 @@ libAnysync.a: $(OBJS) anyrtpproxy: anytun $(MAKE) --directory=$(CURDIR)/anyrtpproxy - distclean: cleanall find . -name *.o -exec rm -f {} \; rm -f config.sub config.guess @@ -214,7 +252,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/* @@ -238,6 +280,11 @@ INSTALL_TARGETS += install-examples REMOVE_TARGETS += remove-examples endif +ifdef SYSTEMDDIR +INSTALL_TARGETS += install-systemd +REMOVE_TARGETS := remove-systemd +endif + install: all $(INSTALL_TARGETS) install-bin: $(EXECUTABLES) @@ -247,18 +294,36 @@ install-bin: $(EXECUTABLES) $(INSTALL) -m 755 anytun-config $(DESTDIR)$(BINDIR) $(INSTALL) -m 755 anytun-controld $(DESTDIR)$(BINDIR) $(INSTALL) -m 755 anytun-showtables $(DESTDIR)$(BINDIR) + $(INSTALL) -d $(DESTDIR)$(LIBDIR) + @ sed -e 's#/usr/local/sbin#$(SBINDIR)#' -e 's#/usr/local/bin#$(BINDIR)#' \ + -e 's#/usr/local/etc#$(ETCDIR)#' ../usr/lib/anytun-launcher > ../usr/lib/anytun-launcher.bak + $(INSTALL) -m 755 ../usr/lib/anytun-launcher.bak $(DESTDIR)$(LIBDIR)/anytun-launcher + rm -f ../usr/lib/anytun-launcher.bak install-etc: $(INSTALL) -d $(DESTDIR)$(ETCDIR)/anytun @ echo "example configurations can be found at $(EXAMPLESDIR)/anytun" > $(DESTDIR)$(ETCDIR)/anytun/README $(INSTALL) -d $(DESTDIR)$(ETCDIR)/init.d - @ sed -e 's#DAEMON=/usr/sbin/anytun#DAEMON=$(SBINDIR)/anytun#' \ - -e 's#ANYTUNCONFIG=/usr/bin/anytun-config#ANYTUNCONFIG=$(BINDIR)/anytun-config#' \ - -e 's#CONTROLDAEMON=/usr/bin/anytun-controld#CONTROLDAEMON=$(BINDIR)/anytun-controld#' \ - -e 's#CONFIG_DIR=/etc/anytun#CONFIG_DIR=$(ETCDIR)/anytun#' ../etc/init.d/anytun > ../etc/init.d/anytun.bak + @ sed -e 's#/usr/local/bin#$(BINDIR)#' -e 's#/usr/local/lib#$(LIBDIR)#' -e 's#/usr/local/etc#$(ETCDIR)#' ../etc/init.d/anytun > ../etc/init.d/anytun.bak $(INSTALL) -m 755 ../etc/init.d/anytun.bak $(DESTDIR)$(ETCDIR)/init.d/anytun rm -f ../etc/init.d/anytun.bak +install-systemd: + $(INSTALL) -d $(DESTDIR)$(SYSTEMDDIR) + $(INSTALL) -m 644 ../usr/lib/systemd/system/anytun.service $(DESTDIR)$(SYSTEMDDIR)/anytun.service + @ sed -e 's#/usr/local/lib#$(LIBDIR)#' ../usr/lib/systemd/system/anytun@.service > ../usr/lib/systemd/system/anytun@.service.bak + @ sed -e 's#/usr/local/lib#$(LIBDIR)#' ../usr/lib/systemd/system/anytun-controld@.service > ../usr/lib/systemd/system/anytun-controld@.service.bak + $(INSTALL) -m 644 ../usr/lib/systemd/system/anytun@.service.bak $(DESTDIR)$(SYSTEMDDIR)/anytun@.service + $(INSTALL) -m 644 ../usr/lib/systemd/system/anytun-controld@.service.bak $(DESTDIR)$(SYSTEMDDIR)/anytun-controld@.service + rm -f ../usr/lib/systemd/system/anytun@.service.bak + rm -f ../usr/lib/systemd/system/anytun-controld@.service.bak + $(INSTALL) -d $(DESTDIR)$(SYSTEMDGENERATORDIR) + @ sed -e 's#/usr/local/etc#$(ETCDIR)#' ../usr/lib/systemd/system-generator/anytun-generator > ../usr/lib/systemd/system-generator/anytun-generator.bak + $(INSTALL) -m 755 ../usr/lib/systemd/system-generator/anytun-generator.bak $(DESTDIR)$(SYSTEMDGENERATORDIR)/anytun-generator + rm -f ../usr/lib/systemd/system-generator/anytun-generator.bak + $(INSTALL) -d $(DESTDIR)$(TMPFILESDDIR) + $(INSTALL) -m 644 ../usr/lib/tmpfiles.d/anytun.conf $(DESTDIR)$(TMPFILESDDIR)/anytun.conf + install-examples: $(INSTALL) -d $(DESTDIR)$(EXAMPLESDIR)/anytun $(INSTALL) -m 644 ../etc/anytun/autostart $(DESTDIR)$(EXAMPLESDIR)/anytun/autostart @@ -308,6 +373,13 @@ remove-bin: remove-etc: rm -f $(DESTDIR)$(ETCDIR)/init.d/anytun +remove-systemd: + rm -f $(DESTDIR)$(SYSTEMDDIR)/anytun.service + rm -f $(DESTDIR)$(SYSTEMDDIR)/anytun@.service + rm -f $(DESTDIR)$(SYSTEMDDIR)/anytun-controld@.service + rm -f $(DESTDIR)$(SYSTEMDGENERATORDIR)/anytun-generator + rm -f $(DESTDIR)$(TMPFILESDDIR)/anytun.conf + remove-examples: rm -rf $(DESTDIR)$(EXAMPLESDIR)/anytun/