chiark / gitweb /
Merge udptunnelconf branch; cvs up -j branchpoint-2000-12-10-udptunnelconf -j mergepo...
[userv-utils.git] / ipif / Makefile
1 # Makefile for ipif/udptunnel stuff
2
3 # Copyright (C) 1999-2000 Ian Jackson
4 #
5 # This is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 # General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with userv-utils; if not, write to the Free Software
17 # Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 #
19 # $Id$
20
21 OPTIMISE=       -O2
22 CFLAGS=         -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith \
23                 -Wwrite-strings -g $(OPTIMISE) -D_GNU_SOURCE \
24                 $(XCFLAGS)
25
26 etcdir=         /etc
27 prefix=         /usr/local
28 bindir=         $(prefix)/bin
29 vardir=         /var
30
31 libdir=         $(prefix)/lib
32 sharedir=       $(prefix)/share
33 libuserv=       $(libdir)/userv
34 shareuserv=     $(sharedir)/userv
35 varlib=         $(vardir)/lib
36 varlibuserv=    $(varlib)/userv
37 varlibvpn=      $(varlibuserv)/vpn
38
39 etcuserv=       $(etcdir)/userv
40 etcvpn=         $(etcdir)/userv/vpn
41 services=       $(etcuserv)/services.d
42
43 PROGRAM_TARGETS=        udptunnel-forwarder udptunnel-reconf
44 TARGETS=                service blowfishtest $(PROGRAM_TARGETS)
45 PROGRAMS=               udptunnel $(PROGRAM_TARGETS)
46
47 MECHFILES=      null pkcs5 timestamp sequence blowfish
48 MECHOBJS=       $(foreach m, $(MECHFILES), mech-$m.o)
49
50 OBJS_FORWARD=   forwarder.o $(MECHOBJS) blowfish.o automech.c utils.c
51 OBJS_BFTEST=    blowfishtest.o blowfish.o hex.o
52
53 all:            $(TARGETS)
54
55 install:        all
56                 mkdir -p $(libuserv) $(services) $(etcvpn) \
57                         $(varlibvpn) $(shareuserv)
58                 cp -b service $(libuserv)/ipif
59                 cp -b $(PROGRAMS) $(bindir)/.
60                 cp ipif $(services)/ipif:new
61                 set -e; cd $(services); test -f ipif || mv ipif:new ipif
62                 cp *.example $(etcvpn)/.
63                 cp udptunnel-vpn-config.m4 udptunnel-vpn-defaults \
64                         $(shareuserv)/.
65
66 udptunnel-reconf:       udptunnel-reconf.pl Makefile
67                 perl -pe '      \
68         print "\
69 \$$shareuserv= \"$(shareuserv)\";\n\
70 \$$etcvpn= \"$(etcvpn)\";\n\
71 \$$varlibvpn= \"$(varlibvpn)\";\n" if m#^\# \@\@\@\-#;  \
72         $$_="" if m/^\# \@\@\@\-/ .. m/^\# \-\@\@\@/;   \
73                 '       \
74                         <$< >$@.new
75                 chmod +x $@.new
76                 mv -f $@.new $@
77
78
79 udptunnel-forwarder:    $(OBJS_FORWARD)
80                 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_FORWARD)
81
82 blowfishtest:           $(OBJS_BFTEST)
83                 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_BFTEST)
84
85 automech.h:             automechgen.sh Makefile
86                 ./$< $(MECHFILES)
87
88 automech.c:             automech.h
89
90 clean:
91                 rm -f *.o core automech.[ch] *~ ./#*#
92
93 realclean:              clean
94                 rm -f $(TARGETS)
95
96 forwarder.o $(MECHOBJS) automech.o utils.o:     forwarder.h automech.h
97 blowfish.o mech-blowfish.o blowfishtest.o:      blowfish.h
98 blowfishtest.o hex.o:                           hex.h