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=122a72e4b7d296ed6320ef1c815d25cc4a899066;hb=26f67181f7dfdb4eec067ad0488ef65961b0b961;hpb=f9e59051127e72847e1bee84ad52670e875f7d2f diff --git a/ipif/Makefile b/ipif/Makefile index 122a72e..289935e 100644 --- a/ipif/Makefile +++ b/ipif/Makefile @@ -1,8 +1,16 @@ -# Copyright (C) 1999 Ian Jackson +# 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 2 of the License, or +# 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 @@ -11,46 +19,86 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with userv-utils; if not, write to the Free Software -# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# $Id$ +# along with userv-utils; if not, see http://www.gnu.org/licenses/. + +include ../settings.make -OPTIMISE= -O2 -CFLAGS= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith \ - -Wwrite-strings -g $(OPTIMISE) -D_GNU_SOURCE +varlibvpn= $(varlibuserv)/vpn +etcuserv= $(etcdir)/userv +etcvpn= $(etcuserv)/vpn -etcdir= /etc -prefix= /usr/local -bindir= $(prefix)/bin +PROGRAM_TARGETS+= +PROGRAM_TARGETS$(depr)+= udptunnel-forwarder udptunnel-reconf -libdir= $(prefix)/lib -libuserv= $(libdir)/userv +TARGETS+= service +TARGETS$(depr)+= blowfishtest +TARGETS+= $(PROGRAM_TARGETS) -etcuserv= $(etcdir)/userv -services= $(etcuserv)/services.d +PROGRAMS$(depr)+= udptunnel +PROGRAMS+= $(PROGRAM_TARGETS) -TARGETS= service udptunnel-forwarder +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) -automech.c automech.h: automechgen.sh Makefile +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: blowfish.h +blowfish.o mech-blowfish.o blowfishtest.o: blowfish.h +blowfishtest.o hex.o: hex.h