1#
2#  knock
3#
4#  Copyright (c) 2004 by Judd Vinet <jvinet@zeroflux.org>
5#
6#  This program is free software; you can redistribute it and/or modify
7#  it under the terms of the GNU General Public License as published by
8#  the Free Software Foundation; either version 2 of the License, or
9#  (at your option) any later version.
10#
11#  This program is distributed in the hope that it will be useful,
12#  but WITHOUT ANY WARRANTY; without even the implied warranty of
13#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14#  GNU General Public License for more details.
15#
16#  You should have received a copy of the GNU General Public License
17#  along with this program; if not, write to the Free Software
18#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19#  USA.
20#
21
22DESTDIR =
23prefix = @prefix@
24exec_prefix = @prefix@
25
26VERSION = 0.5
27
28BINDIR  = @bindir@
29SBINDIR = @sbindir@
30MANDIR  = @mandir@
31
32INSTALL = @INSTALL@
33INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
34INSTALL_DATA = @INSTALL_DATA@
35INSTALL_SCRIPT = @INSTALL_SCRIPT@
36
37TOPDIR = @srcdir@
38SRCDIR = $(TOPDIR)/src/
39OBJDIR = $(TOPDIR)/src/
40MANSRC = $(TOPDIR)/doc/
41
42CXX = @CC@
43CXXFLAGS += @CFLAGS@ -g -Wall -pedantic -fno-exceptions \
44            -D_GNU_SOURCE -I.
45LDFLAGS += @LDFLAGS@
46
47SRCS = $(SRCDIR)knockd.c \
48			 $(SRCDIR)knock.c \
49			 $(SRCDIR)list.c
50
51all: knockd knock
52
53knockd: $(OBJDIR)knockd.o $(OBJDIR)list.o
54	$(CXX) $(OBJDIR)knockd.o $(OBJDIR)list.o -o $@ $(LDFLAGS) -lpcap
55
56knock: $(OBJDIR)knock.o
57	$(CXX) $(OBJDIR)knock.o -o $@ $(LDFLAGS)
58
59.c.o: $(SRCS)
60	$(CXX) $(CXXFLAGS) -o $@ -c $<
61
62man: $(MANSRC)knockd.1 $(MANSRC)knock.1
63
64%.1: %.1.in
65	sed -e "s/#VERSION#/$(VERSION)/" $< > $@
66
67dist: distclean
68	(cd ..; tar czvf knock-$(VERSION).tar.gz knock-$(VERSION))
69
70install: all
71	$(INSTALL) -D -m0755 knockd $(DESTDIR)$(SBINDIR)/knockd
72	$(INSTALL) -D -m0755 knock $(DESTDIR)$(BINDIR)/knock
73	$(INSTALL) -D -m0644 $(MANSRC)knockd.1 $(DESTDIR)$(MANDIR)/man1/knockd.1
74	$(INSTALL) -D -m0644 $(MANSRC)knock.1 $(DESTDIR)$(MANDIR)/man1/knock.1
75	$(INSTALL) -D -m0644 knockd.conf $(DESTDIR)/etc/knockd.conf
76
77clean:
78	rm -f *~ $(OBJDIR)*.o $(MANSRC)*.1
79
80distclean: clean
81	rm -f knockd knock
82	rm -f Makefile
83	rm -f config.h config.status config.log
84
85# End of file
86