1##  Makefile
2##
3##  copyright (c) 2010 SeaD
4##
5##  $Id: Makefile,v 1.17 2010/07/12 03:46:36 sead Exp $
6
7NAME=ipguard
8
9PREFIX?=/usr/local
10ETHERS?=/etc/ethers
11
12## FreeBSD
13LOCALBASE?=/usr/local
14LIBNET_CONFIG=libnet-config
15
16## OpenBSD (tested by irix)
17# LOCALBASE=/usr/local
18# LIBNET_CONFIG=libnet-config-1.1
19
20## Linux
21# LOCALBASE=/usr
22# LIBNET_CONFIG=libnet-config
23
24INCLUDES=`${LIBNET_CONFIG} --cflags`
25LIBS=`${LIBNET_CONFIG} --libs` -lpcap -L${LOCALBASE}/lib
26DEFINES=`${LIBNET_CONFIG} --defines`
27
28STATIC=
29CC?=gcc
30
31CFLAGS+=-g -Wall -DETHERS='"$(ETHERS)"'
32
33OBJS=ethers.o ipguard.o packet.o system.o
34
35.c.o:
36	@echo Compiling $*.c
37	@$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $<
38
39all:	start $(NAME)
40
41start:
42	@echo "Making $(NAME)"
43	@echo "INCLUDES=$(INCLUDES)"
44	@echo "LIBS=$(LIBS)"
45	@echo "DEFINES=$(DEFINES)"
46	@echo "CFLAGS=$(CFLAGS)"
47
48$(NAME): $(OBJS)
49	@echo Linking $@
50	@$(CC) -o $@ $(OBJS) $(LIBS) $(STATIC)
51
52clean:
53	@echo Cleaning OBJS
54	@rm -f $(OBJS)
55
56cleanall: clean
57	@echo Removing $(NAME)
58	@rm -f $(NAME)
59
60install: all
61	mkdir -p -m 755 ${DESTDIR}$(PREFIX)/sbin
62	install -s -m 755 $(NAME) ${DESTDIR}$(PREFIX)/sbin/$(NAME)
63	mkdir -p -m 755 ${DESTDIR}$(PREFIX)/man/man8
64	install -m 644 doc/$(NAME).8 ${DESTDIR}$(PREFIX)/man/man8/$(NAME).8
65
66uninstall: deinstall
67
68deinstall:
69	rm -f $(PREFIX)/man/man8/$(NAME).8
70	rm -f $(PREFIX)/sbin/$(NAME)
71
72ethers.o: ipguard.h
73ipguard.o: ipguard.h
74packet.o: ipguard.h
75system.o: ipguard.h
76