ipif: Update docs to reflect fact that we are now using tun/tap.
[userv-utils] / ipif / Makefile
1 # Makefile for ipif/udptunnel stuff
2
3 # This file is part of ipif, part of userv-util
4 #
5 # Copyright 1996-2013 Ian Jackson <ijackson@chiark.greenend.org.uk>
6 # Copyright 1998 David Damerell <damerell@chiark.greenend.org.uk>
7 # Copyright 1999,2003
8 # Chancellor Masters and Scholars of the University of Cambridge
9 # Copyright 2010 Tony Finch <fanf@dotat.at>
10 #
11 # This is free software; you can redistribute it and/or modify it
12 # under the terms of the GNU General Public License as published by
13 # the Free Software Foundation; either version 3 of the License, or
14 # (at your option) any later version.
15 #
16 # This program is distributed in the hope that it will be useful, but
17 # WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 # General Public License for more details.
20 #
21 # You should have received a copy of the GNU General Public License
22 # along with userv-utils; if not, see http://www.gnu.org/licenses/.
23
24 include ../settings.make
25
26 varlibvpn= $(varlibuserv)/vpn
27 etcvpn= $(etcdir)/userv/vpn
28
29 PROGRAM_TARGETS= udptunnel-forwarder udptunnel-reconf
30 TARGETS= service blowfishtest $(PROGRAM_TARGETS)
31 PROGRAMS= udptunnel $(PROGRAM_TARGETS)
32
33 MECHFILES= null pkcs5 timestamp sequence blowfish
34 MECHOBJS= $(foreach m, $(MECHFILES), mech-$m.o)
35
36 OBJS_FORWARD= forwarder.o $(MECHOBJS) blowfish.o automech.c utils.c
37 OBJS_BFTEST= blowfishtest.o blowfish.o hex.o
38
39 all: $(TARGETS)
40
41 install: all
42 mkdir -p $(bindir) $(libuserv) $(services) \
43 $(varlibvpn) $(shareuserv)
44 cp -b service $(libuserv)/ipif
45 cp -b $(PROGRAMS) $(bindir)/.
46 cp ipif $(services)/ipif:new
47 set -e; cd $(services); test -f ipif || mv ipif:new ipif
48 cp udptunnel-vpn-config.m4 udptunnel-vpn-defaults \
49 $(shareuserv)/.
50
51 install-docs:
52
53 install-examples:
54 mkdir -p $(etcvpn)
55 cp *.example $(etcvpn)/.
56
57 udptunnel-reconf: udptunnel-reconf.pl Makefile
58 perl -p \
59 -e ' print " ' \
60 -e '\$$shareuserv= \"$(shareuserv)\";\n ' \
61 -e '\$$etcvpn= \"$(etcvpn)\";\n ' \
62 -e '\$$varlibvpn= \"$(varlibvpn)\";\n" if m#^\# \@\@\@\-#; ' \
63 -e ' $$_="" if m/^\# \@\@\@\-/ .. m/^\# \-\@\@\@/; ' \
64 <$< >$@.new
65 chmod +x $@.new
66 mv -f $@.new $@
67
68
69 udptunnel-forwarder: $(OBJS_FORWARD)
70 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_FORWARD)
71
72 blowfishtest: $(OBJS_BFTEST)
73 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_BFTEST)
74
75 automech.h: automechgen.sh Makefile
76 ./$< $(MECHFILES)
77
78 automech.c: automech.h
79
80 clean:
81 rm -f *.o core automech.[ch] *~ ./#*#
82
83 realclean distclean: clean
84 rm -f $(TARGETS)
85
86 forwarder.o $(MECHOBJS) automech.o utils.o: forwarder.h automech.h
87 blowfish.o mech-blowfish.o blowfishtest.o: blowfish.h
88 blowfishtest.o hex.o: hex.h