chiark / gitweb /
generic build fix: makefile multi-line incompatibility fix
[userv-utils.git] / ipif / Makefile
index fd69b4a06782f1523491f8dc4f2b5907aa1f8b49..a34a85ff0d41407b0238b3dc23f3de715ac52415 100644 (file)
@@ -1,6 +1,86 @@
+# Makefile for ipif/udptunnel stuff
+
+# Copyright (C) 1999-2000,2003 Ian Jackson
+# This file is part of ipif, part of userv-utils
+#
+# 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$
+
+include ../settings.make
+
+varlibvpn=     $(varlibuserv)/vpn
+etcvpn=                $(etcdir)/userv/vpn
+
+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 $(bindir) $(libuserv) $(services) \
+                       $(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 udptunnel-vpn-config.m4 udptunnel-vpn-defaults \
+                       $(shareuserv)/.
+
+install-docs:
+
+install-examples:
+               mkdir -p $(etcvpn)
+               cp *.example $(etcvpn)/.
+
+udptunnel-reconf:      udptunnel-reconf.pl Makefile
+               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 $@
+
+
+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] *~ ./#*#
 
-CFLAGS=                -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith \
-               -Wwrite-strings -g
+realclean distclean:   clean
+               rm -f $(TARGETS)
 
-all:           service
+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