BUILDDIR    = perl5.005_03

DESTDIR     = ${TOPDIR}/pkg 

BASEDIR     = /opt/LWperl5
BASEDIREXISTS=/opt

CONFOPTS    = 

# Which compiler are you using?
CC          = gcc 

PKGNAME     = LWperl5
NAME        = perl
DESC        = perl
ARCH:sh     = uname -p
VERSIONSH   = echo ${BUILDDIR} | sed 's/^perl//'
VERSION     = ${VERSIONSH:sh}
CATEGORY    = application
MAXINST     = 1000
VENDOR      = Larry Wall
EMAIL       = dj@gregor.com
CLASSES     = none

PKGPROTO    = /usr/bin/pkgproto
PKGMK       = /usr/bin/pkgmk
PKGTRANS    = /usr/bin/pkgtrans

INSTUSER    = root
INSTGROUP   = root

TOPDIR:sh   = pwd

SPOOLDIR    = /var/spool/pkg

OTHERFILES  = ${BUILDDIR}/installperl.old ${BUILDDIR}/installman.old \
	 ${DESTDIR}${BASEDIR}/COPYRIGHT ${DESTDIR}/copyright
INSTALLFILES= pkginfo copyright


all: pkg

pkg: ${BUILDDIR}.pkg

${BUILDDIR}.pkg:  ${DESTDIR}/prototype
	( cd ${DESTDIR} ; ${PKGMK} -d ${SPOOLDIR} -or . )
	( cd ${SPOOLDIR}/${PKGNAME}/reloc ; find . -depth -print | \
		grep -v '^\.$$' | cpio -odm | compress > ../reloc.cpio.Z )
	rm -rf ${SPOOLDIR}/${PKGNAME}/reloc
	$(PKGTRANS) ${SPOOLDIR} ${TOPDIR}/${BUILDDIR}.pkg ${PKGNAME}

${DESTDIR}/prototype: ${DESTDIR}/pkginfo
	@( cd ${DESTDIR} ; \
	 find . -print | \
		$(PKGPROTO) | nawk -v instuser="${INSTUSER}" \
		-v instgroup="${INSTGROUP}" -v basedirexists="${BASEDIREXISTS}"\
		-v installfiles="${INSTALLFILES}" \
		'BEGIN { \
			n = split(installfiles, setupinstallfiles); \
			for ( i = 1; i <= n; i++ ) { \
				print "i", setupinstallfiles[i]; \
			} \
		} \
		{ \
			if ( match($$3, "^prototype$$") ) { \
				next; \
 			} \
			checkbasedir = basedirexists; \
			sub("^/", "", checkbasedir); \
			while ( checkbasedir != "" ) { \
				if ( match($$3, "^"checkbasedir"$$") ) { \
					sub("[^/]*$$", "", checkbasedir); \
					sub("/$$", "", checkbasedir); \
					print $$1, $$2, $$3, "?", "?", "?"; \
					next; \
 				} \
				sub("[^/]*$$", "", checkbasedir); \
				sub("/$$", "", checkbasedir); \
			} \
			n = split(installfiles, checkinstallfiles); \
			for ( i = 1; i <= n; i++ ) { \
				if (match($$3, "^"checkinstallfiles[i]"$$")) { \
					next; \
 				} \
			} \
			\
			print $$1, $$2, $$3, $$4, instuser, instgroup; \
		}' \
	 ) > ${DESTDIR}/prototype

${DESTDIR}/pkginfo: .package-installed.${BUILDDIR}
	rm -f ${DESTDIR}/pkginfo
	@echo "PKG=\"${PKGNAME}\"" >> ${DESTDIR}/pkginfo
	@echo "NAME=\"${NAME}\"" >> ${DESTDIR}/pkginfo
	@echo "DESC=\"${DESC}\"" >> ${DESTDIR}/pkginfo
	@echo "ARCH=\"${ARCH}\"" >> ${DESTDIR}/pkginfo
	@echo "MAXINST=\"${MAXINST}\"" >> ${DESTDIR}/pkginfo
	@echo "VERSION=\"${VERSION}\"" >> ${DESTDIR}/pkginfo
	@echo "CATEGORY=\"${CATEGORY}\"" >> ${DESTDIR}/pkginfo
	@echo "VENDOR=\"${VENDOR}\"" >> ${DESTDIR}/pkginfo
	@echo "EMAIL=\"${EMAIL}\"" >> ${DESTDIR}/pkginfo
	@echo "BASEDIR=\"/\"" >> ${DESTDIR}/pkginfo
	@echo "CLASSES=\"${CLASSES}\"" >> ${DESTDIR}/pkginfo

.package-installed.${BUILDDIR}: .built.${BUILDDIR} clean.${DESTDIR} \
		${DESTDIR}${BASEDIR} ${OTHERFILES}
	cd ${BUILDDIR} ; sh -c "DESTDIR=${DESTDIR} ; export DESTDIR ; \
		LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH; ${MAKE} install"
	touch $@

${DESTDIR}${BASEDIR}/COPYING: ${BUILDDIR}/COPYING
	cp $? $@

${DESTDIR}/copyright:
	sed '/^------/,$$d' < ${BUILDDIR}/README > $@
	echo "\n\nSee the file ${BASEDIR}/COPYRIGHT for details\n" >> $@

${DESTDIR}${BASEDIR}/COPYRIGHT:
	sed '/^------/,$$d' < ${BUILDDIR}/README > $@
	echo "\n\n----------------- Copying ---------------------\n\n" >> $@
	cat < ${BUILDDIR}/Copying >> $@
	echo "\n\n----------------- Artistic ---------------------\n\n" >> $@
	cat < ${BUILDDIR}/Artistic >> $@

clean.${DESTDIR}:
	rm -rf ${DESTDIR}

${DESTDIR}${BASEDIR}:
	mkdir -p $@

.built.${BUILDDIR}: .configured.${BUILDDIR}
	(cd ${BUILDDIR}; /bin/sh -c "LD_LIBRARY_PATH=`pwd`;  \
		export LD_LIBRARY_PATH; ${MAKE}; ${MAKE} test")
	touch $@

clean:
	rm -rf ${BUILDDIR} ${DESTDIR} .configured.${BUILDDIR} \
		.untarred.${BUILDDIR} .package-installed.${BUILDDIR} \
		.built.${BUILDDIR} ${SPOOLDIR}/${PKGNAME}

distclean: clean
	rm -f ${BUILDDIR}.pkg

install:
	cd ${BUILDDIR} ; ${MAKE} install

.untarred.${BUILDDIR}:: ${BUILDDIR}.tar.gz 
	gzip -cd $? | tar xvf -
	touch $@

.configured.${BUILDDIR}: .untarred.${BUILDDIR}
	cd ${BUILDDIR} ; export CC ; ./Configure -dse -Dprefix=${BASEDIR} \
		-Dcc=$(CC)
	touch $@

${BUILDDIR}/Makefile: .configured.${BUILDDIR} ${BUILDDIR}/Makefile.SH
	(cd ${BUILDDIR}; /bin/sh Makefile.SH)

${BUILDDIR}/%.old: ${BUILDDIR}/%
	rm -f ${BUILDDIR}/$*.sav
	cp ${BUILDDIR}/$* ${BUILDDIR}/$*.sav
	sed 's/\(my $$inst.* = \)\($$Config{'\''*install[^}]*}\)/\1 ($$ENV{'\''DESTDIR'\''} . \2)/' \
		< ${BUILDDIR}/$* > ${BUILDDIR}/$*.new
	mv -f ${BUILDDIR}/$*.new ${BUILDDIR}/$*
	mv -f ${BUILDDIR}/$*.sav $@ 
	
veryclean: distclean
	rm -rf .revision

