# squint makefile (packaging and installation)

BINDIR  	= /usr/local/bin
MISCFILES	= Makefile COPYING Changelog TODO fakenames INSTALL userlist
BINFILES 	= squint.cron.sh squint.pl
VERSION		= 0.3.10

DISTNAME 	= squint-$(VERSION)
TARFILE		= $(DISTNAME).tar.gz

all:
	@echo "make install   # copy files to /usr/local/bin"
	@echo "make init      # install cron settings"
	@echo "make dist      # make a tar.gz file"
	@echo "make example   # make a report from logs/old"

clean:
	rm -f $(TARFILE)

# Wow! You want to install it?

install:
	cp $(BINFILES) $(BINDIR)

init:
	$(BINDIR)/squint.cron.sh init
	$(BINDIR)/squint.cron.sh all

%.ps: %.sgml
	sgml2latex --papersize=a4 --language=english --output=ps $<

%.txt: %.sgml
	sgml2txt $<

%.html: %.sgml
	sgml2html -s 0 $<

MANIFEST= \
	$(MISCFILES) \
	$(BINFILES)

$(TARFILE): $(MANIFEST)
	mkdir -p $(DISTNAME)
	cp $(MANIFEST) $(DISTNAME)
	tar czf $(TARFILE) $(DISTNAME)
	rm -rf $(DISTNAME)
	ln -sf $(TARFILE) squint.tar.gz

dist: $(TARFILE)

# Used for development ...
test:
	rm -rf out
	cat logs/access.log* | ./squint.pl --all out 2 `date +%s` userlist

anontest:
	rm -rf example
	cat logs/access.log* | ./squint.pl --anon 4 example 2 `date +%s`
	tar -czf example.tar.gz example/

# Used for development ...
# This makes an anonymous report in the directory 'example' based
# on files in ./logs/old/access.log
example:
	rm -rf example
	sh -c ' \
		FILE1=`echo logs/old/access.log*|cut -f 1 -d " " ` ;\
		START=`head -1 $$FILE1 | cut -f 1 -d . ` ;\
		END=` echo $$START+604800 | bc ` ;\
		cat logs/old/access.log* | \
			./squint.pl --anon 7 example $$START $$END ;\
		'

utest:
	export LOGDIR=logs
	export REPORTDIR=reports
	./squint.cron.sh daily
