Home | History | Annotate | Download | only in mk
History log of /src/share/mk/sys.mk
RevisionDateAuthorComments
 1.150  20-Oct-2025  nat New port: mac68ksf - Macintosh 68k softfloat.

This commit is all the Makefile glue for the new port which is the mac68k
port with MKSOFTFLOAT set to "yes".

As posted here:
https://mail-index.netbsd.org/port-mac68k/2025/10/14/msg001037.html
 1.149  29-Dec-2023  wiz Update ARFLAGS for new binutils.

In binutils 2.34, 'l' was a no-op.
In binutils 2.39, it is used to specify library dependencies.

Remove 'l' from ARFLAGS.

From Takahiro Kambe in PR 57565.
 1.148  14-Dec-2021  christos branches: 1.148.2;
Pass W with IDU for lint and deps.
 1.147  28-Nov-2021  rillig sys.mk: fix duplicate character in character class of LINTFLAGS

The character class contained two times U+0020, which makes one of them
redundant, so remove the character class. PR toolchain/18248 already
contained these two spaces.

Apparently there is no need to support tabs in this place, otherwise
someone would have noticed it in the 17 years since this pattern had
been added in sys.mk 1.83 from 2004-01-27.

No functional change.
 1.146  23-Mar-2021  christos From Greg A. Woods:
- add LDSTATIC to all the LINK rules, replacing CPPFLAGS which should not be
used
- create new COMPILE_LINK rules that are like LINK rules but have CPPFLAGS
where appropriate
 1.145  22-Mar-2021  christos Fix the shuttle rules by defining a new EXEC_TARGET instead of re-using
OBJECT_TARGET which adds an extra .o sometimes. Noticed by Greg A. Woods
 1.144  09-Nov-2020  christos - make the CTFCONVERT command lines consistent and concise by putting all
the implementation stuff in a variable CTFCONVERT_RUN
- introduce an OBJECT_TARGET variable that contains the output object file
- when we need to run ctfconvert, go through an intermediate ${.TARGET}.o
file, instead of writing directly to ${.TARGET} and then overwriting
${.TARGET} with ctfconvert. This avoids build failures after a build
got interrupted (the "partially built from C" scourge).
 1.143  08-Feb-2020  maya Don't special case aarch64 and add -fomit-frame-pointer to builds.

This behaviour is probably due to a past behaviour of clang, where it
always emitted frame pointer code.
This is no longer true for clang on netbsd, and I don't think it was true
for GCC.

Meanwhile, this flag bleeds into pkgsrc where it breaks random packages,
requiring workarounds like lang/ruby*-base/hacks.mk.
 1.142  08-Jan-2020  christos Back out previous. This has no chance to work unless the make variable parsing
is not changed do that instead of scanning for a single character delim ':',
it scans for "?:". This is because !empty(COMPILE.c:M*-pg*) contains a ':'.
 1.141  08-Jan-2020  christos tweak the DBG rule that -fomit-frame-pointer for aarch64 when profiling
(because the compiler complains), to use a match with the compile flags
and *pg*, instead of using a match to a target suffix (which is NetBSD
build-specific). Pointed out by phone@.
 1.140  20-Dec-2019  christos move MV to sys.mk because it is used there. Pointed out by joerg@
 1.139  07-Apr-2019  christos branches: 1.139.2;
Add -r so that we get the location of redefinitions
 1.138  21-Jan-2019  christos Most of the mv operations are to move temporary files to their final place.
Some use -f, others don't. This can lead to spurious build failures when
the user performing the build changes. Centralize, and always use -f.
 1.137  13-Aug-2018  christos remove random seed debugging
 1.136  10-Jul-2018  christos Back to always using just the list of sources for the hash. Hopefully this
is reproducible now.
 1.135  10-Jul-2018  christos Build seed fixes:
- use MKREPRO_TIMESTAMP as the seed if available.
- skip relative paths that cannot be normalized if it is not
XXX: pullup-8
 1.134  09-Jul-2018  martin Debug hack: print out full random-seed for C++ compile/link.
 1.133  22-Jun-2018  maya branches: 1.133.2;
Add comment describing why we remove -Wsystem-headers, requested by mrg.
 1.132  20-Jun-2018  maya Strip -Wsystem-headers from CXXFLAGS.

GCC's C++ headers are not clean (yet). They are trying, but haven't got there
yet.

Necessary for including <atf-c++.hpp> which uses <sstream>.
 1.131  20-May-2018  christos Also substitute ${X11SRCDIR} for the random seed for reproducible builds so
that the random seed is consistent.
XXX: pullup-8
 1.130  25-Feb-2018  chs branches: 1.130.2;
add DTRACE_OPTS and HOST_DTRACE_OPTS to allow disabling various optimizations
that interfere with using dtrace. use them when MKDTRACE=yes.
 1.129  30-Mar-2016  martin branches: 1.129.8;
Remove hacks for ancient vax gcc
 1.128  06-Jul-2015  chs reapply some fixes to make multi-threaded ctfmerge work
that were lost in the overzealous resync with freebsd.
remove the hacks which were applied to work around those problems.
 1.127  10-Aug-2014  matt branches: 1.127.2;
Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only. While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
 1.126  06-Aug-2014  apb Wrap CTFCONVERT invocations in ${defined(CTFCONVERT):? ... :}
so it performs the test at the time the rule is invoked. We can't
use a ".if defined" test because that would be tested at the time the
sys.mk file is parsed, which may be before CTFCONVERT has been set by
bsd.own.mk.

Remove the now-unnecessary assignment "CTFCONVERT ?= : ctfconvert",
and the similar assignment to CTFMERGE. Now the build logs are not
cluttered by many unnecessary invocations of the ": ctfconvert ..."
 1.125  29-Jun-2014  tsutsui Use "-O2 -fno-reorder-blocks" instead of "-Os" for m68k default optimization.

"-Os" was specfied when gcc 4.5.x was imported and the commit log says
"-O2 produces much bigger code with gcc 4.5 than it did with gcc 4.1"
but "-Os" disables most inline declarations and makes some applications
much slower. "-O2 -fno-reorder-blocks" seems enough to reduce sizes
and disabling -freorder-blocks wouldn't cause particular performance
impact on ancient m68k machines with small cache memories.
See my post on port-m68k@ for more details:
http://mail-index.NetBSD.org/port-m68k/2014/06/22/msg000488.html

No objection in the thread and "seems fine to me" from mrg@.
 1.124  18-Apr-2014  christos Add -g (gnu) so lint recognizes __attribute__
 1.123  03-Apr-2014  riastradh branches: 1.123.2;
By default define CTFCONVERT and CTFMERGE to be no-ops in sys.mk.

Don't test for /usr/bin/ctfconvert or /usr/bin/ctfmerge -- that is
completely bonkers and breaks the build if the host's ctfconvert and
ctfmerge are too old.

Strip the broken conditionals in the .c.o &c. rules.

bsd.own.mk will override CTFCONVERT and CTFMERGE with TOOL_CTFCONVERT
and TOOL_CTFMERGE if MKCTF=yes.

XXX The way CTFCONVERT and CTFMERGE are integrated into the rules is
bogus -- it is not safe to interrupt them. We need some intermediate
object to do this right.

Please let me know if I broke anything with this -- I am not an elvin
or dwarven wizard, nor a dtrace expert. But this has been breaking
builds for ages now and nobody else seems to want to do anything
about it.
 1.122  09-Mar-2014  christos XXX: use only thread for ctfmerge
 1.121  09-Mar-2014  christos Elide ctfmerge bug.
 1.120  02-Jan-2014  christos disable ctf handling for the shuttle .c -> '' rule since we don't create
an object file to work on.
 1.119  31-Dec-2013  christos redo the ctf stuff to handle the USETOOLS=never case correctly and explain
how.
 1.118  01-Nov-2013  christos ignore all -std=gnu patterns not just 99
 1.117  18-Jul-2013  matt Test BSD makefile about coldfire.
XXX still hate m68k--netbsdelf-coldfire
 1.116  06-Mar-2013  yamt branches: 1.116.4;
don't make ctfconvert remove original debug info
 1.115  26-Jan-2013  christos CTFCONVERT complains and coredumps for c++
 1.114  26-Jan-2013  christos CTFCONVERT me harder.
 1.113  18-Jan-2013  christos Now that ctf is fixed for at least amd64, go back to an equivalent to the
original functionality, use the tool only if it exists.
 1.112  17-Jan-2013  christos Disable CTF Conversion for now until it is fixed.
- ERROR: ctrl_iface_ap.c: die 2767: failed to get unsigned: No entry found
[dwarf _attrval_unsigned(219)]
 1.111  17-Jan-2013  christos Remove bogus conditionals that were also copied to other files presumably
because they did not work from here, and explain why.
 1.110  06-Oct-2012  christos old-style-definitions and no-format-zero-length are invalid for c++
 1.109  22-Jun-2012  abs branches: 1.109.2;
Switch -current vax back to gcc 4.1 to match netbsd-6 - until someone has
time to look at the gcc 4.5 codegen issues we should at least have a usable
-current for vax.
 1.108  10-Feb-2012  matt branches: 1.108.2;
Switch VAX to use GCC 4.5 and GDB 7.
Change VAX to use DBG=-O2 like most other ports.
 1.107  31-Oct-2011  chs branches: 1.107.2;
switch everything except vax to gcc 4.5.
switch m68k to -Os since -O2 produces much bigger code
with gcc 4.5 than it did with gcc 4.1.
 1.106  20-May-2011  joerg Fully support per-target AFLAGS.
 1.105  07-Apr-2011  joerg Compute the build seed using :hash.
 1.104  21-Jan-2011  joerg Switch remaining platforms to modern CPP for assembler.
 1.103  17-Jan-2011  joerg branches: 1.103.2;
Move SPARC and SPARC64 to modern CPP. Update UPDATING note for this and
Alpha.
 1.102  16-Jan-2011  joerg Alpha doesn't need -traditional-cpp for assembler.
 1.101  12-Jan-2011  joerg Allow use of traditional CPP to be set on a per platform base in sys.mk.
Honour this for dependency processing in bsd.dep.mk. Switch i386 and
amd64 assembly to use ISO C90 preprocessor concat and drop the
-traditional-cpp on this platform.
 1.100  02-Mar-2010  darran DTrace: Add CTF generation to the make framework. Only enabled when
MKDTRACE=yes.
 1.99  07-Sep-2008  kent Remove -Wno-pointer-sign and -ffreestanding from CXXFLAGS. g++
doesn't support for them.
 1.98  04-Aug-2008  joerg When compiling C++ sources and BUILDSEED is set, pass down
-frandom-seed with a reduced version of .ALLSRC and .TARGET
as argument. This allows bit-identical builds of C++ files.
 1.97  06-May-2008  uwe branches: 1.97.2;
For sh3 set default DBG to "-Os -freorder-blocks" which is almost like -O2
but without -falign-* that is too zealous for low-memory sh3 machines.
 1.96  04-May-2008  tsutsui There is only one more file which requires HACKS for m68000,
so handle it in each Makefile rather than sys.mk.

These ICEs might be related with GCC Bugzilla Bug 32424
which is not resolved yet even in the upstream.
 1.95  27-Apr-2008  tsutsui Enable gcc optimization on m68000 (sun2) again with minimum hacks.
gcc -O0 generates a bit fat binaries.
 1.94  09-Feb-2008  mrg branches: 1.94.4; 1.94.6;
make all sun2 use -O0 and move most of the hacks out into just 3 files.
 1.93  09-Jan-2008  simonb Remove support for NetBSD/pc532.
 1.92  15-Apr-2007  matt branches: 1.92.4;
-O1 on vax isn't quite enough, add -fgcse -fstrength-reduce -fgcse-after-reload
too. We can build again.
 1.91  14-Apr-2007  matt For now, make vax default to -O not -O2
 1.90  08-Apr-2007  scw Remove support for NetBSD/{,evb}sh5.
 1.89  22-Jan-2007  christos delete "-std=gnu99" from c++ flags. From mrg.
 1.88  26-Aug-2006  matt branches: 1.88.2;
Make sure to compile things at -O2 for mips64e[bl]
 1.87  25-Jun-2006  lukem Move LDFLAGS to the CC section instead of the LD section.
 1.86  12-May-2006  mrg like we do for -Wno-traditional, remove -Wstrict-prototypes and
-Wmissing-prototypes from C++ since those are always requird for C++.
 1.85  25-Dec-2005  perry add "S" to LINTFLAGS so that "inline" is accepted by lint
 1.84  07-Aug-2004  chs turn on -O2 for hppa.
 1.83  27-Jan-2004  lukem Replace
:M-[IDU]*
with
:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*
so that arguments with whitespace after them work correctly.
Resolves [toolchain/18248] from Andrew White at Motorola.

Be consisent in this syntax; previously we'd sometimes we'd just have :M-[ID]*
which would ignore -Ufoo ...

(This needs :C///W support in make(1) that Simon Gerraty added for me :)
 1.82  26-Dec-2003  christos no-traditional is not a valid warning for c++ programs.
 1.81  07-Dec-2003  simonb Use -O2 for ns32k now.
 1.80  08-Nov-2003  lukem The order of items in .SUFFIXES is extremely important!
Revert part of previous and put `.s .S' before `.c' again.

(Fixes recent libkern lossage.)
 1.79  08-Nov-2003  lukem Trim .SUFFIXES to only contain those used in this file.

Reorder some variables appropriately.

Add chmod a+x in .sh:, as per SUSv3.
 1.78  19-Sep-2003  martin Drop explicit medlow model and default to -O2 for sparc64.
 1.77  27-Jul-2003  uwe Conditions for sh5 when setting DBG to be empty were deleted (moved)
in 1.72, but brought back accidentally in 1.73. That was harmless,
anyway, as sh5 conditions in their new place get matched earlier.
 1.76  27-Jul-2003  lukem be consistent: use ${.TARGET} for $@ and ${.PREFIX} for $*
 1.75  18-Jul-2003  lukem whitespace cleanup
 1.74  04-May-2003  fvdl Default to -O2 for x86_64.
 1.73  29-Mar-2003  fvdl gcc for x86_64 should be safe enough these days to enable -O by default.
 1.72  21-Jan-2003  scw The sh5 toolchain works fine with -O2 now.
 1.71  26-Nov-2002  thorpej The traditional C preprocessor is fixed in GCC 3.3 now, so no need
to skip -traditional-cpp for HAVE_GCC3.
 1.70  11-Jul-2002  scw SH5 Makefile Magic.
 1.69  01-Jul-2002  fredette Like on x86_64, don't use -O at all with the hppa compiler.
 1.68  04-Jun-2002  thorpej Don't use -traditional-cpp if HAVE_GCC3.
 1.67  04-Jun-2002  thorpej Add case for armeb.
 1.66  08-Apr-2002  wiz branches: 1.66.2;
No more arm32.
 1.65  27-Mar-2002  eeh Reserve %g4 for backwards compatibility with the old ABI.
 1.64  24-Mar-2002  bjh21 MACHINE_ARCH == "arm26" hasn't been valid for some time, so don't check
for it.
 1.63  19-Dec-2001  tv Remove -Wa,-Av9a hack from <sys.mk> and relegate it to the places that need
it (kernel and libc).

The current version of the gas assembler in the tree (2.11.2) already
defaults to generating object files for "-Av9 -64", supporting V9
instructions in ELF64 object format. "-Av9a" is only needed for specific
parts of the NetBSD base sources, and not for all third-party code.
 1.62  17-Sep-2001  mycroft Use -O2 on PowerPC.
 1.61  23-Jul-2001  matt Make arm use -O2
 1.60  29-Jun-2001  eeh Tell the assembler to accept UltraSPARC extensions on sparc64.
 1.59  19-Jun-2001  fvdl Add some extra flags for the x86-64 port. Disable -O in sys.mk
(which is where all ports set it); there seem to be some lurking
optimization bugs for the x86-64.
 1.58  22-Aug-2000  bjh21 Switch arm26 to -O2. Most of my kernels are compiled with this anyway,
and gcc's code generation should be the same as for arm32, so I think this
is safe.
 1.57  02-May-2000  sjg Allow optimizer/debug flags to be changed on command line without
breaking everything. Eg. use DBG="-O0 -g" when debugging something.
 1.56  15-Nov-1999  matt VAX should use -O2. (why don't all ports?)
 1.55  13-Nov-1999  jdolecek merge build rules for files ending .cc and .C
add support for C++ source files ending .cpp and .cxx
 1.54  10-Mar-1999  mycroft branches: 1.54.8;
alpha seems to work with -O2...
 1.53  24-Feb-1999  drochner add missing parts of the "mips"->"mipse?" transition
 1.52  12-Feb-1999  lukem * Add support for MKDOC MKLINKLIB MKLINT MKMAN MKNLS MKOBJ MKPIC MKPICINSTALL
MKPROFILE MKSHARE, which default to `yes' unless an equivalent NOxxx
variable is defined.
* Add MKCATPAGES, which if "no" prevents catpages from being built or installed

Users should use "MKxxx=no" instead of "NOxxx=" in /etc/mk.conf, because
this allows easy override on the make(1) command line (e.g 'make MKSHARE=yes'
to override MKSHARE=no in /etc/mk.conf).
 1.51  06-Feb-1999  simonb Back out previous backout of -O2 in mips. Bug in strtod.c fixed via
Niklas Hallqvist.
 1.50  05-Feb-1999  simonb _Don't_ use -O2 on mips, libc/stdlib/strtod.c breaks
 1.49  21-Jan-1999  mycroft Use -O2 on arm32.
 1.48  18-Jan-1999  christos Add -F to LINTFLAGS so that the full pathname is printed.
 1.47  12-Jan-1999  simonb Use -O2 on mips.
 1.46  12-Dec-1998  thorpej Use -O2 on m68k.
 1.45  26-Nov-1998  mycroft Use -O2 on SPARC.
 1.44  22-Nov-1998  mycroft Use -O2 on i386.
 1.43  22-Aug-1998  tv Fix the .c.a brokenness with libbfd the "right" way - nuke everything but
*o from .ALLSRC.
 1.42  22-May-1998  tv Apply same .c.a workaround from alpha to arm32
 1.41  09-Apr-1998  tv The C++ compiler is "c++", not "g++"; that is more compatible with non-GCC
based C++ compilers.
 1.40  09-Apr-1998  tv .y.c <sys.mk> rule fixes. Don't create a y.tab.h file unless asked for,
and use smarter creation of the header file.
 1.39  01-Apr-1998  tv Revert. This broke too much in the build tree, and a better solution
needs to be created. (The existing situation breaks a lot too.)
 1.38  01-Apr-1998  tv Fix .y rules to DTRT with possibly generated .h files. See mail on
tech-toolchain for a very detailed explanation of this. In short, add
a .y.h rule identical to the .y.c rule and make the .y.c rule rename
the .h file; also, clean the .h file in CLEANFILES.
 1.37  05-Nov-1997  thorpej Fix .c.ln rule: use CPPFLAGS, not CFLAGS.
 1.36  04-Nov-1997  gwr Move definitions of: NM, LORDER, TSORT from bsd.sys.mk to sys.mk
so they are more easly used by things like sys/libkern/Makefile.inc
(Besides, all the other tool definitions are in sys.mk)
 1.35  03-Nov-1997  cgd add '-z' to LINTFLAGS, so that forward structure definions (for pointer
args, etc.), don't cause warnings if the structure isn't ever completely
defined.
 1.34  28-Oct-1997  lukem add default rules for Objective C sources (`.m' suffix):
- sys.mk:
add ${OBJC} and ${OBJCFLAGS} (equivalent to ${CC} and
${CFLAGS} respectively), and ${COMPILE.m} and ${LINK.m} rules
- bsd.sys.mk:
add .m, .m.o, and .m.ln rules (as per the C rules in sys.mk).
it's here, rather than in sys.mk, because `.m' isn't
exclusively used for Objective C files.
- bsd.lib.mk:
add .m.o, .m.po, .m.so, and .m.ln rules (as per C)
 1.33  31-May-1997  cjs branches: 1.33.2;
Back out BUILDDIR and NOINSTALL changes.
 1.32  27-May-1997  cjs Put include information in CPPFLAGS only (not in CFLAGS or MKDEPFLAGS).
Add note that CPPFLAGS is (or should be) passed to all programs that
pass input through cpp.
 1.31  17-May-1997  mycroft Remove unneeded .SUFFIXES lines, and move .s and .S closer to .o to give the
right preferences.
 1.30  29-Mar-1997  mikel merge lite-2 changes (mostly SCCSids)
 1.29  18-Oct-1996  thorpej Define an INSTALL make variable, and default it to "install". Suggested
by Simon J. Gerraty <sjg@zen.void.oz.au>, PR #1458.
 1.28  30-Sep-1996  thorpej Add "-traditional-cpp" to the COMPILE.S command, so that assembler
syntax (specifically, use of # to indicate an immediate value) isn't
misinterpreted as a CPP directive.
 1.27  10-Apr-1996  mycroft Remove broken hack that attempted to do the same as the previous.
 1.26  10-Apr-1996  mycroft Fix COMPILE.s so the output file is named correctly.
 1.25  29-Feb-1996  jtc Removed special handling of CPPFLAGS if DESTDIR is set. Third party
makefiles may use DESTDIR for something completely different.
 1.24  28-Feb-1996  jtc Default .s.o and .S.o left output in wrong file
 1.23  18-Dec-1995  cgd don't include the .c.a rule on the alpha. see p.r. 1488 for an
example of how make breaks when it's present. In particular, it causes
build of the compiler toolchain to fail if present, which keeps
a complete system from building, on the alpha.
 1.22  24-Sep-1995  christos - In preparation for parallel makes fix the library rules so that they
don't use a.out as intermediate output.
- Note in the README file that we cannot fix the xstr stuff.
We still need to fix lex and yacc.
- Allow overriding of the variables in sys.mk
 1.21  24-Jun-1995  cgd update lint rules, but keep linting disabled
 1.20  26-Jul-1994  mycroft Move the inclusion of bsd.own.mk to a better place.
 1.19  06-Jul-1994  mycroft branches: 1.19.2;
Use CPPFLAGS (previously defined but unused) to yank in include files from
${DESTDIR}/usr/include.
 1.18  30-Jun-1994  deraadt .m4 files are sources too
 1.17  30-Jun-1994  cgd RCSID frobbing, and minor sanity adjustments.
 1.16  27-Mar-1994  cgd add back inclusion of bsd.own.mk
 1.15  24-Mar-1994  jtc Added various COMPILE.? & LINK.? macros and changed suffix rules to use
them (Like Sun & GNU make).
 1.14  24-Mar-1994  jtc Now that single suffix rules work, uncomment them.
 1.13  31-Jan-1994  jtc Moved manpage formatting rules from sys.mk to bsd.man.mk.
Some programs (like ispell) use *.[0-8] for non-manpage things, and having
the manpage rules in sys.mk really messes things up.
 1.12  25-Jan-1994  cgd oops; kill two extra spaces.
 1.11  25-Jan-1994  cgd do the right thing if nroff doesn't work
 1.10  30-Dec-1993  jtc Comment out single suffix rules (until I can get a debugger that works).
 1.9  29-Dec-1993  jtc Added single suffix implicit rules. Rules for *.c & *.f files are required
by POSIX.2 --- I added the others (*.p, *.l, *.y, etc.) to be consistant
with all the other default rules.
 1.8  08-Sep-1993  brezak Add .S.o rule
 1.7  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.6  15-Aug-1993  mycroft Move man rules to sys.mk.
Use bsd.subdir.mk for building subdirectories.
Don't forget to remove x.cc and x.C when using SHAREDSTRINGS.
Make ${PROG} always depend on ${LIBCRT0}.
Don't duplicate code between cleandir and clean.
Move tags target to bsd.dep.mk.
Move STRIP to bsd.own.mk.
Remove redundant definitions of {BIN,MAN}{DIR,GRP,OWN,MODE}.
Move {LIB,DOC}{DIR,GRP,OWN,MODE} defaults to bsd.own.mk.
 1.5  17-Jul-1993  mycroft Combine some suffix rules.
 1.4  17-Jul-1993  mycroft Add suffix rules for C++ files.
 1.3  17-Jun-1993  mycroft Add global CXX and CXXFLAGS for compiling C++ programs. (These names are used
by some GNU stuff; if you have a better suggestion, please tell me.)
 1.2  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.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  26-Jul-1994  cgd from trunk.
 1.33.2.2  05-Nov-1997  thorpej Update from trunk: Fix .c.ln rule: use CPPFLAGS, not CFLAGS.
 1.33.2.1  04-Nov-1997  thorpej Pull up from trunk: add objective-c stuff, fix lint flags.
 1.54.8.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.66.2.1  05-Jun-2002  lukem Pull up revision 1.67 (requested by thorpej in ticket #158):
Add case for armeb.
 1.88.2.2  19-Jul-2007  liamjfoy Pull up following revision(s) (requested by soren in ticket #774):
build.sh: revision 1.169
gnu/usr.bin/gcc4/backend/Makefile: revision 1.9
sys/arch/evbsh5/README: revision 1.1
distrib/notes/common/contents: revision 1.124
usr.sbin/ndbootd/ndbootd.c: revision 1.12
gnu/lib/libopcodes/arch/sh3eb/defs.mk: revision 1.4
gnu/lib/libbfd/arch/sh3eb/defs.mk: revision 1.8
libexec/ld.elf_so/Makefile: revision 1.78
gnu/dist/binutils/bfd/config.bfd: revision 1.14
doc/HACKS: revision 1.93
distrib/cdrom/current.conf: revision 1.8
gnu/lib/libgcc4/Makefile.inc: revision 1.6
share/mk/sys.mk: revision 1.90
distrib/sets/lists/base/mi: revision 1.700
libexec/ld.elf_so/rtld.c: revision 1.112
distrib/sets/lists/base/mi: revision 1.702
sys/arch/sh5/README: revision 1.1
gnu/lib/libbfd/arch/sh3el/bfd.h: revision 1.7
usr.sbin/traceroute/traceroute.c: revision 1.69
distrib/notes/common/main: revision 1.330
distrib/notes/common/list-setsizes.sh: revision 1.2
sys/arch/Makefile: revision 1.35
gnu/lib/libopcodes/arch/sh3el/defs.mk: revision 1.4
gnu/lib/libbfd/arch/sh3el/defs.mk: revision 1.8
share/mk/bsd.own.mk: revision 1.495
gnu/lib/libbfd/arch/sh3eb/bfd.h: revision 1.7
x11/lib/OSmesa/Makefile: revision 1.20
sys/dev/dkwedge/dkwedge_bsdlabel.c: revision 1.13
gnu/dist/binutils/opcodes/configure.in: revision 1.2
gnu/dist/binutils/opcodes/configure: revision 1.2
gnu/usr.bin/send-pr/categories: revision 1.53
etc/mtree/NetBSD.dist: revision 1.339
sys/arch/README: revision 1.42
lib/libc/gdtoa/Makefile.inc: revision 1.6
usr.bin/crunch/crunchide/Makefile: revision 1.16
sys/lkm/net/bsdcomp/Makefile: revision 1.5
regress/sys/uvm/Makefile: revision 1.6
etc/MAKEDEV.awk: revision 1.18
x11/Xserver/GL/GLcore/Makefile.GLcore: revision 1.10
sys/contrib/dev/ath/netbsd/Makefile.ath.inc: revision 1.14
gnu/lib/libbfd/Makefile: revision 1.42
doc/RESPONSIBLE: revision 1.78
Remove evbsh5.
 1.88.2.1  07-May-2007  snj branches: 1.88.2.1.2;
Pull up following revision(s) (requested by mhitch in ticket #606):
share/mk/sys.mk: revision 1.91-1.92 via patch
For now, make vax default to -O not -O2

-O1 on vax isn't quite enough, add -fgcse -fstrength-reduce -fgcse-after-reload
too. We can build again.

This addresses PR#34783.
 1.88.2.1.2.1  03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.92.4.1  23-Mar-2008  matt sync with HEAD
 1.94.6.1  18-May-2008  yamt sync with head.
 1.94.4.2  05-Oct-2008  mjf Sync with HEAD.
 1.94.4.1  02-Jun-2008  mjf Sync with HEAD.
 1.97.2.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.103.2.1  08-Feb-2011  bouyer Sync with HEAD
 1.107.2.4  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.107.2.3  23-Jan-2013  yamt sync with head
 1.107.2.2  30-Oct-2012  yamt sync with head
 1.107.2.1  17-Apr-2012  yamt sync with head
 1.108.2.1  17-May-2012  riz Apply patches (requested by martin in ticket #153):

share/mk/bsd.own.mk patch
share/mk/sys.mk patch
external/gpl3/gdb/Makefile.inc patch
external/gpl3/binutils/lib/libbfd/Makefile patch

Switch the vax port back to GCC 4.1.
[martin, ticket #153]
 1.109.2.4  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.109.2.3  23-Jun-2013  tls resync from head
 1.109.2.2  25-Feb-2013  tls resync with head
 1.109.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.116.4.1  23-Jul-2013  riastradh sync with HEAD
 1.123.2.1  10-Aug-2014  tls Rebase.
 1.127.2.1  16-Jul-2015  snj Pull up following revision(s) (requested by chs in ticket #866):
external/cddl/osnet/dist/tools/ctf/cvt/ctfmerge.c: revision 1.12 via patch
share/mk/sys.mk: revision 1.128
reapply some fixes to make multi-threaded ctfmerge work
that were lost in the overzealous resync with freebsd.
remove the hacks which were applied to work around those problems.
 1.129.8.1  07-Jun-2018  martin Pull up following revision(s) (requested by christos in ticket #834):

usr.bin/make/var.c: revision 1.219
share/mk/bsd.obj.mk: revision 1.52
usr.sbin/crash/Makefile: revision 1.40
share/mk/sys.mk: revision 1.131
share/mk/bsd.sys.mk: revision 1.276
share/mk/bsd.sys.mk: revision 1.277

Prevent 'make obj' creating an objdir inside an objdir. This happens the
second time we call 'make obj' in /usr/src/rescue with MAKEOBJDIR set.
XXX: pullup-8
-
Need to delete ${DESTDIR} for lint
XXX: pullup-8
-
Fix reproducible builds
XXX: pullup-8
-
Also substitute ${X11SRCDIR} for the random seed for reproducible builds so
that the random seed is consistent.
XXX: pullup-8
-
Since ${MAKE} converts $$ -> $ during parsing we need to put it back to
preserve the original variable value with :Q.
XXX: pullup-8
-
Be more selective about remapping object directories otherwise we pick
objdump and objcopy with the regex.
XXX: pullup-8
 1.130.2.5  26-Jan-2019  pgoyette Sync with HEAD
 1.130.2.4  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.130.2.3  28-Jul-2018  pgoyette Sync with HEAD
 1.130.2.2  25-Jun-2018  pgoyette Sync with HEAD
 1.130.2.1  21-May-2018  pgoyette Sync with HEAD
 1.133.2.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.133.2.1  10-Jun-2019  christos Sync with HEAD
 1.139.2.2  10-Feb-2020  martin Pull up following revision(s) (requested by maya in ticket #689):

share/mk/sys.mk: revision 1.143

Don't special case aarch64 and add -fomit-frame-pointer to builds.

This behaviour is probably due to a past behaviour of clang, where it
always emitted frame pointer code.

This is no longer true for clang on netbsd, and I don't think it was true
for GCC.

Meanwhile, this flag bleeds into pkgsrc where it breaks random packages,
requiring workarounds like lang/ruby*-base/hacks.mk.
 1.139.2.1  24-Dec-2019  martin Pull up following revision(s) (requested by christos in ticket #575):

share/mk/bsd.sys.mk: revision 1.298
share/mk/sys.mk: revision 1.140

move MV to sys.mk because it is used there. Pointed out by joerg@
 1.148.2.1  31-Dec-2023  martin Pull up following revision(s) (requested by wiz in ticket #526):

share/mk/sys.mk: revision 1.149

Update ARFLAGS for new binutils.

In binutils 2.34, 'l' was a no-op.
In binutils 2.39, it is used to specify library dependencies.

Remove 'l' from ARFLAGS.

From Takahiro Kambe in PR 57565.

RSS XML Feed