BUILDDIR = bison-1.28 DESTDIR = ${TOPDIR}/pkg BASEDIR = /opt/FSFbison BASEDIREXISTS=/opt CONFOPTS = PKGNAME = FSFbison NAME = bison DESC = GNU yacc replacement ARCH:sh = uname -p VERSIONSH = echo ${BUILDDIR} | sed 's/^[^-]*-//' VERSION = ${VERSIONSH:sh} CATEGORY = application MAXINST = 1000 VENDOR = Free Software Foundation 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 = ${DESTDIR}${BASEDIR}/COPYING ${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} (`uname -s`-`uname -r`)\"" >> ${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}: build clean.${DESTDIR} ${DESTDIR}${BASEDIR} \ ${OTHERFILES} cd ${BUILDDIR} ; ${MAKE} prefix=${DESTDIR}${BASEDIR} \ INSTALL=/usr/ucb/install install touch $@ ${DESTDIR}${BASEDIR}/COPYING: ${BUILDDIR}/COPYING cp $? $@ ${DESTDIR}/copyright: @echo "This is free software; you can redistribute it and/or" > $@ @echo "modify it under the terms of the GNU General Public" >> $@ @echo "License, see the file ${BASEDIR}/COPYING." >> $@ clean.${DESTDIR}: rm -rf ${DESTDIR} ${DESTDIR}${BASEDIR}: mkdir -p $@ build: .configured.${BUILDDIR} cd ${BUILDDIR} ; ${MAKE} all clean: rm -rf ${BUILDDIR} ${DESTDIR} .configured.${BUILDDIR} \ .untarred.${BUILDDIR} .package-installed.${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} ; ./configure --prefix=${BASEDIR} \ ${CONFOPTS} for makefile in `find ${BUILDDIR} -name Makefile -depth -print`; \ do \ echo "1,\$$s/^prefix =/#prefix =/\nw\nq" | ed $$makefile ; \ done touch $@ veryclean: distclean rm -rf .revision