summaryrefslogtreecommitdiff
path: root/mk/build
AgeCommit message (Collapse)AuthorFilesLines
2020-09-12bsd.build-vars.mk: describe MAKE_FLAGS in details, rewrite and reformatrillig1-12/+24
2020-06-12mk/build/build.mk: use SH for the shell in build-envrillig1-3/+3
Providing a realistic build environment has priority over having a convenient shell with auto-completion and all the likes.
2020-04-25mk/build/build.mk: use the login shell by default for build-envrillig1-3/+3
2020-03-23New target test-env, like build-env and configure-env.riastradh1-2/+35
2020-02-25mk/build: make the documentation for build-env more preciserillig1-2/+3
2020-02-18Make sure _MAKE_JOBS_N has a valid value even if MAKE_JOBS is unset.maya1-1/+3
2020-01-19Rename EFFECTIVE_MAKE_JOBS -> _MAKE_JOBS_N, suggested by gdt.maya1-8/+8
I am under the impression we use _THING to mean "defined by the implementation", which would be similar to the C meaning of __ prefix, rather than "private to this file".
2020-01-19Add a visible EFFECTIVE_MAKE_JOBS, a tunable resembling _MAKE_JOBS,maya1-4/+8
but is defined as 1 in the case of no jobs. No -j prefix for maximum usability. (XXX: is _DEF_VARS the right place to add it?)
2019-10-13mk/build/test.mk: reorder the _VARGROUPS variablesrillig1-3/+6
The tests are only run if TEST_TARGET is defined. Therefore it should be listed first.
2019-10-13mk/build/test.mk: clean up line continuationsrillig1-5/+4
2019-09-02mk/build: in build-env, output BUILD_DIRS relative to WRKSRCrillig1-3/+4
2019-09-02mk/build: for build-env, show the BUILD_DIRSrillig1-6/+6
2019-05-07mk: allow "bmake clean depends" as shortcutrillig3-8/+8
When "bmake clean depends" was called for a package where the various cookie files already existed, these would enable different rules than a clean package directory. Since "bmake clean" deletes all the cookie files before "bmake depends" starts, in these combined command lines the cookie files must be treated as absent.
2019-03-17Add support for MAKE_JOBS.pkgpath.dholland1-1/+3
This allows setting MAKE_JOBS high and then setting e.g. MAKE_JOBS.emulators/qemu=2 (or some such low value) to keep it from thrashing during build. Discussed/approved on tech-pkg two months ago and then I forgot to actually commit it.
2018-11-30mk/misc: make configuration for show-all targets more configurablerillig3-3/+9
Up to now, there was a central list of variable name patterns that defined whether a variable was printed as a sorted list, as a list or as a single value. Now each variable group decides on its own which of the variables are printed in which way, using the usual glob patterns. This is more flexible since different files sometimes differ in their naming conventions. Two variable groups are added: license (for everything related to LICENSE) and go (for lang/go).
2018-05-16mk/*: improve documentation for "make help"rillig1-1/+16
2018-01-13Introduce TEST_DEPENDS.joerg1-1/+2
Place them in ALL_DEPENDS iff PKGSRC_RUN_TESTS is set, so that bulk builds will pick them up.
2017-08-07Remove hack working around NetBSD 1.5's specfiles.maya1-2/+1
2017-06-01Provide switch to activate new frameworks to replace "pkginstall".jlam2-2/+8
If ${_USE_NEW_PKGINSTALL} is "yes", then use the new "pkgtasks", "init", and "pkgformat/pkg"-scripts frameworks instead of the existing "pkginstall" framework.
2016-04-10Remove support for USE_DESTDIR=no.joerg1-2/+1
2016-03-10Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, thesejperkin1-3/+1
variables are unused and in at least one case were completely wrong anyway.
2015-07-04Remove USE_X11BASE and X11PREFIX.joerg1-2/+1
2012-12-06Introduce PKGGNUDIR as a way to control gnu prefix.jperkin1-1/+2
By default pkgsrc uses LOCABASE/gnu as a prefix for packages to install native versions of GNU tools, which are them symbolically linked back to the 'g' versions of the files in LOCALBASE, and users can then add LOCALBASE/gnu/bin to PATH to pick up those tools. On systems where the GNU environment is desired, PKGGNUDIR now allows users to install the non-'g' files directly into LOCALBASE, making them the default without having to alter PATH, whilst retaining the 'g' files in order to ensure dependencies and tool paths remain the same.
2012-05-27"rebuild" and "retest" targets were added (by analogy with "reinstall").cheusov2-2/+41
rebuild is a special target to re-run the build target. retest is a special target to re-run the test target.
2012-05-02As described in comments, export ${TEST_ENV} instead of ${MAKE_ENV} to testobache1-2/+2
make process.
2011-09-08Introduce PKGSRC_SETENV, defaulting to SETENV. Can be set to ${SETENV} -iabs3-6/+7
to santise environment
2010-02-01Pass down PKGINFODIR just like PKGMANDIR is passed down.joerg1-1/+2
2009-01-10run ${_ULIMIT_CMD} in build-env targettnn1-3/+3
2008-12-04Added MAKE_ENV and MAKE_FLAGS to the list of important variables.rillig1-2/+2
2008-11-05Mentioned PKGSRC_RUN_TEST using the standard formatting.rillig1-1/+6
2008-02-13Added keywords for "bmake help".rillig1-1/+2
2008-02-07Replaced _PKG_SILENT and _PKG_DEBUG with RUN.rillig3-12/+12
2008-01-04Made the .include directives simpler, since the directory of therillig1-3/+3
including file is always the first in the search path.
2007-12-01Removed _INTERACTIVE_COOKIE, after asking on tech-pkg if anyone needsrillig2-6/+4
it. It had only been used to change the "nerrors" variable in bulk builds, but this variable is not used further anyway.
2007-11-30Since the "build" target is run inside the pkgsrc barrier, "build-env"rillig1-1/+5
gets the same treatment.
2007-08-13Fixed the definition and the documentation of MAKE_PROGRAM.rillig1-7/+8
2007-06-13Added the keyword "parallel" to the description of MAKE_JOBS_SAFE.rillig1-1/+3
2007-03-18Documented MAKE_JOBS_SAFE.rillig1-1/+7
2007-03-15For all those who are interested in the inner workings of pkgsrc, thererillig3-3/+17
is a new target "show-all" that fits to the existing "debug", "show-tools", "show-vars" targets. It prints a list of the variables that make up the public interface to pkgsrc. Running this target is especially useful if you want to do some things, you know that they must have been implemented but you don't know what it is called. It also shows the "class" of a variable (user-defined, package-defined, system-defined).
2007-03-08Moved the build-env target from bsd.pkg.debug.mk to build/build.mk. Itrillig1-1/+13
is no longer available to packages that set NO_BUILD. Added the variable BUILD_ENV_SHELL, since I prefer a comfortable shell over /bin/sh for interactive work.
2007-02-06Documented NO_BUILD.rillig1-1/+8
2007-01-28More documentation for the purpose of this file and a tiny wordingrillig1-4/+11
improvement for TEST_DIRS.
2007-01-27Document TEST_TARGET with help from Alistair Crooks.uebayasi1-1/+4
2006-12-15Remove trailing spaces.martti1-2/+2
2006-11-09Moved the portability checks from the configure/ directory to checks/,rillig1-1/+2
since according to the comment in check/bsd.check.mk, they belong there. Added a new check for all C and C++ header files to make sure they don't contain strings like ${prefix} or ${exec_prefix}, which is currently a problem with sysutils/dbus and has been noticed in PR 35019. This check is disabled by default since I don't know anything about possible false positives, but I plan to enable it for PKG_DEVELOPERs after some testing. Added two names for hooks that are placed in the configure and in the build phase. Now the checks look more like becoming something one could call a framework, sharing a common structure and a documented interface.
2006-10-26Changed BUILD_MAKE_FLAGS and TEST_MAKE_FLAGS to be appended to therillig2-10/+48
common MAKE_FLAGS instead of overriding them, to align with the new definition of INSTALL_MAKE_FLAGS. The packages that override BUILD_MAKE_FLAGS don't have to be changed, since they prepended MAKE_FLAGS to BUILD_MAKE_FLAGS, except for less than five cases. In those cases, it may well have been unknown to the package author that MAKE_INSTALL_FLAGS had been an overriding variable instead of one whose value is just appended to something else. Some packages (postgresql, some compilers, Java environments, qcad) are using code copied from build.mk. These packages will have to be adjusted to the new variable definitions. To make this change easier, two new variables BUILD_MAKE_CMD and TEST_MAKE_CMD have been introduced that contain the complete command that makes up the call to make(1). This prevents further code duplication.
2006-10-05Add experimental support for -j jobs building in the buildreed1-3/+9
target. MAKE_JOBS is undefined by default. You can test this by setting in mk.conf: MAKE_JOBS=5 for example. Some package just won't build correctly with this -- these individual packages can set MAKE_JOBS_SAFE=no to disable it. This is based on discussion from last December 2005. Some pkgsrc users are using ideas like this. Note I have been using this since December 2005 on various single processor and multiprocessor systems. (Once I kept some stats on performance but have misplaced that now.) I haved tested this with many packages (but not a bulk build) on Linux, NetBSD and DragonFly. This commit doesn't include the commits for the MAKE_JOB_SAFE. As this is experimental it needs more testing. Some examples of problems are: comms/lrzsz, databases/gramps2, editors/vim, graphics/MesaLib, graphics/netpbm, net/bind9, print/ghostscript-esp, textproc/libxml, and www/lynx.
2006-09-09Rename variable MAKEFILE to MAKE_FILE, as suggested in PR 28392.obache3-8/+8
2006-07-22Modify the barrier so that we always invoke the recursive make processjlam3-6/+6
when passing through the barrier. This ensures the PATH (passed via PKGSRC_MAKE_ENV) is correctly set for all phases after the barrier. This fixes a bug in "interactive" pkgsrc use, where if you have no work directory and type "make build && make install", then the "install" step does not have a PATH set to include all the wrapper and tools directories.
2006-07-21"BUILD_ENV" was misnamed. It's actually the environment that is passedjlam1-2/+2
to all internal recursive make processes. As such, rename it to "PKGSRC_MAKE_ENV". XXX Note, some of the usage of this variable in package Makefiles seems XXX incorrect. They probably want "MAKE_ENV", which is the environment XXX passed to the make process when running "make" within ${WRKSRC}.