# Set this to your installation directory.

SNARE-VERSION=0.9
bindir = $(prefix)/usr/sbin
moddir = $(prefix)/lib/modules/`uname -r`/audit
confdir = $(prefix)/etc/audit
logdir = $(prefix)/var/log/audit
docdir = $(prefix)/usr/share/doc/snare-core-$(SNARE-VERSION)
HOSTVERSION = $(shell uname -r)
HOSTTRIM = $(shell uname -r | sed 's/-.*//')
includedir = /lib/modules/$(HOSTVERSION)/build/include
includedir2 = /usr/src/linux-$(HOSTVERSION)/include
includedir3 = /usr/src/linux/include
includedir4 = /usr/src/linux-$(HOSTTRIM)/include

CC = gcc
# Include BUILD cflags if they exist (from spec file)
CFLAGS = -g -O6 $(BCFLAGS)

all: auditmodule auditd

auditd:
	$(CC) -o auditd $(CFLAGS) $(LDFLAGS) auditd.c
	# strip auditd

auditmodule:
	$(CC) -c $(CFLAGS) -DMODULE -D__KERNEL__ -I$(includedir) -I$(includedir2) -I$(includedir3) -I$(includedir4) auditmodule.c

install:
	cp auditd $(bindir)/auditd
	if [ ! -d $(moddir) ]; then  mkdir -p $(moddir);fi
	cp auditmodule.o $(moddir)
	cp audit-start $(prefix)/etc/init.d/audit
	if [ ! -d $(docdir) ]; then  mkdir -p $(docdir);fi
	cp doc/* $(docdir)/
	CDIR=`pwd`
	cd $(prefix)/etc/rc2.d; ln -s ../init.d/audit S98audit
	cd $(prefix)/etc/rc3.d; ln -s ../init.d/audit S98audit
	cd $(prefix)/etc/rc4.d; ln -s ../init.d/audit S98audit
	cd $(prefix)/etc/rc5.d; ln -s ../init.d/audit S98audit
	cd $(prefix)/etc/rc6.d; ln -s ../init.d/audit K10audit
	cd $(prefix)/etc/rc1.d; ln -s ../init.d/audit K10audit
	cd $(prefix)/etc/rc0.d; ln -s ../init.d/audit K10audit
	cd $(CDIR)
	if [ ! -d $(confdir) ]; then  mkdir -p $(confdir);fi
	cp audit.conf $(confdir)
	chmod 700 $(confdir) $(confdir)/audit.conf
	if [ ! -d $(logdir) ]; then  mkdir -p $(logdir);fi

uninstall: auditd
	rm $(bindir)/auditd
	if [ -d $(moddir) ]; then rm $(moddir)/auditmodule.o;rmdir $(moddir);fi
	if [ -d $(prefix)/etc/init.d/audit ]; then rm $(prefix)/etc/init.d/audit; rm $(prefix)/etc/rc*.d/S98audit; rm $(prefix)/etc/rc*.d/K10audit;fi
	if [ -d $(confdir) ]; then rm $(confdir)/*;rmdir $(confdir);fi
	if [ -d $(logdir) ]; then rm $(logdir)/*;rmdir $(logdir);fi

clean:
	rm auditd auditmodule.o
