#
# 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/lprngtool
# 3. generate a packing list using pkgproto + massage
#

PKG=LPRngTool
PKG_NAME='LPRngTool Printer Configuration Toolkit'
VENDOR='Patrick Powell <papowell@astart.com>'
VERSION=1.3.2

BINDIR=/usr/bin
FILTERDIR=/usr/libexec/filters
RHFILTERDIR=${FILTERDIR}/rhs
SYSCONFDIR=/etc
MANDIR=/usr/share/man
DATADIR=/usr/share


CONFIGURE_ARGS=--bindir=${BINDIR} --mandir=${MANDIR} \
    --with-lprngtool_conf=${SYSCONFDIR}/lprngtool.conf \
    --with-printcap_path=${SYSCONFDIR}/printcap \
    --with-spool_directory=/var/spool/lpd  \
    --with-ifhp_path=${FILTERDIR}/ifhp \
    --with-userid=daemon --with-groupid=daemon \
    --with-filterdir=${FILTERDIR} \
    --with-rhfilterdir=${RHFILTERDIR} \
    --with-gsupdir=${DATADIR}/ghostscript



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

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=${PKG}-${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}${BINDIR}/lprngtool ${SCRIPTS}
	cat prototype.pre prototype.files >prototype

${COPY_DIR}${BINDIR}/lprngtool: ${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}${BINDIR}/lprngtool
	chown -R root ${COPY_DIR}
	chgrp -R bin ${COPY_DIR}
	pkgproto ${COPY_DIR}=/ \
	 | awk '$$3 == "/"{ 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
#
