#
# Makefile for owrep
#
# Bob Eager   May 2017
#
CC?=		clang
#
INSTALL_TO =	/usr/local/bin
INSTALL_MAN1=	/usr/local/man/man1
INSTALL_MAN5=	/usr/local/man/man5
INSTALL_ETC=	/usr/local/etc
#
PRODUCT =	owrep
#
SRC =		owrep.c config.c extract.c lookup.c massage.c netio.c output.c
HDR=		confcmds.h netio.h typedefs.h owrep.h
OBJ =		$(SRC:.c=.o)
LIBS =		-lexpat
#
MAN1=		owrep.1
MAN5=		owrep.conf.5
#
CONF=		owrep.conf.sample
MISC=		distname $(CONF)
OLD=		old/*
PORTEDITS=	's,/usr/local,%%PREFIX%%,g'
#
DISTNAME!=	./distname $(PRODUCT)
ARCH=		$(DISTNAME)-arch.zip
#
# Compiler flags
#
COMFLAGS+=	-Wall
CFLAGS+=	-O2 $(COMFLAGS) -I /usr/local/include
#
#-----------------------------------------------------------------------------
#
all:		$(PRODUCT)
#
$(PRODUCT):	$(OBJ)
		$(CC) -o $(.TARGET) -L /usr/local/lib $(LIBS) $(.ALLSRC)
#
depend:
		mkdep $(CFLAGS) $(SRC)
#
install:	$(PRODUCT)
		gzip -f -k $(MAN1)
		gzip -f -k $(MAN5)
		install -s -g wheel -o root $(PRODUCT) $(INSTALL_TO)
		install -g wheel -o root $(MAN1).gz $(INSTALL_MAN1)
		install -g wheel -o root $(MAN5).gz $(INSTALL_MAN5)
		install -g wheel -o root $(CONF) $(INSTALL_ETC)
		rm -f $(MAN1).gz $(MAN5).gz
#
distfile:
		@mkdir -p $(DISTNAME)
		@cp -a $(SRC) $(HDR) $(DISTNAME)
		@cp -a $(MAN1) $(MAN5) Makefile $(DISTNAME)
		@cp -a $(MISC) $(DISTNAME)
		@rm -f $(DISTNAME).zip
		zip -9 -r $(DISTNAME).zip $(DISTNAME)
		@rm -rf $(DISTNAME)
#
clean:
		@rm -f $(OBJ) $(PRODUCT) *.gz $(PRODUCT).core
#
clean-all:
		@rm -f $(OBJ) core $(PRODUCT)
#
arch:		$(PRODUCT) $(MISC) $(SRC) $(HDR) Makefile \
			$(MAN1) $(MAN5) 
		@rm -f $(ARCH)
		zip -9 $(ARCH) $?
#
# End of makefile for owrep
#
