TOPDIR=/
BINDIR=$(TOPDIR)/usr/sbin
MANDIR=$(TOPDIR)/usr/share/man/man8
LOGDIR=$(TOPDIR)/var/log/ttywatch
ETCDIR=$(TOPDIR)/etc
INCDIR=$(TOPDIR)/usr/include
INITDIR=$(ETCDIR)/rc.d/init.d
LOGRDIR=$(ETCDIR)/logrotate.d

OPTFLAGS=-O2
HAVEFLAGS=-DHAVE_LOCKDEV
#GLIBCFG=glib-config
GLIBCFG=pkg-config glib-2.0
CFLAGS = -Wall $(shell $(GLIBCFG) --cflags) $(OPTFLAGS) $(HAVEFLAGS)
LDFLAGS = $(shell $(GLIBCFG) --libs) -lpopt -ldl -llockdev
CC = gcc

all: ttywatch

ttywatch: socket.o telnet.o logfile.o errors.o ttywatch.o

ttywatch.c: ttywatch.h

clean:
	rm -f ttywatch *.o

install: ttywatch
	mkdir -p $(BINDIR) $(MANDIR) $(LOGDIR) $(ETCDIR) $(INITDIR) $(LOGRDIR) $(INCDIR)
	install -m 755 ttywatch $(BINDIR)
	install -m 644 ttywatch.8 $(MANDIR)
	install -m 644 ttywatch.conf $(ETCDIR)
	install -m 644 ttywatch.logrotate $(LOGRDIR)/ttywatch
	install -m 644 ttywatch.h $(INCDIR)
	install -m 755 ttywatch.init $(INITDIR)/ttywatch


VERSION=$(shell awk '/Version:/ { print $$2 }' ttywatch.spec)
CVSTAG = r$(subst .,-,$(VERSION))

tag-archive:
	@cvs -Q tag -F $(CVSTAG)

create-archive: tag-archive
	@rm -rf /tmp/ttywatch
	@cd /tmp; cvs -Q -d $(shell cat CVS/Root) export -r$(CVSTAG) ttywatch || echo GRRRrrrrr -- ignore [export aborted]
	@mv /tmp/ttywatch /tmp/ttywatch-$(VERSION)
	@cd /tmp; tar cSpf ttywatch-$(VERSION).tar ttywatch-$(VERSION)
	@rm -rf /tmp/ttywatch-$(VERSION)
	@gzip -9n < /tmp/ttywatch-$(VERSION).tar > ttywatch-$(VERSION).tar.gz
	@bzip2 -9 < /tmp/ttywatch-$(VERSION).tar > ttywatch-$(VERSION).tar.bz2
	@rm -f /tmp/ttywatch-$(VERSION).tar
	@echo " "
	@echo "The final archives are ttywatch-$(VERSION).tar.{gz,bz2}"

archive: clean tag-archive create-archive
