all: ../../usr/bin/snort so_rules/dos.so rules/local.rules rules/so-rules.rules

so_rules/dos.so: src/snort-$(SNORTVER)/src/snort
	@echo "Checking that OS is Slackware $(SLACKWAREVER)...."; grep "^Slackware $(SLACKWAREVER)" /etc/slackware-version >/dev/null 2>/dev/null
	rm -rf etc/ doc/ so_rules/precompiled/
	patch -p0 < patches/00-sorules-fixcompile.patch
	$(MAKE) -C so_rules/src/ SNORT_VERSION="$(SNORTVER)" BASEDIR="$$(pwd)/src/snort-$(SNORTVER)"
	cp so_rules/src/*.so so_rules/
	rm -rf so_rules/src/ src/

src/snort-$(SNORTVER): ../../../archive/snort-$(SNORTVER).tar.gz
	rm -rf src
	mkdir src
	cd src/; tar -zxf ../../../../archive/snort-$(SNORTVER).tar.gz
	cd src/snort-$(SNORTVER); patch -p1 < ../../patches/00-snort-pg-reconnect.patch

src/snort-$(SNORTVER)/src/snort: src/snort-$(SNORTVER)
	cd src/snort-$(SNORTVER); ./configure --prefix=/usr --libdir=/usr/lib --sysconfdir=/etc --localstatedir=/var --disable-ipv6 --enable-flexresp2 --with-postgresql --with-mysql
	cd src/snort-$(SNORTVER); make

../../usr/bin/snort: src/snort-$(SNORTVER)/src/snort
	cd src/snort-$(SNORTVER); make install DESTDIR="$$(pwd)/../../../../"

../../../archive/snort-$(SNORTVER).tar.gz:
	wget -O ../../../archive/snort-$(SNORTVER).tar.gz "http://dl.snort.org/snort-current/snort-$(SNORTVER).tar.gz"

rules/local.rules: local.rules
	cp local.rules rules/

rules/so-rules.rules: so_rules/*.rules
	cat so_rules/*.rules > rules/so-rules.rules

clean:
	rm -rf etc/ doc/ so_rules/precompiled/ src/
	rm -rf rules/ so_rules/

distclean: clean
	rm -rf ../../usr/

.PHONY: distclean clean all
