#
# Makefile for blu
#
# Bob Eager   November 2017
#
CC?=		gcc
#
PRODUCT=	blu
#
SRC=		blu.c config.c cuecat.c extract.c isbn.c lookup.c netio.c
HDR=		blu.h confcmds.h netio.h typedefs.h
OBJ=		$(SRC:.c=.o)
#
CONF=		blu.conf
SAMPLE=		$(CONF).sample
MAN=		blu.1 blu.conf.5
#
MISC=		$(CONF) $(SAMPLE) distname
MISCNODIST=	rexx/*
INSTALL_TO=	/usr/local/bin
#
DISTNAME!=	./distname $(PRODUCT)
ARCH=		$(DISTNAME)-arch.zip
#
# Compiler flags
#
COMFLAGS=	-Wall
.ifdef DEBUG
CFLAGS=		-DDEBUG $(COMFLAGS) -I /usr/local/include
.else
CFLAGS=		-O2 $(COMFLAGS) -I /usr/local/include
.endif
LIBS=		-lexpat
#
#-----------------------------------------------------------------------------
#
all:		$(PRODUCT)
#
$(PRODUCT):	$(OBJ)
		$(CC) $(CFLAGS) -o $(.TARGET) -L /usr/local/lib $(LIBS) $(.ALLSRC)
.ifndef DEBUG
		strip $(.TARGET)
.endif
#
depend:
		mkdep $(CFLAGS) $(SRC)
#
install:	$(PRODUCT)
		install -s -g wheel -o root $(PRODUCT) $(INSTALL_TO)
#
distfile:
		@mkdir -p $(DISTNAME)
		@cp -a $(SRC) $(HDR) $(DISTNAME)
		@cp -a $(MAN) Makefile $(DISTNAME)
		@cp -a $(MISC) $(DISTNAME)
		@rm -f $(DISTNAME).zip
		zip -9 -r $(DISTNAME).zip $(DISTNAME)
		@rm -rf $(DISTNAME)
#
clean:
		@rm -f $(OBJ) core
#
clean-all:
		@rm -f $(OBJ) core $(PRODUCT)
#
arch:		$(PRODUCT) $(SRC) $(HDR) $(MAN) \
		Makefile $(MISC) $(MISCNODIST)
		@rm -f $(ARCH)
		zip -9 $(ARCH) $?

# end


