X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=userv-utils.git;a=blobdiff_plain;f=ipif%2FMakefile;h=289935e7eef05fcae75d3e0ebee8fbc745af5896;hp=9445e0824a02f5a769defdc7499c180c7eba693f;hb=26f67181f7dfdb4eec067ad0488ef65961b0b961;hpb=8d9c58663412f651132b7f75ca3a49514cb1fd4d diff --git a/ipif/Makefile b/ipif/Makefile index 9445e08..289935e 100644 --- a/ipif/Makefile +++ b/ipif/Makefile @@ -1,26 +1,104 @@ +# Makefile for ipif/udptunnel stuff + +# This file is part of ipif, part of userv-util +# +# Copyright 1996-2013 Ian Jackson +# Copyright 1998 David Damerell +# Copyright 1999,2003 +# Chancellor Masters and Scholars of the University of Cambridge +# Copyright 2010 Tony Finch +# +# This is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with userv-utils; if not, see http://www.gnu.org/licenses/. -OPTIMISE= -O2 -CFLAGS= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith \ - -Wwrite-strings -g $(OPTIMISE) -D_GNU_SOURCE +include ../settings.make -etcdir= /etc -prefix= /usr/local -bindir= $(prefix)/bin +varlibvpn= $(varlibuserv)/vpn +etcuserv= $(etcdir)/userv +etcvpn= $(etcuserv)/vpn -libdir= $(prefix)/lib -libuserv= $(libdir)/userv +PROGRAM_TARGETS+= +PROGRAM_TARGETS$(depr)+= udptunnel-forwarder udptunnel-reconf -etcuserv= $(etcdir)/userv -services= $(etcuserv)/services.d +TARGETS+= service +TARGETS$(depr)+= blowfishtest +TARGETS+= $(PROGRAM_TARGETS) -TARGETS= service +PROGRAMS$(depr)+= udptunnel +PROGRAMS+= $(PROGRAM_TARGETS) + +DIRS+= $(libuserv) $(etcuserv) $(services) +DIRS+= $(docdir)/userv-ipif +DIRS+= $(etcuserv)/ipif-access +DIRS$(depr)+= $(bindir) $(varlibvpn) $(shareuserv) + +SHAREFILES$(depr)+= udptunnel-vpn-config.m4 udptunnel-vpn-defaults + +MECHFILES= null pkcs5 timestamp sequence blowfish +MECHOBJS= $(foreach m, $(MECHFILES), mech-$m.o) + +OBJS_FORWARD= forwarder.o $(MECHOBJS) blowfish.o automech.c utils.c +OBJS_BFTEST= blowfishtest.o blowfish.o hex.o all: $(TARGETS) install: all - mkdir -p $(libuserv) $(services) + mkdir -p $(DIRS) cp -b service $(libuserv)/ipif + cp -b service-wrap $(libuserv)/ipif-access + set -e; for f in $(PROGRAMS); do cp -b $$f $(bindir)/.; done cp ipif $(services)/ipif:new - cp -b udptunnel $(bindir)/. set -e; cd $(services); test -f ipif || mv ipif:new ipif + set -e; for f in $(SHAREFILES); do cp $$f $(shareuserv)/.; done + +install-docs: + sed -n '1,/^$$/p' service.c >$(docdir)/userv-ipif/service.c.txt + +install-examples: + set -e; if [ "x$depr" = x ]; then \ + mkdir -p $(etcvpn); \ + cp *.example $(etcvpn)/.; \ + fi + +udptunnel-reconf: udptunnel-reconf.pl Makefile + perl -p \ + -e ' print " ' \ + -e '\$$shareuserv= \"$(shareuserv)\";\n ' \ + -e '\$$etcvpn= \"$(etcvpn)\";\n ' \ + -e '\$$varlibvpn= \"$(varlibvpn)\";\n" if m#^\# \@\@\@\-#; ' \ + -e ' $$_="" if m/^\# \@\@\@\-/ .. m/^\# \-\@\@\@/; ' \ + <$< >$@.new + chmod +x $@.new + mv -f $@.new $@ + + +udptunnel-forwarder: $(OBJS_FORWARD) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_FORWARD) + +blowfishtest: $(OBJS_BFTEST) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_BFTEST) + +automech.h: automechgen.sh Makefile + ./$< $(MECHFILES) + +automech.c: automech.h + +clean: + rm -f *.o core automech.[ch] *~ ./#*# + +realclean distclean: clean + rm -f $(TARGETS) + +forwarder.o $(MECHOBJS) automech.o utils.o: forwarder.h automech.h +blowfish.o mech-blowfish.o blowfishtest.o: blowfish.h +blowfishtest.o hex.o: hex.h