@@ -4,6 +4,7 @@
[userv-utils] / ipif / Makefile
CommitLineData
f0e54a99 1# Makefile for ipif/udptunnel stuff
2
3# Copyright (C) 1999-2000 Ian Jackson
1c1a9fa1 4#
caa68336 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$
1c1a9fa1 20
2c310400 21OPTIMISE= -O2
1c1a9fa1 22CFLAGS= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith \
31dcbf98 23 -Wwrite-strings -g $(OPTIMISE) -D_GNU_SOURCE \
24 $(XCFLAGS)
1c1a9fa1 25
e5e5fd4e 26etcdir= /etc
6d90651a 27prefix= /usr/local
caad5ebb 28bindir= $(prefix)/bin
2e082dfe 29vardir= /var
e5e5fd4e 30
31libdir= $(prefix)/lib
2e082dfe 32sharedir= $(prefix)/share
e5e5fd4e 33libuserv= $(libdir)/userv
2e082dfe 34shareuserv= $(sharedir)/userv
35varlib= $(vardir)/lib
36varlibuserv= $(varlib)/userv
37varlibvpn= $(varlibuserv)/vpn
e5e5fd4e 38
39etcuserv= $(etcdir)/userv
2e082dfe 40etcvpn= $(etcdir)/userv/vpn
e5e5fd4e 41services= $(etcuserv)/services.d
6d90651a 42
2e082dfe 43PROGRAM_TARGETS= udptunnel-forwarder udptunnel-reconf
31dcbf98 44TARGETS= service blowfishtest $(PROGRAM_TARGETS)
45PROGRAMS= udptunnel $(PROGRAM_TARGETS)
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
55install: all
2e082dfe 56 mkdir -p $(libuserv) $(services) $(etcvpn) \
57 $(varlibvpn) $(shareuserv)
8d9c5866 58 cp -b service $(libuserv)/ipif
f0e54a99 59 cp -b $(PROGRAMS) $(bindir)/.
2e082dfe 60 cp ipif $(services)/ipif:new
e5e5fd4e 61 set -e; cd $(services); test -f ipif || mv ipif:new ipif
2e082dfe 62 cp *.example $(etcvpn)/.
63 cp udptunnel-vpn-config.m4 udptunnel-vpn-defaults \
64 $(shareuserv)/.
65
66udptunnel-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
1fb3cba0 78
79udptunnel-forwarder: $(OBJS_FORWARD)
80 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_FORWARD)
81
ed509ebd 82blowfishtest: $(OBJS_BFTEST)
83 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_BFTEST)
84
31dcbf98 85automech.h: automechgen.sh Makefile
1fb3cba0 86 ./$< $(MECHFILES)
87
31dcbf98 88automech.c: automech.h
89
90clean:
91 rm -f *.o core automech.[ch] *~ ./#*#
92
c62ccbd5 93realclean distclean: clean
31dcbf98 94 rm -f $(TARGETS)
95
f9e59051 96forwarder.o $(MECHOBJS) automech.o utils.o: forwarder.h automech.h
ed509ebd 97blowfish.o mech-blowfish.o blowfishtest.o: blowfish.h
98blowfishtest.o hex.o: hex.h