#
# Build a pkg for Solaris
# Makefile,v 1.3 2000/05/10 18:33:26 papowell Exp
#
# Hacked, mangled, twisted and warped by Patrick Powell <papowell@astart.com>
#
# 1. We make the package in WORKING
# 2. install it in /var/tmp/ifhp
# 3. generate a packing list using pkgproto + massage
#

PKG=ifhp
PKG_NAME='ifhp Line Printer Filter'
VENDOR='Patrick Powell <papowell@astart.com>'
VERSION=3.5.10

PREFIX=/usr
FILTERDIR=/usr/libexec/filters
SYSCONFDIR=/etc

CONFIGURE_ARGS=--prefix=${PREFIX} --sysconfdir=${SYSCONFDIR} --with-filterdir=${FILTERDIR}

WORKING?=../..
CONFIG?=../..
WORKING:=$(shell cd ${WORKING}; pwd)
CONFIG:=$(shell cd ${CONFIG}; pwd)
COPY_DIR=/var/tmp/ifhp

TMP=/tmp

.PHONY: all add remove rebuild clean check

all: ${PKG}.pkg

addit:
	pkgadd -d ${PKG}.pkg
removeit:
	pkgrm ${PKG}

${PKG}.pkg: pkginfo prototype
	pkgmk -o -d ${TMP} -f prototype -p `date +%Y%m%d%H%M`
	pkgtrans -s ${TMP} `pwd`/${PKG}.pkg ${PKG}
	rm -rf ${TMP}/${PKG}

pkginfo: Makefile
	echo CONFIG ${CONFIG} WORKING ${WORKING} COPY_DIR ${COPY_DIR}
	rm -f pkginfo
	echo "PKG=${PKG}" >> pkginfo
	echo "NAME=ifhp-${VERSION}" >> pkginfo
	echo "ARCH=`uname -p`" >> pkginfo
	echo "VERSION=${VERSION}" >> pkginfo
	echo "CATEGORY=application" >> pkginfo
	echo "DESC=${PKG_NAME}" >> pkginfo
	echo "CLASSES=none preserve" >> pkginfo
	echo "VENDOR=${VENDOR}" >> pkginfo
	echo "BASEDIR=/" >> pkginfo

SCRIPTS:= $(shell echo $(wildcard *.sh) | sed -e 's,\.sh$$,,g' )

prototype: prototype.pre prototype.files ${COPY_DIR}${FILTERDIR}/ifhp ${SCRIPTS}
	cat prototype.pre prototype.files >prototype

${COPY_DIR}${FILTERDIR}/ifhp: ${WORKING}/config.h
	-rm -rf ${COPY_DIR}
	cd ${WORKING}; make install DESTDIR=${COPY_DIR}

${WORKING}/config.h:
	if [ '!' -d ${WORKING} ] ; then mkdir ${WORKING} ; fi
	cd ${WORKING}; ${CONFIG}/configure ${CONFIGURE_ARGS}

${SCRIPTS}: prototype.files
	cat ${WORKING}/header $@.sh >>$@

prototype.files: ${COPY_DIR}${FILTERDIR}/
	chown -R root ${COPY_DIR}
	chgrp -R bin ${COPY_DIR}
	pkgproto ${COPY_DIR}=/ \
	 | awk '$$3 == "/"{ next; } \
		/ifhp.conf=/{  next; } \
		/^d/{ print $$1,$$2,$$3," ? ? ? "; next; } \
		{ print; }' >prototype.files

rebuild:
	-rm -rf ${COPY_DIR}
	cd ${WORKING}; make clean

clean:
	-rm -f pkginfo prototype prototype.files ${PKG}.pkg \
		postinstall preremove postremove /tmp/ifhp
	-rm -rf ${COPY_DIR}
	if [ -d ${WORKING} ] ; then cd ${WORKING}; rm -f config.h; fi

checkit:
	cd ../..; configure ${CONFIGURE_ARGS}; make all install
	make clean all
	-make removeit
	make addit removeit

#
# end of file
#
