2003-02-09 15:38:51 +01:00
|
|
|
# $NetBSD: Makefile,v 1.52 2003/02/09 14:38:52 wiz Exp $
|
1997-10-03 10:03:18 +02:00
|
|
|
#
|
|
|
|
|
1999-03-03 21:19:05 +01:00
|
|
|
.include "mk/bsd.prefs.mk"
|
Allow for customised groups of packages at the top-level of pkgsrc.
If SPECIFIC_PKGS is defined (at the top-level of pkgsrc), then instead of
looping through all the categories and then all the packages within that,
simply loop through ${SITE_SPECIFIC_PKGS}, ${HOST_SPECIFIC_PKGS},
${GROUP_SPECIFIC_PKGS} and ${USER_SPECIFIC_PKGS}, which are whitespace
separated lists of categories/packages e.g.
SITE_SPECIFIC_PKGS+= devel/cvs security/ssh
The default behaviour is unchanged - if SPECIFIC_PKGS is not defined,
the whole hierarchy will be traversed.
Modify mk.conf.example to reflect the settings of SPECIFIC_PKGS,
SITE_SPECIFIC_PKGS, HOST_SPECIFIC_PKGS, GROUP_SPECIFIC_PKGS and
USER_SPECIFIC_PKGS.
Modify the ispell package to use the make definition ISPELL_LANG,
rather than just LANG (which can clash with the environment variable
of the same name), and modify mk.conf.example accordingly.
1999-02-21 22:25:02 +01:00
|
|
|
|
|
|
|
.ifdef SPECIFIC_PKGS
|
|
|
|
SUBDIR+= ${SITE_SPECIFIC_PKGS}
|
|
|
|
SUBDIR+= ${HOST_SPECIFIC_PKGS}
|
|
|
|
SUBDIR+= ${GROUP_SPECIFIC_PKGS}
|
|
|
|
SUBDIR+= ${USER_SPECIFIC_PKGS}
|
|
|
|
.else
|
1997-10-03 10:03:18 +02:00
|
|
|
SUBDIR += archivers
|
|
|
|
SUBDIR += audio
|
|
|
|
SUBDIR += benchmarks
|
1999-04-16 01:17:30 +02:00
|
|
|
SUBDIR += biology
|
1998-04-13 17:41:59 +02:00
|
|
|
SUBDIR += cad
|
2000-12-15 01:41:00 +01:00
|
|
|
SUBDIR += chat
|
1997-10-03 10:03:18 +02:00
|
|
|
SUBDIR += comms
|
|
|
|
SUBDIR += converters
|
1998-08-12 04:45:27 +02:00
|
|
|
SUBDIR += cross
|
1997-10-03 10:03:18 +02:00
|
|
|
SUBDIR += databases
|
|
|
|
SUBDIR += devel
|
|
|
|
SUBDIR += editors
|
|
|
|
SUBDIR += emulators
|
2000-12-11 15:15:31 +01:00
|
|
|
SUBDIR += finance
|
2000-05-12 20:42:22 +02:00
|
|
|
SUBDIR += fonts
|
1997-10-03 10:03:18 +02:00
|
|
|
SUBDIR += games
|
|
|
|
SUBDIR += graphics
|
1999-06-06 21:33:17 +02:00
|
|
|
SUBDIR += ham
|
2002-05-31 17:26:50 +02:00
|
|
|
SUBDIR += inputmethod
|
1997-10-03 10:03:18 +02:00
|
|
|
SUBDIR += lang
|
|
|
|
SUBDIR += mail
|
1998-04-13 17:41:59 +02:00
|
|
|
SUBDIR += math
|
1997-10-03 10:03:18 +02:00
|
|
|
SUBDIR += mbone
|
1998-07-24 16:52:22 +02:00
|
|
|
SUBDIR += meta-pkgs
|
1997-10-03 10:03:18 +02:00
|
|
|
SUBDIR += misc
|
|
|
|
SUBDIR += net
|
|
|
|
SUBDIR += news
|
1998-10-14 01:37:03 +02:00
|
|
|
SUBDIR += parallel
|
1998-08-28 14:26:50 +02:00
|
|
|
SUBDIR += pkgtools
|
1997-10-03 10:03:18 +02:00
|
|
|
SUBDIR += print
|
|
|
|
SUBDIR += security
|
|
|
|
SUBDIR += shells
|
|
|
|
SUBDIR += sysutils
|
2000-12-18 00:40:53 +01:00
|
|
|
SUBDIR += time
|
1997-10-03 10:03:18 +02:00
|
|
|
SUBDIR += textproc
|
2000-12-12 03:10:16 +01:00
|
|
|
SUBDIR += wm
|
1997-10-03 10:03:18 +02:00
|
|
|
SUBDIR += www
|
|
|
|
SUBDIR += x11
|
Allow for customised groups of packages at the top-level of pkgsrc.
If SPECIFIC_PKGS is defined (at the top-level of pkgsrc), then instead of
looping through all the categories and then all the packages within that,
simply loop through ${SITE_SPECIFIC_PKGS}, ${HOST_SPECIFIC_PKGS},
${GROUP_SPECIFIC_PKGS} and ${USER_SPECIFIC_PKGS}, which are whitespace
separated lists of categories/packages e.g.
SITE_SPECIFIC_PKGS+= devel/cvs security/ssh
The default behaviour is unchanged - if SPECIFIC_PKGS is not defined,
the whole hierarchy will be traversed.
Modify mk.conf.example to reflect the settings of SPECIFIC_PKGS,
SITE_SPECIFIC_PKGS, HOST_SPECIFIC_PKGS, GROUP_SPECIFIC_PKGS and
USER_SPECIFIC_PKGS.
Modify the ispell package to use the make definition ISPELL_LANG,
rather than just LANG (which can clash with the environment variable
of the same name), and modify mk.conf.example accordingly.
1999-02-21 22:25:02 +01:00
|
|
|
.endif
|
1997-10-03 10:03:18 +02:00
|
|
|
|
1999-03-03 21:19:05 +01:00
|
|
|
PKGSRCTOP= yes
|
|
|
|
|
2003-01-05 14:37:15 +01:00
|
|
|
|
|
|
|
# If PACKAGES is set to the default (${_PKGSRCDIR}/packages), the current
|
|
|
|
# ${MACHINE_ARCH} and "release" (uname -r) will be used. Otherwise a directory
|
|
|
|
# structure of ...pkgsrc/packages/`uname -r`/${MACHINE_ARCH} is assumed.
|
|
|
|
# The PKG_URL is set from FTP_PKG_URL_* or CDROM_PKG_URL_*, depending on
|
|
|
|
# the target used to generate the README.html file.
|
|
|
|
.PHONY: README.html
|
|
|
|
_README_TYPE_FLAG?= none
|
|
|
|
README.html: .PRECIOUS
|
|
|
|
.if ${_README_TYPE_FLAG} == "--ftp" || ${_README_TYPE_FLAG} == "--cdrom"
|
|
|
|
@if [ -e ${PACKAGES} ]; then \
|
|
|
|
cd ${PACKAGES}; \
|
|
|
|
case `pwd` in \
|
|
|
|
${.CURDIR}/packages) \
|
|
|
|
MULTIARCH=; \
|
|
|
|
;; \
|
|
|
|
*) \
|
|
|
|
MULTIARCH=--multi-arch; \
|
|
|
|
;; \
|
|
|
|
esac; \
|
|
|
|
cd ${.CURDIR} ; \
|
|
|
|
fi; \
|
2003-02-09 15:38:51 +01:00
|
|
|
${SETENV} TMPDIR=${TMPDIR:U/tmp}/mkreadme \
|
2003-01-05 14:37:15 +01:00
|
|
|
BMAKE=${MAKE} AWK=${AWK} EXPR=${EXPR} \
|
|
|
|
./mk/scripts/mkreadme --pkgsrc ${.CURDIR} \
|
|
|
|
--packages ${PACKAGES} ${_README_TYPE_FLAG} $$MULTIARCH \
|
|
|
|
--prune
|
|
|
|
.else
|
|
|
|
@${ECHO} "ERROR: please do not use the README.html target directly."
|
|
|
|
@${ECHO} " Instead use either the \"readme\" or \"cdrom-readme\""
|
|
|
|
@${ECHO} " target."
|
|
|
|
@${FALSE}
|
|
|
|
.endif
|
|
|
|
|
1999-03-03 21:19:05 +01:00
|
|
|
.include "mk/bsd.pkg.subdir.mk"
|
1997-10-03 10:03:18 +02:00
|
|
|
|
2001-12-17 03:32:22 +01:00
|
|
|
# the bulk-cache and clean-bulk-cache targets are a global-pkgsrc
|
|
|
|
# thing and thus it makes sense to run it from the top level pkgsrc
|
|
|
|
# directory.
|
|
|
|
.if make(bulk-cache) || make(clean-bulk-cache)
|
|
|
|
.include "${.CURDIR}/mk/bulk/bsd.bulk-pkg.mk"
|
2002-12-01 06:51:33 +01:00
|
|
|
# force the setting of _PKGSRCDIR because the way it gets
|
|
|
|
# set in bsd.prefs.mk is broken if you're in this top level directory
|
|
|
|
_PKGSRCDIR=${.CURDIR}
|
2001-12-17 03:32:22 +01:00
|
|
|
.endif
|
|
|
|
|
1997-10-03 10:03:18 +02:00
|
|
|
index:
|
2002-12-15 03:49:37 +01:00
|
|
|
@${RM} -f ${.CURDIR}/INDEX
|
Allow for customised groups of packages at the top-level of pkgsrc.
If SPECIFIC_PKGS is defined (at the top-level of pkgsrc), then instead of
looping through all the categories and then all the packages within that,
simply loop through ${SITE_SPECIFIC_PKGS}, ${HOST_SPECIFIC_PKGS},
${GROUP_SPECIFIC_PKGS} and ${USER_SPECIFIC_PKGS}, which are whitespace
separated lists of categories/packages e.g.
SITE_SPECIFIC_PKGS+= devel/cvs security/ssh
The default behaviour is unchanged - if SPECIFIC_PKGS is not defined,
the whole hierarchy will be traversed.
Modify mk.conf.example to reflect the settings of SPECIFIC_PKGS,
SITE_SPECIFIC_PKGS, HOST_SPECIFIC_PKGS, GROUP_SPECIFIC_PKGS and
USER_SPECIFIC_PKGS.
Modify the ispell package to use the make definition ISPELL_LANG,
rather than just LANG (which can clash with the environment variable
of the same name), and modify mk.conf.example accordingly.
1999-02-21 22:25:02 +01:00
|
|
|
@${MAKE} ${.CURDIR}/INDEX
|
1997-10-03 10:03:18 +02:00
|
|
|
|
|
|
|
${.CURDIR}/INDEX:
|
2001-02-27 21:23:59 +01:00
|
|
|
@${ECHO} -n "Generating INDEX - please wait.."
|
|
|
|
@${MAKE} describe ECHO_MSG="${ECHO} > /dev/null" > ${.CURDIR}/INDEX
|
|
|
|
@${ECHO} " Done."
|
1997-10-03 10:03:18 +02:00
|
|
|
|
|
|
|
print-index: ${.CURDIR}/INDEX
|
2002-12-15 03:49:37 +01:00
|
|
|
@${AWK} -F\| '{ printf("Port:\t%s\nPath:\t%s\nInfo:\t%s\nMaint:\t%s\nIndex:\t%s\nB-deps:\t%s\nR-deps:\t%s\nArch:\t%s\n\n", $$1, $$2, $$4, $$6, $$7, $$8, $$9, $$10); }' < ${.CURDIR}/INDEX
|
1997-10-03 10:03:18 +02:00
|
|
|
|
|
|
|
search: ${.CURDIR}/INDEX
|
|
|
|
.if !defined(key)
|
2001-02-27 21:23:59 +01:00
|
|
|
@${ECHO} "The search target requires a keyword parameter,"
|
|
|
|
@${ECHO} "e.g.: \"${MAKE} search key=somekeyword\""
|
1997-10-03 10:03:18 +02:00
|
|
|
.else
|
2002-12-15 03:49:37 +01:00
|
|
|
@${GREP} ${key} ${.CURDIR}/INDEX | ${AWK} -F\| '{ printf("Port:\t%s\nPath:\t%s\nInfo:\t%s\nMaint:\t%s\nIndex:\t%s\nB-deps:\t%s\nR-deps:\t%s\nArch:\t%s\n\n", $$1, $$2, $$4, $$6, $$7, $$8, $$9, $$10); }'
|
1997-10-03 10:03:18 +02:00
|
|
|
.endif
|
Allow for customised groups of packages at the top-level of pkgsrc.
If SPECIFIC_PKGS is defined (at the top-level of pkgsrc), then instead of
looping through all the categories and then all the packages within that,
simply loop through ${SITE_SPECIFIC_PKGS}, ${HOST_SPECIFIC_PKGS},
${GROUP_SPECIFIC_PKGS} and ${USER_SPECIFIC_PKGS}, which are whitespace
separated lists of categories/packages e.g.
SITE_SPECIFIC_PKGS+= devel/cvs security/ssh
The default behaviour is unchanged - if SPECIFIC_PKGS is not defined,
the whole hierarchy will be traversed.
Modify mk.conf.example to reflect the settings of SPECIFIC_PKGS,
SITE_SPECIFIC_PKGS, HOST_SPECIFIC_PKGS, GROUP_SPECIFIC_PKGS and
USER_SPECIFIC_PKGS.
Modify the ispell package to use the make definition ISPELL_LANG,
rather than just LANG (which can clash with the environment variable
of the same name), and modify mk.conf.example accordingly.
1999-02-21 22:25:02 +01:00
|
|
|
|
2002-09-24 15:59:20 +02:00
|
|
|
#
|
1999-08-22 03:30:15 +02:00
|
|
|
# Generate list of all packages by extracting information from
|
|
|
|
# the category/README.html pages
|
|
|
|
#
|
|
|
|
readme-all:
|
2000-01-05 00:46:14 +01:00
|
|
|
@if [ -f README-all.html ]; then \
|
2002-12-15 03:49:37 +01:00
|
|
|
${MV} README-all.html README-all.html.BAK ; \
|
2000-01-05 00:46:14 +01:00
|
|
|
fi
|
1999-08-22 03:30:15 +02:00
|
|
|
@${MAKE} README-all.html
|
2002-12-15 03:49:37 +01:00
|
|
|
@if ${CMP} -s README-all.html README-all.html.BAK ; then \
|
|
|
|
${MV} README-all.html.BAK README-all.html ; \
|
1999-08-22 03:30:15 +02:00
|
|
|
else \
|
2002-12-15 03:49:37 +01:00
|
|
|
${RM} -f README-all.html.BAK ; \
|
1999-08-22 03:30:15 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
README-all.html:
|
2002-12-15 03:49:37 +01:00
|
|
|
@${RM} -f $@.new
|
|
|
|
@${RM} -f $@.newsorted
|
2001-02-27 21:23:59 +01:00
|
|
|
@${ECHO} -n "Processing categories for $@:"
|
1999-08-22 03:30:15 +02:00
|
|
|
.for category in ${SUBDIR}
|
|
|
|
@if [ -f ${category}/README.html ]; then \
|
2001-02-27 21:23:59 +01:00
|
|
|
${ECHO} -n ' ${category}' ; \
|
2002-12-15 03:49:37 +01:00
|
|
|
${GREP} '^<TR>' ${category}/README.html \
|
|
|
|
| ${SED} -e 's|"|"${category}/|' \
|
1999-08-22 03:30:15 +02:00
|
|
|
-e 's| <TD>| <TD>(<A HREF="${category}/README.html">${category}</A>) <TD>|' \
|
|
|
|
-e 's|<TR>|<TR VALIGN=TOP>|' \
|
1999-10-22 02:54:23 +02:00
|
|
|
-e 's|<TD VALIGN=TOP>|<TD>|' \
|
1999-08-22 03:30:15 +02:00
|
|
|
>> $@.new ; \
|
|
|
|
fi
|
|
|
|
.endfor
|
2001-02-27 21:23:59 +01:00
|
|
|
@${ECHO} "."
|
2002-12-15 03:49:37 +01:00
|
|
|
@${SORT} -f -t '">' +2 <$@.new >$@.newsorted
|
|
|
|
@${WC} -l $@.newsorted | ${AWK} '{ print $$1 }' >$@.npkgs
|
|
|
|
@${CAT} templates/README.all \
|
1999-08-22 03:30:15 +02:00
|
|
|
| ${SED} \
|
2001-12-17 03:33:46 +01:00
|
|
|
-e '/%%NPKGS%%/r$@.npkgs' \
|
|
|
|
-e '/%%NPKGS%%/d' \
|
|
|
|
-e '/%%PKGS%%/r$@.newsorted' \
|
|
|
|
-e '/%%PKGS%%/d' \
|
2002-09-24 15:59:20 +02:00
|
|
|
> $@
|
2002-12-15 03:49:37 +01:00
|
|
|
@${RM} -f $@.npkgs
|
|
|
|
@${RM} -f $@.new
|
|
|
|
@${RM} -f $@.newsorted
|
2000-02-09 04:51:12 +01:00
|
|
|
|
|
|
|
readme-ipv6:
|
|
|
|
@if [ -f README-IPv6.html ]; then \
|
2002-12-15 03:49:37 +01:00
|
|
|
${MV} README-IPv6.html README-IPv6.html.BAK ; \
|
2000-02-09 04:51:12 +01:00
|
|
|
fi
|
|
|
|
@${MAKE} README-IPv6.html
|
2002-12-15 03:49:37 +01:00
|
|
|
@if ${CMP} -s README-IPv6.html README-IPv6.html.BAK ; then \
|
|
|
|
${MV} README-IPv6.html.BAK README-IPv6.html ; \
|
2000-02-09 04:51:12 +01:00
|
|
|
else \
|
2002-12-15 03:49:37 +01:00
|
|
|
${RM} -f README-IPv6.html.BAK ; \
|
2000-02-09 04:51:12 +01:00
|
|
|
fi
|
|
|
|
|
|
|
|
README-IPv6.html:
|
2002-12-15 03:49:37 +01:00
|
|
|
@${GREP} -l '^BUILD_DEFS.*=.*USE_INET6' */*/Makefile \
|
|
|
|
| ${SED} s,Makefile,, >$@.pkgs
|
|
|
|
@${FGREP} -f $@.pkgs README-all.html | ${SORT} -t/ +1 >$@.trs
|
|
|
|
@${CAT} templates/README.ipv6 \
|
2000-02-09 04:51:12 +01:00
|
|
|
| ${SED} \
|
2002-09-24 15:59:20 +02:00
|
|
|
-e '/%%TRS%%/r$@.trs' \
|
|
|
|
-e '/%%TRS%%/d' \
|
2000-02-09 04:51:12 +01:00
|
|
|
>$@
|
|
|
|
@${RM} $@.trs
|
|
|
|
@${RM} $@.pkgs
|
2000-05-11 13:25:18 +02:00
|
|
|
|
|
|
|
show-host-specific-pkgs:
|
2001-02-27 21:23:59 +01:00
|
|
|
@${ECHO} "HOST_SPECIFIC_PKGS= \\"; \
|
2002-12-15 03:49:37 +01:00
|
|
|
${MAKE} show-pkgsrc-dir | ${AWK} '/^===/ { next; } { printf("%s \\\n", $$1) }'; \
|
2001-02-27 21:23:59 +01:00
|
|
|
${ECHO} ""
|