chiark / gitweb /
ipif: "include" looks for the file in the directory where "include" appears
[userv-utils] / ipif / Makefile
CommitLineData
f0e54a99 1# Makefile for ipif/udptunnel stuff
2
9028e234
IJ
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>
1c1a9fa1 10#
caa68336 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
9028e234 13# the Free Software Foundation; either version 3 of the License, or
caa68336 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
9028e234 22# along with userv-utils; if not, see http://www.gnu.org/licenses/.
1c1a9fa1 23
6362f12c 24include ../settings.make
e5e5fd4e 25
6362f12c 26varlibvpn= $(varlibuserv)/vpn
5e8cb121
IJ
27etcuserv= $(etcdir)/userv
28etcvpn= $(etcuserv)/vpn
6d90651a 29
97f318e0
IJ
30PROGRAM_TARGETS+=
31PROGRAM_TARGETS$(depr)+= udptunnel-forwarder udptunnel-reconf
32
33TARGETS+= service
34TARGETS$(depr)+= blowfishtest
35TARGETS+= $(PROGRAM_TARGETS)
36
37PROGRAMS$(depr)+= udptunnel
38PROGRAMS+= $(PROGRAM_TARGETS)
39
5e8cb121 40DIRS+= $(libuserv) $(etcuserv) $(services)
28b264ac 41DIRS+= $(docdir)/userv-ipif
26f67181 42DIRS+= $(etcuserv)/ipif-access
5e8cb121 43DIRS$(depr)+= $(bindir) $(varlibvpn) $(shareuserv)
97f318e0
IJ
44
45SHAREFILES$(depr)+= udptunnel-vpn-config.m4 udptunnel-vpn-defaults
1fb3cba0 46
47MECHFILES= null pkcs5 timestamp sequence blowfish
48MECHOBJS= $(foreach m, $(MECHFILES), mech-$m.o)
49
f9e59051 50OBJS_FORWARD= forwarder.o $(MECHOBJS) blowfish.o automech.c utils.c
ed509ebd 51OBJS_BFTEST= blowfishtest.o blowfish.o hex.o
6d90651a 52
53all: $(TARGETS)
54
5e8cb121 55install: all
97f318e0 56 mkdir -p $(DIRS)
8d9c5866 57 cp -b service $(libuserv)/ipif
26f67181 58 cp -b service-wrap $(libuserv)/ipif-access
97f318e0 59 set -e; for f in $(PROGRAMS); do cp -b $$f $(bindir)/.; done
2e082dfe 60 cp ipif $(services)/ipif:new
e5e5fd4e 61 set -e; cd $(services); test -f ipif || mv ipif:new ipif
97f318e0 62 set -e; for f in $(SHAREFILES); do cp $$f $(shareuserv)/.; done
2e082dfe 63
6362f12c 64install-docs:
28b264ac 65 sed -n '1,/^$$/p' service.c >$(docdir)/userv-ipif/service.c.txt
6362f12c 66
67install-examples:
97f318e0
IJ
68 set -e; if [ "x$depr" = x ]; then \
69 mkdir -p $(etcvpn); \
70 cp *.example $(etcvpn)/.; \
71 fi
6362f12c 72
2e082dfe 73udptunnel-reconf: udptunnel-reconf.pl Makefile
80ebbf9e
IJ
74 perl -p \
75 -e ' print " ' \
76 -e '\$$shareuserv= \"$(shareuserv)\";\n ' \
77 -e '\$$etcvpn= \"$(etcvpn)\";\n ' \
78 -e '\$$varlibvpn= \"$(varlibvpn)\";\n" if m#^\# \@\@\@\-#; ' \
79 -e ' $$_="" if m/^\# \@\@\@\-/ .. m/^\# \-\@\@\@/; ' \
2e082dfe 80 <$< >$@.new
81 chmod +x $@.new
82 mv -f $@.new $@
83
1fb3cba0 84
85udptunnel-forwarder: $(OBJS_FORWARD)
86 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_FORWARD)
87
ed509ebd 88blowfishtest: $(OBJS_BFTEST)
89 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_BFTEST)
90
31dcbf98 91automech.h: automechgen.sh Makefile
1fb3cba0 92 ./$< $(MECHFILES)
93
31dcbf98 94automech.c: automech.h
95
96clean:
97 rm -f *.o core automech.[ch] *~ ./#*#
98
c62ccbd5 99realclean distclean: clean
31dcbf98 100 rm -f $(TARGETS)
101
f9e59051 102forwarder.o $(MECHOBJS) automech.o utils.o: forwarder.h automech.h
ed509ebd 103blowfish.o mech-blowfish.o blowfishtest.o: blowfish.h
104blowfishtest.o hex.o: hex.h