# Makefile for TCL and TK packages # Just run "make tcl-7.6p2.pkg.gz" and you will have a gzipped # Solaris package for TCL built from the tcl7.6p2.tar.gz # distribution file. # # - Daniel J. Gregor Jr., dj@gregor.com GZIP = /usr/local/bin/gzip PKGPROTO = /usr/bin/pkgproto PKGMK = /usr/bin/pkgmk PKGTRANS = /usr/bin/pkgtrans COMPANY = SMLI INSTUSER = "root" INSTGROUP = "root" ARCH = "Solaris 2.5" CATEGORY = "application" VENDOR = "Sun Microsystems Laboratories, Inc." EMAIL = "news:comp.lang.tcl" PSTAMP = "D.J. Gregor" CLASSES = "none" TOPDIR:sh = pwd NAME = echo $* | sed 's/-.*//' FULLVER = echo $* | sed 's/.*-//' VER = echo $* | sed 's/.*-//;s/p[0-9]//' DIR = echo $* | sed 's/-//;s/p[0-9]//' PKGNAME = echo ${COMPANY}$* | sed 's/-.*//' PKGDIR = echo /opt/${COMPANY}$* | sed 's/-.*//' %.gz: % rm -f $@ $(GZIP) -9 $< %.pkg: pkgdir.%/prototype ( cd pkgdir.$* ; pkgmk -or . ) $(PKGTRANS) /var/spool/pkg `pwd`/$@ `${PKGNAME}` pkgdir.%/prototype: pkgdir.%/pkginfo ( cd pkgdir.$* ; echo "i pkginfo=pkginfo" ; \ find . -print | egrep -v './(prototype|pkginfo)' | $(PKGPROTO) | \ sed 's/ \([0-9][0-9]*\) [^ ][^ ]* [^ ][^ ]*$$/ \1 '"${INSTUSER} ${INSTGROUP}/"\ ) > $@ pkgdir.%/pkginfo: install.pkgdir.% rm -f $@ echo "$*" echo "PKG=\"`${PKGNAME}`\"" >> $@ echo "NAME=\"`${NAME}`\"" >> $@ echo "ARCH=\"${ARCH}\"" >> $@ echo "VERSION=\"`${FULLVER}`\"" >> $@ echo "CATEGORY=\"${CATEGORY}\"" >> $@ echo "VENDOR=\"${VENDOR}\"" >> $@ echo "EMAIL=\"${EMAIL}\"" >> $@ echo "PSTAMP=\"${PSTAMP}\"" >> $@ echo "BASEDIR=\"`${PKGDIR}`\"" >> $@ echo "CLASSES=\"${CLASSES}\"" >> $@ install.pkgdir.%: build.% -mkdir pkgdir.$* ( cd `${DIR}`/unix ; make prefix=${TOPDIR}/pkgdir.$* \ exec_prefix=${TOPDIR}/pkgdir.$* install ) build.%: %.configured ( cd `${DIR}`/unix && $(MAKE) ) %.configured: %.unpacked ( cd `${DIR}`/unix && ./configure --enable-gcc --enable-shared \ --prefix=`${PKGDIR}` ) sed "/_LIB_SPEC/s/-L\([^ '][^ ']*\)/-L\1 -R\1/" < \ `${DIR}`/unix/`${NAME}`Config.sh > \ `${DIR}`/unix/`${NAME}`Config.sh.tmp && \ mv `${DIR}`/unix/`${NAME}`Config.sh.tmp \ `${DIR}`/unix/`${NAME}`Config.sh touch $@ %.unpacked: test -f `${NAME}``${FULLVER}`.tar.gz rm -f $@ rm -rf $* gzip -cd `${NAME}``${FULLVER}`.tar.gz | tar xvf - touch $@ clean.%: rm -rf $*.configured $*.unpacked `${DIR}` pkgdir.$* $*.pkg \ $*.pkg.gz /var/spool/pkg/`${PKGNAME}`