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 |
21 | OPTIMISE= -O2 |
1c1a9fa1 |
22 | CFLAGS= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith \ |
31dcbf98 |
23 | -Wwrite-strings -g $(OPTIMISE) -D_GNU_SOURCE \ |
24 | $(XCFLAGS) |
1c1a9fa1 |
25 | |
e5e5fd4e |
26 | etcdir= /etc |
6d90651a |
27 | prefix= /usr/local |
caad5ebb |
28 | bindir= $(prefix)/bin |
2e082dfe |
29 | vardir= /var |
e5e5fd4e |
30 | |
31 | libdir= $(prefix)/lib |
2e082dfe |
32 | sharedir= $(prefix)/share |
e5e5fd4e |
33 | libuserv= $(libdir)/userv |
2e082dfe |
34 | shareuserv= $(sharedir)/userv |
35 | varlib= $(vardir)/lib |
36 | varlibuserv= $(varlib)/userv |
37 | varlibvpn= $(varlibuserv)/vpn |
e5e5fd4e |
38 | |
39 | etcuserv= $(etcdir)/userv |
2e082dfe |
40 | etcvpn= $(etcdir)/userv/vpn |
e5e5fd4e |
41 | services= $(etcuserv)/services.d |
6d90651a |
42 | |
2e082dfe |
43 | PROGRAM_TARGETS= udptunnel-forwarder udptunnel-reconf |
31dcbf98 |
44 | TARGETS= service blowfishtest $(PROGRAM_TARGETS) |
45 | PROGRAMS= udptunnel $(PROGRAM_TARGETS) |
1fb3cba0 |
46 | |
47 | MECHFILES= null pkcs5 timestamp sequence blowfish |
48 | MECHOBJS= $(foreach m, $(MECHFILES), mech-$m.o) |
49 | |
f9e59051 |
50 | OBJS_FORWARD= forwarder.o $(MECHOBJS) blowfish.o automech.c utils.c |
ed509ebd |
51 | OBJS_BFTEST= blowfishtest.o blowfish.o hex.o |
6d90651a |
52 | |
53 | all: $(TARGETS) |
54 | |
55 | install: 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 | |
66 | udptunnel-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 | |
79 | udptunnel-forwarder: $(OBJS_FORWARD) |
80 | $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_FORWARD) |
81 | |
ed509ebd |
82 | blowfishtest: $(OBJS_BFTEST) |
83 | $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS_BFTEST) |
84 | |
31dcbf98 |
85 | automech.h: automechgen.sh Makefile |
1fb3cba0 |
86 | ./$< $(MECHFILES) |
87 | |
31dcbf98 |
88 | automech.c: automech.h |
89 | |
90 | clean: |
91 | rm -f *.o core automech.[ch] *~ ./#*# |
92 | |
c62ccbd5 |
93 | realclean distclean: clean |
31dcbf98 |
94 | rm -f $(TARGETS) |
95 | |
f9e59051 |
96 | forwarder.o $(MECHOBJS) automech.o utils.o: forwarder.h automech.h |
ed509ebd |
97 | blowfish.o mech-blowfish.o blowfishtest.o: blowfish.h |
98 | blowfishtest.o hex.o: hex.h |