# Makefile for ipif/udptunnel stuff
-# Copyright (C) 1999-2000 Ian Jackson
+# This file is part of ipif, part of userv-util
+#
+# Copyright 1996-2013 Ian Jackson <ijackson@chiark.greenend.org.uk>
+# Copyright 1998 David Damerell <damerell@chiark.greenend.org.uk>
+# Copyright 1999,2003
+# Chancellor Masters and Scholars of the University of Cambridge
+# Copyright 2010 Tony Finch <fanf@dotat.at>
#
# 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
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# 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$
-
-OPTIMISE= -O2
-CFLAGS= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith \
- -Wwrite-strings -g $(OPTIMISE) -D_GNU_SOURCE \
- $(XCFLAGS)
-
-etcdir= /etc
-prefix= /usr/local
-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
+# along with userv-utils; if not, see http://www.gnu.org/licenses/.
+include ../settings.make
+
+varlibvpn= $(varlibuserv)/vpn
etcuserv= $(etcdir)/userv
-etcvpn= $(etcdir)/userv/vpn
-services= $(etcuserv)/services.d
+etcvpn= $(etcuserv)/vpn
+
+PROGRAM_TARGETS+=
+PROGRAM_TARGETS$(depr)+= udptunnel-forwarder udptunnel-reconf
-PROGRAM_TARGETS= udptunnel-forwarder udptunnel-reconf
-TARGETS= service blowfishtest $(PROGRAM_TARGETS)
-PROGRAMS= udptunnel $(PROGRAM_TARGETS)
+TARGETS+= service
+TARGETS$(depr)+= blowfishtest
+TARGETS+= $(PROGRAM_TARGETS)
+
+PROGRAMS$(depr)+= udptunnel
+PROGRAMS+= $(PROGRAM_TARGETS)
+
+DIRS+= $(libuserv) $(etcuserv) $(services)
+DIRS+= $(docdir)/userv-ipif
+DIRS$(depr)+= $(bindir) $(varlibvpn) $(shareuserv)
+
+SHAREFILES$(depr)+= udptunnel-vpn-config.m4 udptunnel-vpn-defaults
MECHFILES= null pkcs5 timestamp sequence blowfish
MECHOBJS= $(foreach m, $(MECHFILES), mech-$m.o)
all: $(TARGETS)
install: all
- mkdir -p $(libuserv) $(services) $(etcvpn) \
- $(varlibvpn) $(shareuserv)
+ mkdir -p $(DIRS)
cp -b service $(libuserv)/ipif
- cp -b $(PROGRAMS) $(bindir)/.
+ set -e; for f in $(PROGRAMS); do cp -b $$f $(bindir)/.; done
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)/.
+ set -e; for f in $(SHAREFILES); do cp $$f $(shareuserv)/.; done
+
+install-docs:
+ sed -n '1,/^$$/p' service.c >$(docdir)/userv-ipif/service.c.txt
+
+install-examples:
+ set -e; if [ "x$depr" = x ]; then \
+ mkdir -p $(etcvpn); \
+ cp *.example $(etcvpn)/.; \
+ fi
udptunnel-reconf: udptunnel-reconf.pl Makefile
- perl -pe ' \
- print "\
-\$$shareuserv= \"$(shareuserv)\";\n\
-\$$etcvpn= \"$(etcvpn)\";\n\
-\$$varlibvpn= \"$(varlibvpn)\";\n" if m#^\# \@\@\@\-#; \
- $$_="" if m/^\# \@\@\@\-/ .. m/^\# \-\@\@\@/; \
- ' \
+ perl -p \
+ -e ' print " ' \
+ -e '\$$shareuserv= \"$(shareuserv)\";\n ' \
+ -e '\$$etcvpn= \"$(etcvpn)\";\n ' \
+ -e '\$$varlibvpn= \"$(varlibvpn)\";\n" if m#^\# \@\@\@\-#; ' \
+ -e ' $$_="" if m/^\# \@\@\@\-/ .. m/^\# \-\@\@\@/; ' \
<$< >$@.new
chmod +x $@.new
mv -f $@.new $@
clean:
rm -f *.o core automech.[ch] *~ ./#*#
-realclean: clean
+realclean distclean: clean
rm -f $(TARGETS)
forwarder.o $(MECHOBJS) automech.o utils.o: forwarder.h automech.h