[BACK]Return to bsd.port.mk CVS log [TXT][DIR] Up to [local] / src / share / mk

Diff for /src/share/mk/bsd.port.mk between version 1.87 and 1.88

version 1.87, 1999/04/20 18:09:37 version 1.88, 1999/04/20 18:22:56
Line 368 
Line 368 
 #                                 Typical use is (from the top level of the ports tree)  #                                 Typical use is (from the top level of the ports tree)
 #                                 make ECHO_MSG=: list-distfiles | tee some-file  #                                 make ECHO_MSG=: list-distfiles | tee some-file
 # obj                   - pre-build ${WRKDIR} -> ${WRKOBJDIR}/${PORTSUBDIR} links  # obj                   - pre-build ${WRKDIR} -> ${WRKOBJDIR}/${PORTSUBDIR} links
   # print-depends - print all dependencies for the given package
 #  #
 # Default sequence for "all" is:  fetch checksum extract patch configure build  # Default sequence for "all" is:  fetch checksum extract patch configure build
 #  #
Line 718 
Line 719 
   
 PKG_CMD?=               /usr/sbin/pkg_create  PKG_CMD?=               /usr/sbin/pkg_create
 PKG_DELETE?=    /usr/sbin/pkg_delete  PKG_DELETE?=    /usr/sbin/pkg_delete
   SORT_DEPENDS?=tsort|tail +2|tail -r
   
 .if !defined(PKG_ARGS)  .if !defined(PKG_ARGS)
 PKG_ARGS=               -v -c ${COMMENT} -d ${DESCR} -f ${PLIST} -p ${PREFIX} -P "`${MAKE} package-depends|sort -u`"  PKG_ARGS=               -v -c ${COMMENT} -d ${DESCR} -f ${PLIST} -p ${PREFIX} -P "`${MAKE} package-depends|${SORT_DEPENDS}`"
 .if exists(${PKGDIR}/INSTALL)  .if exists(${PKGDIR}/INSTALL)
 PKG_ARGS+=              -i ${PKGDIR}/INSTALL  PKG_ARGS+=              -i ${PKGDIR}/INSTALL
 .endif  .endif
Line 905 
Line 908 
 .endif  .endif
 .if defined(SUPPATCHFILES)  .if defined(SUPPATCHFILES)
  PATCHFILES+=${SUPPATCHFILES}   PATCHFILES+=${SUPPATCHFILES}
  .endif  
 .endif  .endif
   .endif
 ALLFILES?=      ${DISTFILES} ${PATCHFILES}  ALLFILES?=      ${DISTFILES} ${PATCHFILES}
   
 .if defined(IGNOREFILES)  .if defined(IGNOREFILES)
Line 1962 
Line 1965 
 # You probably won't need to touch these  # You probably won't need to touch these
 ################################################################  ################################################################
   
 HTMLIFY=        ${SED} -e 's/&/\&amp;/g' -e 's/>/\&gt;/g' -e 's/</\&lt;/g'  
   
 # Set to YES by the README.html target (and passed via depends-list  # The README.html target needs full information (this is passed via
 # and package-depends)  # depends-list and package-depends)
 .ifndef PACKAGE_NAME_AS_LINK  .ifndef FULL_PACKAGE_NAME
 PACKAGE_NAME_AS_LINK=NO  FULL_PACKAGE_NAME=NO
 .endif # PACKAGE_NAME_AS_LINK  .endif
   
   
 # Nobody should want to override this unless PKGNAME is simply bogus.  # Nobody should want to override this unless PKGNAME is simply bogus.
   
 .if !target(package-name)  .if !target(package-name)
 package-name:  package-name:
 .if (${PACKAGE_NAME_AS_LINK} == "YES")  .if (${FULL_PACKAGE_NAME} == "YES")
         @${ECHO} '<A HREF="../../'`${MAKE} package-path | ${HTMLIFY}`'/README.html">'`echo ${PKGNAME} | ${HTMLIFY}`'</A>'          @${ECHO} `${MAKE} package-path`/${PKGNAME}
 .else  .else
         @${ECHO} '${PKGNAME}'          @${ECHO} '${PKGNAME}'
 .endif # PACKAGE_NAME_AS_LINK != ""  .endif
 .endif # !target(package-name)  .endif
   
 .if !target(package-path)  .if !target(package-path)
 package-path:  package-path:
         @pwd | sed s@`cd ${PORTSDIR} ; pwd`/@@g          @pwd | sed s@`cd ${PORTSDIR} ; pwd`/@@g
 .endif  .endif
   
 # Show (recursively) all the packages this package depends on.  # Build (recursively) a list of package dependencies suitable for tsort
   
 .if !target(package-depends)  .if !target(package-depends)
 package-depends:  package-depends:
         @for dir in `${ECHO} ${LIB_DEPENDS} ${RUN_DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u` `${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u`; do \          @for dir in `${ECHO} ${LIB_DEPENDS} ${RUN_DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u` `${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u`; do \
                 if [ -d $$dir ]; then \                  if [ -d $$dir ]; then \
                         (cd $$dir ; ${MAKE} package-name package-depends PACKAGE_NAME_AS_LINK=${PACKAGE_NAME_AS_LINK}); \                          ${MAKE} ECHO='${ECHO} -n' package-name FULL_PACKAGE_NAME=${FULL_PACKAGE_NAME}; \
                           ${ECHO} -n " "; \
                           (cd $$dir ; ${MAKE} package-name package-depends FULL_PACKAGE_NAME=${FULL_PACKAGE_NAME}); \
                 else \                  else \
                         ${ECHO_MSG} "Warning: \"$$dir\" non-existent -- @pkgdep registration incomplete" >&2; \                          ${ECHO_MSG} "Warning: \"$$dir\" non-existent -- @pkgdep registration incomplete" >&2; \
                 fi; \                  fi; \
Line 2195 
Line 2199 
 .if !target(depends-list)  .if !target(depends-list)
 depends-list:  depends-list:
         @for dir in `${ECHO} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u` `${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u`; do \          @for dir in `${ECHO} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u` `${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u`; do \
                 (cd $$dir; ${MAKE} package-name depends-list PACKAGE_NAME_AS_LINK=${PACKAGE_NAME_AS_LINK}; ); \                  if [ -d $$dir ]; then \
                           ${MAKE} ECHO='${ECHO} -n' package-name FULL_PACKAGE_NAME=${FULL_PACKAGE_NAME}; \
                           ${ECHO} -n " "; \
                           (cd $$dir ; ${MAKE} package-name depends-list FULL_PACKAGE_NAME=${FULL_PACKAGE_NAME}); \
                   else \
                           ${ECHO_MSG} "Warning: \"$$dir\" non-existent" >&2; \
                   fi; \
         done          done
 .endif  .endif
   
Line 2227 
Line 2237 
         ${ECHO} -n "|${MAINTAINER}|${CATEGORIES}|"; \          ${ECHO} -n "|${MAINTAINER}|${CATEGORIES}|"; \
         case "A${FETCH_DEPENDS}B${BUILD_DEPENDS}C${LIB_DEPENDS}D${DEPENDS}E" in \          case "A${FETCH_DEPENDS}B${BUILD_DEPENDS}C${LIB_DEPENDS}D${DEPENDS}E" in \
                 ABCDE) ;; \                  ABCDE) ;; \
                 *) cd ${.CURDIR} && ${ECHO} -n `make depends-list|sort -u`;; \                  *) cd ${.CURDIR} && ${ECHO} -n `make depends-list|${SORT_DEPENDS}`;; \
         esac; \          esac; \
         ${ECHO} -n "|"; \          ${ECHO} -n "|"; \
         case "A${RUN_DEPENDS}B${LIB_DEPENDS}C${DEPENDS}D" in \          case "A${RUN_DEPENDS}B${LIB_DEPENDS}C${DEPENDS}D" in \
                 ABCD) ;; \                  ABCD) ;; \
                 *) cd ${.CURDIR} && ${ECHO} -n `make package-depends|sort -u`;; \                  *) cd ${.CURDIR} && ${ECHO} -n `make package-depends|${SORT_DEPENDS}`;; \
         esac; \          esac; \
         ${ECHO} -n "|"; \          ${ECHO} -n "|"; \
         if [ "${ONLY_FOR_ARCHS}" = "" ]; then \          if [ "${ONLY_FOR_ARCHS}" = "" ]; then \
Line 2243 
Line 2253 
         ${ECHO} ""          ${ECHO} ""
 .endif  .endif
   
   README_NAME?=   ${TEMPLATES}/README.port
   
 .if !target(readmes)  .if !target(readmes)
 readmes:        readme  readmes:        readme
 .endif  .endif
Line 2250 
Line 2262 
 .if !target(readme)  .if !target(readme)
 readme:  readme:
         @rm -f README.html          @rm -f README.html
         @cd ${.CURDIR} && make README.html          @cd ${.CURDIR} && make README_NAME=${README_NAME} README.html
 .endif  .endif
   
 README_NAME=    ${TEMPLATES}/README.port  
   
   HTMLIFY=        ${SED} -e 's/&/\&amp;/g' -e 's/>/\&gt;/g' -e 's/</\&lt;/g'
   
   .if make(README.html) || make(readme) || make(readmes)
   PKGDEPTH!=${MAKE} package-path|${SED} -e 's|[^./][^/]*|..|g'
   .endif
   
 README.html:  README.html:
         @${ECHO_MSG} "===>  Creating README.html for ${PKGNAME}"          @${ECHO_MSG} "===>  Creating README.html for ${PKGNAME}"
         @${MAKE} depends-list PACKAGE_NAME_AS_LINK=YES >> $@.tmp1          @${ECHO} ${PKGNAME} | ${HTMLIFY} > $@.tmp3
         @[ -s $@.tmp1 ] || echo "(none)" >> $@.tmp1          @${MAKE} depends-list FULL_PACKAGE_NAME=YES | ${SORT_DEPENDS}>$@.tmp1
         @${MAKE} package-depends PACKAGE_NAME_AS_LINK=YES >> $@.tmp2          @${MAKE} package-depends FULL_PACKAGE_NAME=YES | ${SORT_DEPENDS} >$@.tmp2
         @[ -s $@.tmp2 ] || echo "(none)" >> $@.tmp2  .for I in 1 2
         @${ECHO} ${PKGNAME} | ${HTMLIFY} >> $@.tmp3          @if [ -s $@.tmp$I ]; then \
                   (${CAT} $@.tmp$I | while read n; do \
                           j=`dirname $$n|${HTMLIFY}`; k=`basename $$n|${HTMLIFY}`; \
                           echo "<A HREF=\"${PKGDEPTH}/$$j/README.html\">$$k</A>"; \
                    done;) >$@.tmp$Ia; \
       else \
       echo "(none)" > $@.tmp$Ia; \
           fi
   .endfor
         @${CAT} ${README_NAME} | \          @${CAT} ${README_NAME} | \
                 ${SED} -e 's|%%PORT%%|'"`${MAKE} package-path | ${HTMLIFY}`"'|g' \                  ${SED} -e 's|%%PORT%%|'"`${MAKE} package-path | ${HTMLIFY}`"'|g' \
                         -e '/%%PKG%%/r$@.tmp3' \                          -e '/%%PKG%%/r$@.tmp3' \
                         -e '/%%PKG%%/d' \                          -e '/%%PKG%%/d' \
                         -e '/%%COMMENT%%/r${PKGDIR}/COMMENT' \                          -e '/%%COMMENT%%/r${PKGDIR}/COMMENT' \
                         -e '/%%COMMENT%%/d' \                          -e '/%%COMMENT%%/d' \
                         -e '/%%BUILD_DEPENDS%%/r$@.tmp1' \                          -e '/%%BUILD_DEPENDS%%/r$@.tmp1a' \
                         -e '/%%BUILD_DEPENDS%%/d' \                          -e '/%%BUILD_DEPENDS%%/d' \
                         -e '/%%RUN_DEPENDS%%/r$@.tmp2' \                          -e '/%%RUN_DEPENDS%%/r$@.tmp2a' \
                         -e '/%%RUN_DEPENDS%%/d' \                          -e '/%%RUN_DEPENDS%%/d' \
                 >> $@                  >> $@
         @rm -f $@.tmp1 $@.tmp2 $@.tmp3          @rm -f $@.tmp*
   
 .if !target(print-depends-list)  .if !target(print-depends-list)
 print-depends-list:  print-depends-list:
 .if defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || \  .if defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || \
         defined(LIB_DEPENDS) || defined(DEPENDS)          defined(LIB_DEPENDS) || defined(DEPENDS)
         @${ECHO} -n 'This port requires package(s) "'          @${ECHO} -n 'This port requires package(s) "'
         @${ECHO} -n `make depends-list | sort -u`          @${ECHO} -n `make FULL_PACKAGE_NAME=${FULL_PACKAGE_NAME} depends-list | ${SORT_DEPENDS}`
         @${ECHO} '" to build.'          @${ECHO} '" to build.'
 .endif  .endif
 .endif  .endif
Line 2289 
Line 2314 
 print-package-depends:  print-package-depends:
 .if defined(RUN_DEPENDS) || defined(LIB_DEPENDS) || defined(DEPENDS)  .if defined(RUN_DEPENDS) || defined(LIB_DEPENDS) || defined(DEPENDS)
         @${ECHO} -n 'This port requires package(s) "'          @${ECHO} -n 'This port requires package(s) "'
         @${ECHO} -n `make package-depends | sort -u`          @${ECHO} -n `make FULL_PACKAGE_NAME=${FULL_PACKAGE_NAME} package-depends | ${SORT_DEPENDS}`
         @${ECHO} '" to run.'          @${ECHO} '" to run.'
 .endif  .endif
 .endif  .endif
   
   .if !target(print-depends)
   print-depends:
           @${MAKE} FULL_PACKAGE_NAME=YES print-depends-list print-package-depends
   .endif
   
 # Fake installation of package so that user can pkg_delete it later.  # Fake installation of package so that user can pkg_delete it later.
 # Also, make sure that an installed port is recognized correctly in  # Also, make sure that an installed port is recognized correctly in
 # accordance to the @pkgdep directive in the packing lists  # accordance to the @pkgdep directive in the packing lists
Line 2327 
Line 2357 
                 if [ -f ${PKGDIR}/MESSAGE ]; then \                  if [ -f ${PKGDIR}/MESSAGE ]; then \
                         ${CP} ${PKGDIR}/MESSAGE ${PKG_DBDIR}/${PKGNAME}/+DISPLAY; \                          ${CP} ${PKGDIR}/MESSAGE ${PKG_DBDIR}/${PKGNAME}/+DISPLAY; \
                 fi; \                  fi; \
                 for dep in `make package-depends ECHO_MSG=${TRUE} | sort -u`; do \                  for dep in `make package-depends ECHO_MSG=${TRUE} | ${SORT_DEPENDS}`; do \
                         if [ -d ${PKG_DBDIR}/$$dep ]; then \                          if [ -d ${PKG_DBDIR}/$$dep ]; then \
                                 if ! ${GREP} ^${PKGNAME}$$ ${PKG_DBDIR}/$$dep/+REQUIRED_BY \                                  if ! ${GREP} ^${PKGNAME}$$ ${PKG_DBDIR}/$$dep/+REQUIRED_BY \
                                         >/dev/null 2>&1; then \                                          >/dev/null 2>&1; then \
Line 2366 
Line 2396 
    pre-extract pre-fetch pre-install pre-package pre-patch \     pre-extract pre-fetch pre-install pre-package pre-patch \
    pre-repackage print-depends-list print-package-depends readme \     pre-repackage print-depends-list print-package-depends readme \
    readmes real-extract real-fetch real-install reinstall \     readmes real-extract real-fetch real-install reinstall \
    repackage run-depends tags uninstall fetch-all     repackage run-depends tags uninstall fetch-all print-depends

Legend:
Removed from v.1.87  
changed lines
  Added in v.1.88