Home | History | Annotate | Download | only in mk
History log of /src/share/mk/Makefile
RevisionDateAuthorComments
 1.52  18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.51  27-Aug-2019  kamil Enhance the support of LLVM sanitizers

Define _REENTRANT for MKSANITIZER build. This is needed for at least stdio
code. This caused new build issued with duplicated symbols in few places
and rump kernel code picking different code paths borrowed from libc.
Handle all this in one go.

Add bsd.sanitizer.mk to share common code used by programs and libraries.

Switch from realall to beforeinstall target in .syms files. This is more
reliable in MKSANITIZER.
 1.50  28-May-2018  christos branches: 1.50.2; 1.50.4;
install bsd.hostinit.mk
 1.49  16-Jan-2014  christos branches: 1.49.24;
eliminate use of bsd.sys.mk from Makefiles
 1.48  14-Jan-2014  christos use bsd.syscall.mk
 1.47  15-Nov-2012  joerg Move the build_install logic from lib/Makefile into share/mk and re-use
it for tools. The existing logic broke for the LLVM build with the
recent .ORDER changes in make.
 1.46  07-Oct-2011  plunky branches: 1.46.2; 1.46.8;
install bsd.lua.mk into DESTDIR
 1.45  11-Sep-2011  mbalmer Install new shiny bsd.clean.mk
 1.44  27-Aug-2011  joerg Add new "analyze" command to run clang's static analyzer in a directory
on all C/C++ files.
 1.43  07-Aug-2010  christos don't forget to install bsd.ioconf.mk
 1.42  12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.41  02-May-2008  ad - Add a bsd.kmodule.mk to build new style modules.
- Set the file suffix to .kmod
 1.40  12-Nov-2007  jmmv branches: 1.40.6; 1.40.8;
Add the bsd.test.mk file

This file simplifies the build of test programs, either written in C++
or in sh. It hides the internals of atf, e.g. by silently linking
against -latf or calling atf-compile.

It also takes care of installing an Atffile for each new test directory.
 1.39  05-Aug-2007  pooka branches: 1.39.2; 1.39.4;
install bsd.klinks.mk
 1.38  12-Sep-2003  lukem <bsd.x11.mk>: infrastructure to support reach-over builds of xsrc
 1.37  31-May-2003  thorpej If EXTERNAL_TOOLCHAIN is defined, allow the compiler to define the
location of crt{begin,end}{,S}.o and libgcc.a. Encapsulate all of
this logic into the new bsd.gcc.mk, and use it in bsd.prog.mk and
bsd.lib.mk.
 1.36  05-Jan-2003  sommerfeld Add bsd.rpc.mk to FILES
 1.35  27-Sep-2002  thorpej Only use the MKDYNAMICROOT semantics (i.e. -rpath=/lib,/usr/lib and
-dynamic-linker=/libexec/ld.elf_so) if the BINDIR of the program being
built is /bin or /sbin.

The reason we do this is because now all programs *except* those in
/bin and /sbin (i.e. the "special cases") match the default the compiler
uses, which is what is used for things in e.g. xsrc, pkgsrc, and other
random 3rd party programs.

This is done by decoupling where a shlib is installed from how it
is located. Two new variables, SHLIBINSTALLDIR and SHLINKINSTALLDIR,
contain the former information, and key off MKDYNAMICROOT only. SHLIBDIR
and SHLINKDIR contain the latter, and key off MKDYNAMICROOT and BINDIR.

The SHLIBINSTALLDIR, SHLIBDIR, _LIBSODIR, SHLINKINSTALLDIR, and
SHLINKDIR parameters are moved to a new <bsd.shlib.mk>; see bsd.README
for usage details.
 1.34  30-May-2002  itojun have bsd.endian.mk, which detects target endian.
generate *.db in target endian. (see tech-userlevel for discussions)
 1.33  14-Dec-2001  explorer branches: 1.33.2;
install bsd.hostlib.mk, since bsd.hostprog.mk is and things in /usr/src/tools wants it.
 1.32  12-Dec-2001  lukem Set NOxxx= before <bsd.own.mk> is pulled in (even indirectly).
Otherwise the appropriate MKxxx=no won't be defined .
 1.31  12-Dec-2001  tv MKfoo=no -> NOfoo
 1.30  02-Nov-2001  tv Improve readability and reduce redundant redundancy in share/mk; add some
descriptive comments. The guts of hostprog, lib, and prog are mostly
unchanged; this will be done in another pass.

Make several things work properly with UNPRIVILEGED set, and make the
install-time "cmp" logic work for MANZ. Also reimplement INCS{DIR,NAME}_foo
(requested by wiz) in a backwards compatible way.

Reviewed by christos.
 1.29  20-Jun-2000  thorpej branches: 1.29.2;
Merge a bunch of things from crypto-us and crypto-intl into basesrc,
adding support for Heimdal/KTH Kerberos where easy to do so. Eliminate
bsd.crypto.mk.

There is still a bunch more work to do, but crypto is now more-or-less
fully merged into the base NetBSD distribution.
 1.28  02-May-2000  sjg branches: 1.28.2;
Added bsd.kernobj.mk to centralize the magic for the location
of kernel configs and compiles. Relies on BSDSRCDIR being set
which is now handled by src/Makefile.inc if need be.
 1.27  14-Sep-1999  perry Add a "dependall" target, which does a "make depend" and then "make all"
in a single directory. This is useful in "make build" because by doing
the build immediately after the depend, all sources will typically
still be in the buffer cache, thus saving significant time over doing
a "make depend" on all the directories and then a "make all".
 1.26  14-Jul-1999  wrstuden Add bsd.hostprog.mk, a makefile for making programs used during
the build which will run on the build machine.
 1.25  12-Jul-1999  thorpej Install bsd.crypto.mk.
 1.24  13-Feb-1999  lukem convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
 1.23  11-Feb-1999  tv Create <bsd.info.mk> for Info documentation, and avoid the nasty install
stuff duplication by expressing it in terms of <bsd.files.mk>. Allow for
multiple inclusion of <bsd.files.mk> by clearing ${FILES} at the end, and
using FILES+= rather than FILES= in <bsd.info.mk>.
 1.22  27-Sep-1998  lukem don't build/install nls files if NOSHARE defined
 1.21  12-Jun-1998  cgd add bsd.kinc.mk, a template to support the new kernel include file
installation mechanism.
 1.20  14-Apr-1998  agc Move bsd.port.mk and bsd.port.subdir.mk into pkgsrc/mk (by CVS
repository copy), which is a much better place for them. Update the
Makefile to reflect these changes.
 1.19  09-Sep-1997  agc branches: 1.19.2;
Install bsd.port.mk and bsd.port.subdir.mk.
This is part of the FreeBSD ports system.
 1.18  29-Mar-1997  mikel merge lite-2 changes (mostly SCCSids)
 1.17  27-Mar-1997  christos Add bsd.files.mk
 1.16  25-Mar-1997  christos Add the bsd.links.mk and bsd.inc.mk
 1.15  24-Mar-1997  christos make rules update:
- add UPDATE and BUILD features
- add new FILES, INCS, SCRIPTS variables
- allow man pages source installation
 1.14  18-Oct-1996  thorpej Use ${INSTALL}.
 1.13  23-Aug-1996  mrg make lkm's work. still need to worry about options defines...
 1.12  22-Oct-1995  christos Added include file <bsd.sys.mk> that contains lex and yacc "parallel aware"
rules. These rules are not turned on by default; they are enabled by setting
the PARALLEL variable.
 1.11  26-Apr-1995  jtc install bsd.nls.mk
 1.10  30-Jun-1994  cgd RCSID frobbing, and minor sanity adjustments.
 1.9  02-Jun-1994  jtc Change BINOWN -> BINGRP where appropriate.
 1.8  09-Feb-1994  cgd kill install -d's.
 1.7  15-Aug-1993  mycroft Get rid of empty targets; the defaults are now correct.
 1.6  15-Aug-1993  mycroft Makefile: Use `install -d' to create directory.
bsd.dep.mk: Add defaults for `beforedepend' and `afterdepend'.
sys.mk: 8 tabs --> space
 1.5  15-Aug-1993  mycroft Install bsd.dep.mk and bsd.obj.mk.
 1.4  31-Jul-1993  mycroft Add RCS indentifiers.
 1.3  09-Apr-1993  cgd various changes to default make rules. from patch 101.
note that only the "sensible" changes in patch 101 are implemented.
 1.2  08-Apr-1993  cgd try to do the right thing, in terms making directories before we
install into them, and get the manpage cleans _OUT_ of "clean".
they don't belong there, only in cleandir, WFJ be damned.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2  29-Mar-1997  mikel import 4.4BSD-Lite2 versions
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.19.2.1  05-May-1998  mycroft Remove deleted files.
 1.28.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.29.2.2  20-Jun-2000  thorpej Merge a bunch of things from crypto-us and crypto-intl into basesrc,
adding support for Heimdal/KTH Kerberos where easy to do so. Eliminate
bsd.crypto.mk.

There is still a bunch more work to do, but crypto is now more-or-less
fully merged into the base NetBSD distribution.
 1.29.2.1  20-Jun-2000  thorpej file Makefile was added on branch netbsd-1-5 on 2000-06-20 06:00:36 +0000
 1.33.2.1  30-May-2002  tv Pull up revision 1.34 (requested by itojun in ticket #100):
have bsd.endian.mk, which detects target endian.
generate *.db in target endian. (see tech-userlevel for discussions)
 1.39.4.2  05-Aug-2007  pooka install bsd.klinks.mk
 1.39.4.1  05-Aug-2007  pooka file Makefile was added on branch matt-mips64 on 2007-08-05 21:50:33 +0000
 1.39.2.1  09-Jan-2008  matt sync with HEAD
 1.40.8.1  18-May-2008  yamt sync with head.
 1.40.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.46.8.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.46.8.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.46.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.46.2.1  16-Jan-2013  yamt sync with (a bit old) head
 1.49.24.1  25-Jun-2018  pgoyette Sync with HEAD
 1.50.4.1  01-Sep-2019  martin Pull up following revision(s) (requested by kamil in ticket #126):

external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_minimal-m64/Makefile: revision 1.3
external/bsd/compiler_rt/lib/clang/lib/netbsd/msan_cxx-m64/Makefile: revision 1.3
external/gpl2/lvm2/lvm2tools.mk: revision 1.5
common/lib/libc/gmon/mcount.c: revision 1.14
Makefile: revision 1.331
share/mk/Makefile: revision 1.51
external/bsd/fetch/lib/Makefile: revision 1.12
external/bsd/compiler_rt/lib/clang/lib/netbsd/asan_cxx-m64/Makefile: revision 1.3
tests/lib/libc/net/Makefile: revision 1.12
external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone_cxx-m64/Makefile: revision 1.3
external/bsd/compiler_rt/lib/clang/lib/netbsd/msan-m64/Makefile: revision 1.3
distrib/sets/lists/base/mi: revision 1.1213
share/mk/bsd.lib.mk: revision 1.380
external/bsd/compiler_rt/lib/clang/lib/netbsd/ubsan_standalone-m64/Makefile: revision 1.3
external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-m64/Makefile: revision 1.3
share/mk/bsd.sanitizer.mk: revision 1.1
share/mk/bsd.prog.mk: revision 1.323
external/bsd/compiler_rt/lib/clang/lib/netbsd/tsan-m64/Makefile: revision 1.3
external/bsd/compiler_rt/lib/clang/lib/netbsd/tsan_cxx-m64/Makefile: revision 1.3
lib/libc/gen/sysctlgetmibinfo.c: revision 1.14

Enhance the support of LLVM sanitizers

Define _REENTRANT for MKSANITIZER build. This is needed for at least stdio
code. This caused new build issued with duplicated symbols in few places
and rump kernel code picking different code paths borrowed from libc.

Handle all this in one go.

Add bsd.sanitizer.mk to share common code used by programs and libraries.

Switch from realall to beforeinstall target in .syms files. This is more
reliable in MKSANITIZER.
 1.50.2.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411

RSS XML Feed