+# Makefile for ipif/udptunnel stuff
+
+# Copyright (C) 1999-2000 Ian Jackson
+#
+# 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
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# 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: Makefile,v 1.15 2000/12/11 02:41:27 ian Exp $
+OPTIMISE= -O2
CFLAGS= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith \
- -Wwrite-strings -g -D_GNU_SOURCE
+ -Wwrite-strings -g $(OPTIMISE) -D_GNU_SOURCE \
+ $(XCFLAGS)
-etc= /etc
+etcdir= /etc
prefix= /usr/local
-libipif= $(prefix)/lib/userv-ipif
-etcipif= $(etc)/userv/ipif
+bindir= $(prefix)/bin
+vardir= /var
+
+libdir= $(prefix)/lib
+sharedir= $(prefix)/share
+libuserv= $(libdir)/userv
+shareuserv= $(sharedir)/userv
+varlib= $(vardir)/lib
+varlibuserv= $(varlib)/userv
+varlibvpn= $(varlibuserv)/vpn
-TARGETS= service
+etcuserv= $(etcdir)/userv
+etcvpn= $(etcdir)/userv/vpn
+services= $(etcuserv)/services.d
+
+PROGRAM_TARGETS= udptunnel-forwarder udptunnel-reconf
+TARGETS= service blowfishtest $(PROGRAM_TARGETS)
+PROGRAMS= udptunnel $(PROGRAM_TARGETS)
+
+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 $(libipif) $(etcipif)
- cp service alloc.pl $(libdir)/.
- touch $(etcipif)/networks
+ mkdir -p $(libuserv) $(services) $(etcvpn) \
+ $(varlibvpn) $(shareuserv)
+ cp -b service $(libuserv)/ipif
+ cp -b $(PROGRAMS) $(bindir)/.
+ cp ipif $(services)/ipif:new
+ set -e; cd $(services); test -f ipif || mv ipif:new ipif
+ cp *.example $(etcvpn)/.
+ cp udptunnel-vpn-config.m4 udptunnel-vpn-defaults \
+ $(shareuserv)/.
+
+udptunnel-reconf: udptunnel-reconf.pl Makefile
+ perl -pe ' \
+ print "\
+\$$shareuserv= \"$(shareuserv)\";\n\
+\$$etcvpn= \"$(etcvpn)\";\n\
+\$$varlibvpn= \"$(varlibvpn)\";\n" if m#^\# \@\@\@\-#; \
+ $$_="" if m/^\# \@\@\@\-/ .. m/^\# \-\@\@\@/; \
+ ' \
+ <$< >$@.new
+ chmod +x $@.new
+ mv -f $@.new $@
+
+
+udptunnel-forwarder: $(OBJS_FORWARD)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_FORWARD)
+
+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: clean
+ rm -f $(TARGETS)
+
+forwarder.o $(MECHOBJS) automech.o utils.o: forwarder.h automech.h
+blowfish.o mech-blowfish.o blowfishtest.o: blowfish.h
+blowfishtest.o hex.o: hex.h