Commit graph

71 commits

Author SHA1 Message Date
rillig
f374c71565 mk, doc: remove obsolete bulk-install and bulk-package targets 2020-06-05 17:05:22 +00:00
joerg
2f5878b4cf Remove rules named after subdirectories. Proposed on Oct 08 on tech-pkg
as it breaks having subdirectories named like main pkgsrc targets.
2008-10-14 22:35:19 +00:00
dsl
d24555b956 Fix the .include lines so that make looks in the right place first.
Remember .include "foo.mk" is looked for (first) in the directory that
contains the makefile being processed (like in C), so remove all the
${.PARSEDIR} and ../ sequences that just cause grief.
2007-10-13 11:04:15 +00:00
rillig
6aecf48699 Added mk/misc/category.mk, which contains the definitions that are only
useful for category Makefiles, as opposed to bsd.pkg.subdir.mk, which is
also relevant for the top-level directory. Adjusted the category Makefiles.
2007-08-13 08:12:41 +00:00
rillig
7d184f93ff Moved the stuff that is common to all directories of pkgsrc into its own
file. Now "make help" can be called from the top-level directory,
avoiding to parse lots of buildlink3.mk files just to get some help.
2007-08-13 06:03:46 +00:00
joerg
79cc54a7ec Add two targets, pbulk-index and pbulk-index-item.
pbulk-index-item prints a number of variables used by the parallel bulk
build code during either the build, the report or the upload phase.

pbulk-index checks whether multiple versions of the current package
could be build (e.g. because multiple Python versions are supported) and
uses pbulk-index-item for each possible combination.

Thanks to David Laight for explaining the different between using :[#]
in the body of a make target and in a clause of an .if.

Powered-by: Google SoC 2007.
2007-05-09 23:33:51 +00:00
jlam
c489860d62 Whenever we invoke a recursive make, we need to ensure that the proper
environment ${PKGSRC_MAKE_ENV} is also passed along.  Create a
convenience variable RECURSIVE_MAKE that does exactly this and that
can be used in place of MAKE when invoking make recursively.

Use RECURSIVE_MAKE everywhere in pkgsrc/mk that we invoke make
recursively.
2006-07-27 21:46:45 +00:00
joerg
c73fd6744e Don't test existence of a file, touch it and compare the content,
but compare the content only if the file existed in first place.
2006-05-29 14:26:33 +00:00
joerg
535f2eb485 Resolve misunderstanding with jlam, show-subdir-var works like
show-var, but doesn't recurse.
2006-05-23 15:20:17 +00:00
joerg
4c14c4b817 Add show-subdir-var to get the value of SUBDIR of the top-level and
category Makefiles.
2006-05-22 17:10:41 +00:00
dmcmahill
b358a2cd82 add a missing .PHONY: Now if you do something like
cd pkgsrc/foo
 touch fetch
 make fetch

you get the correct behaviour.
2006-01-29 01:39:01 +00:00
rillig
b6a86c162f Removed trailing white-space. 2005-11-14 04:41:17 +00:00
erh
235bfae905 Add 'check-vulnerable' to the list of recursive targets. 2005-11-09 18:48:33 +00:00
rillig
1809039339 Fixed the bug that I introduced with the last commit. I confused -n and -z. 2005-05-23 10:24:35 +00:00
rillig
c549cfb7a8 Fixed quoting in show-comment. 2005-05-23 07:57:02 +00:00
agc
2a8668bdf4 Pass "makedistinfo" down as one of the inherited targets. 2005-02-22 21:02:15 +00:00
tv
f998eee832 There is no need to use "echo -n" in production of HTML. 2004-04-07 14:14:12 +00:00
cjep
2fd1bc190e Also descend to sub directories for make lint 2003-09-06 11:28:13 +00:00
bad
d6973cf441 "make update" works fine for me with SPECIFIC_PKGS=1, so enable it and the "clean-update" target. 2003-07-14 23:23:21 +00:00
dmcmahill
3c2f91c38e remove incorrect usage of README.html.BAK files. With this change,
1)  an extra /usr/pkgsrc/README.html.BAK file is not created
2)  we ensure that when a README.html file doesn't change, we don't
    touch it.  The prior version of this file caused the timestamp to
    change.
2003-03-20 00:03:16 +00:00
jlam
63029a767b Make BUILD_DIR always point to a physical path by invoking /bin/pwd instead
of relying on the shell's builtin pwd.  This makes BUILD_DIR consistently
point to the correct directory regardless of the definition of SHELL.  This
fixes elusive some buildlink2 errors due to the fact that BUILDLINK_DIR is
derived from BUILD_DIR and some paths were incorrectly being translated.
2003-01-15 20:55:38 +00:00
dmcmahill
742bcd19d1 Switch the top level pkgsrc 'readme' and 'cdrom-readme' targets to use the
new and much more efficient code.  Previously a 'make readme' took over
3 weeks on my SS5 and now takes < 3 hours.  The number of make calls has
been reduced from somewhere over 1,000,000 to one per package which is
around 3,000.  The mk/scripts/mkreadme script does all the work now.  This
script has been used in standalone form for a month or two on ftp.netbsd.org
and has had no problem.
2003-01-05 13:37:15 +00:00
wiz
c56722e180 Use :Q to quote COMMENT. Proposed by Alan Barrett. 2002-10-20 22:19:22 +00:00
yyamano
3fd6d97d03 Remove STRIPFLAG to fix pkg/15467.
It was replaced with _STRIPFLAG_INSTALL and moved to defs.*.mk.
2002-05-29 14:55:22 +00:00
fredb
2f53857f29 Generalize the handling for packages where "fetch" and "fetch-list"
only emit a message and don't actually fetch anything. This allows
us to make the output of "fetch-list" for these packages consistent
with other packages.

While we're in here, integrate DYNAMIC_MASTER_SITES with the
${ORDERED_SITES} macro. The only functional change here is that
${MASTER_SITE_OVERRIDE} is now respected. Still to do -- something
appropriate for "fetch-list" for these packages, like sourcing
"getsites.sh" into the generated script. (Well, "package", but there
are two others that do something similar in their "Makefile".)

Also eliminate the misbegotten _FETCH_ALLFILES macro -- now that only
"fetch" uses it, move it's functionality directly under "do-fetch".
2002-03-04 19:41:03 +00:00
fredb
8527784dd6 Comprehensive update to the fetch-list target (and friends), incorporating
many suggestions made by Bernd Ernesti on "tech-pkg". Closes PR pkg/15539.

- - Partially revert 1.895, which made 'fetch-list' ape 'fetch', so instead
    check if a file exists on the building host before emitting anything
    for it into the generated script. Update to use the new 'fetch' procedure
    on the fetching host, once it is determined that the file is needed,
    and generally clean up the output, so that it's a human readable shell
    script with comments.
- - Introduce utility target 'show-all-depends-dirs', to do the necessary
    recursing over dependencies quickly and correctly. Add a couple of
    variations to show how it's done, and bracket the whole thing with
    ".if make()", so it's invisible to the dependency graph for all the
    other targets. The key improvement over the old way, is that it utilizes
    an "awk" associative array to guarantee that no package subdirectory
    is visited twice. For the package with the hairiest dependency graph,
    "x11/gnome", this leads to something like a 1,000-fold improvement!
- - "sort -u" over the result of 'fetch-list-one-pkg' goes bye-bye. The new
    "awk" post-processor begins emitting output as soon as there is a file
    to fetch, so the user doesn't have to wait for the whole thing to finish
    before he sees anything.
- - Get rid of the old hook for non-recursing for a top-level 'fetch-list',
    which was never used. Previously, a top-level 'fetch-list' couldn't work
    anyway, because the progress reports ruined the shell script. Remove
    'fetch-list' from the targets that recurse from the top, and instead
    use a different 'fetch-list' target in "bsd.pkg.subdir.mk" to do the right
    thing. Currently, that right thing includes recursing in the single-category
    case, or if ${SPECIFIC_PKGS} is set, and not recursing in the top-level,
    all packages case (where it would be perfectly pointless).
2002-02-28 14:42:39 +00:00
abs
6dd01d2785 lose some more pkg/ references 2001-11-28 10:21:46 +00:00
tron
8d0e937ff7 Add a new "show-vars" target which allows to display several makefile
variables at once.
2001-10-26 21:42:44 +00:00
wiz
7c4ccd33f6 Back out that part, not intended to be committed just yet 2001-03-06 16:14:35 +00:00
wiz
afcceaff60 Move PKGTOOLS_VERSION check to bsd.prefs.mk for speedups in recursive tree walks.bsd.pkg.mk bsd.prefs.mk
Bump required version number of PKGTOOLS to 20010306 for the latest bugfixes
and the -V option support.
2001-03-06 16:00:15 +00:00
wiz
1b7f0d246f Change COMMENT handling:
COMMENTs are now a variable in the Makefile instead of a pkg/COMMENT
file. The COMMENT var should be in the maintainer block after the
homepage.
Modify bsd.pkg.mk, pkglint, url2pkg, and port2pkg (last one untested)
for the new behaviour. Document new state in Packages.txt.
This should save lots of inodes, and lots of time when untarring/updating.
Idea by Alistair Crooks.
For the time being, accept pkg/COMMENT instead of a COMMENT var to avoid
a flag day.
2001-02-16 13:06:17 +00:00
tv
03c1600fe7 Add "show-var" to the list of recursable targets. 2001-01-13 15:35:53 +00:00
hubertf
d0dc50dff7 Add bulk-package and bulk-install targets so people can invoke these
in pkgsrc or pkgsrc/category now.

The install and package targets are still left in, but deprecated now.
2000-07-28 00:54:06 +00:00
mycroft
5b3eca4bf1 /bin/echo -> echo. This file appears to have NetBSD-specific paths already,
so I'm not worried about .ifdefing it at the moment.
2000-06-03 21:18:47 +00:00
mycroft
3752ab5b8e Pass down ${MAKEFLAGS}. 2000-06-03 15:25:16 +00:00
hubertf
ad6c4dd126 Garbage collect.
Now that the procedure for building in a package and in a category is the
same, there's no longer any need to differentiate between the two cases.
2000-05-29 00:54:25 +00:00
dmcmahill
3154113d32 Do not abort compilation of several categories if building a single category
fails.
2000-05-28 12:42:26 +00:00
agc
ef268dcf91 Define a new target, "show-pkgsrc-dir", which prints the directory
from which an installed package can be re-installed.  This can be used
to build up a list of host specific packages, which is useful, for
example, in re-building all packages on a machine for a.out to ELF
transition.
2000-05-11 11:23:20 +00:00
abs
b6140f538f Fix off by one count of packages in a category in README.html 1999-12-15 15:52:17 +00:00
abs
ece830ebfe Add total number of packages to the category README.html 1999-12-06 23:40:55 +00:00
agc
afbb63a318 Pass the makepatchsum target down to submakes. 1999-07-09 13:15:24 +00:00
agc
d05adf7155 Add a show-downlevel target, which shows output of the form:
...
        ===> package security/sudo
        sudo package: sudo-1.5.7p4 installed, pkgsrc version sudo-1.5.9p1
        ===> package security/tripwire
        ===> category shells
        ...

for installed packages whose version does not match that in pkgsrc. No
output is produced if the package is not installed. This allows an easy
overview of the packages installed on a machine which need to be upgraded.

Also make minor modifications to the SUBDIRUSE target for Solaris.
1999-07-02 12:56:32 +00:00
agc
c6dd955c2b Add a "show-distfiles" target, used to show the distfiles and patchfiles
(including any subdir) for a package. If ${IGNORE} is set, for any reason,
do not print anything. The output is relative to ${DISTDIR}.

This target can be used to identify out of date distfiles and patchfiles
in ${DISTDIR}, in conjunction with suitable filters.
1999-06-28 11:42:28 +00:00
tron
ca3b296af2 Define "${ECHO_MSG}" so that the patch from PR pkg/7545 doesn't break
(at least) a recursive "make clean".
1999-05-17 23:34:37 +00:00
tron
edc762690c Fix broken index file creation. Patch suppled by NAKAJIMA Yoshihiro
in PR pkg/7545.
1999-05-17 22:24:15 +00:00
hubertf
5df287ffd4 DUDS is expected to be a a make variable, not a shell variable 1999-03-28 03:56:32 +00:00
hubertf
5619befc40 Comment that targets listed in $PKG_MISC_TARGETS are also regarded 1999-02-22 01:11:18 +00:00
hubertf
cb4b88bb46 Pull in mk.conf (via bsd.pref.mk), so that e.g. PKG_MISC_TARGETS can
be set there.
1999-02-21 01:24:22 +00:00
tron
2bfc513950 Add "cleandir" target. 1998-12-29 22:31:53 +00:00
hubertf
aeef2024b8 Add support for custom, per-category targets by setting PKG_MISC_TARGETS
This can be used to
 - enable execution of a non-standard target for all pkgs of a category,
   e.g. cd pkgsrc/benchmarks ; make benchmark
 - superceding standard-targets with custom versions, e.g. from
   /etc/mk.conf
1998-12-06 01:22:54 +00:00