chiark / gitweb /
ipif: "include" looks for the file in the directory where "include" appears
[userv-utils.git] / ipif / Makefile
index 6c4e7c0e59fb9abf378a96624cbd849d700b8be4..289935e7eef05fcae75d3e0ebee8fbc745af5896 100644 (file)
@@ -1,10 +1,16 @@
 # 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+=                 $(etcuserv)/ipif-access
+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)
@@ -53,24 +53,30 @@ OBJS_BFTEST=        blowfishtest.o blowfish.o hex.o
 all:           $(TARGETS)
 
 install:       all
-               mkdir -p $(libuserv) $(services) $(etcvpn) \
-                       $(varlibvpn) $(shareuserv)
+               mkdir -p $(DIRS)
                cp -b service $(libuserv)/ipif
-               cp -b $(PROGRAMS) $(bindir)/.
+               cp -b service-wrap $(libuserv)/ipif-access
+               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 $@
@@ -90,7 +96,7 @@ automech.c:           automech.h
 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