# Makefile for snplog
CC = gcc
WARN = -Wall

### Comment out the following line if you want to disable ident lookups ###
IDENT = -DIDENT

CFLAGS = $(WARN) $(IDENT) -s -O2 -m486 -pipe -fforce-mem -fforce-addr -fomit-frame-pointer -fthread-jumps -fcaller-saves -malign-loops=2 -malign-jumps=2 -malign-functions=2
LDFLAGS = -s
SBINDIR = /usr/sbin
MANDIR8 = /usr/man/man8
INSTALL = install
RM = rm
CD = cd
CP = cp
TCPLOG = tcplogd
ICMPLOG = icmplogd
UDPLOG = udplogd
TCPMAN = tcplogd.8
UDPMAN = udplogd.8
ICMPMAN = icmplogd.8
LOGMAN = snplog.8
OBJS = util.o pidfile.o rfc1413.o icmplog.o udplog.o tcplog.o
OBJ_ICMPLOG = util.o pidfile.o icmplog.o
OBJ_TCPLOG = util.o pidfile.o rfc1413.o tcplog.o
OBJ_UDPLOG = util.o pidfile.o udplog.o
PROGS = $(ICMPLOG) $(TCPLOG) $(UDPLOG)

all: $(OBJS) $(PROGS)

util.o: util.c util.h
	$(CC) $(CFLAGS) -c util.c
pidfile.o: pidfile.c pidfile.h
	$(CC) $(CFLAGS) -c pidfile.c
rfc1413.o: rfc1413.c rfc1413.h
	$(CC) $(CFLAGS) -c rfc1413.c
icmplog.o: icmplog.c icmplog.h
	$(CC) $(CFLAGS) -c icmplog.c
udplog.o: udplog.c udplog.h
	$(CC) $(CFLAGS) -c udplog.c
tcplog.o: tcplog.c tcplog.h
	$(CC) $(CFLAGS) -c tcplog.c
icmplogd: $(OBJ_ICMPLOG)
	$(CC) $(LDFLAGS) -o icmplogd $(OBJ_ICMPLOG)
tcplogd: $(OBJ_TCPLOG)
	$(CC) $(LDFLAGS) -o tcplogd $(OBJ_TCPLOG)
udplogd: $(OBJ_UDPLOG)
	$(CC) $(LDFLAGS) -o udplogd $(OBJ_UDPLOG)

install: $(PROGS)
	$(INSTALL) -c -s $(TCPLOG) $(SBINDIR)
	$(INSTALL) -c -s $(ICMPLOG) $(SBINDIR)
	$(INSTALL) -c -s $(UDPLOG) $(SBINDIR)
	$(INSTALL) -c -m 644 $(UDPMAN) $(MANDIR8)
	$(INSTALL) -c -m 644 $(TCPMAN) $(MANDIR8)
	$(INSTALL) -c -m 644 $(ICMPMAN) $(MANDIR8)
	$(INSTALL) -c -m 644 $(LOGMAN) $(MANDIR8)
	@echo done.
clean:
	$(RM) -f *.o $(PROGS) *~ *core*
