Home | History | Annotate | Download | only in make
History log of /src/usr.bin/make/Makefile
RevisionDateAuthorComments
 1.128  19-Jan-2025  rillig make: fix code coverage counts

See tests/usr.bin/gcov/t_gcov.sh.
 1.127  19-Dec-2023  rillig make: clean up code coverage report files

Remove trailing whitespace.

Remove the first line, as it only repeats the filename.

Remove the line numbers, as they are mostly the same as in the original
source file.
 1.126  17-Dec-2023  rillig make: on cleandir, clean the unit-tests as well
 1.125  19-Jun-2023  rillig make: sort files in coverage report alphabetically
 1.124  03-Jun-2023  lukem bsd.own.mk: rename GCC_NO_* to CC_WNO_*

Rename compiler-warning-disable variables from
GCC_NO_warning
to
CC_WNO_warning
where warning is the full warning name as used by the compiler.

GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.123  27-Sep-2022  rillig make: set WARNS to 6, from the default 5

No binary change on x86_64.
 1.122  03-May-2022  rillig make: remove test scenarios for old GCC versions

These had been useful for NetBSD 8, which used GCC 5.
 1.121  26-Jan-2022  rillig make: generate coverage summary on 'make test-coverage'
 1.120  09-Jan-2022  rillig make: in Cmd_Exec, return error message instead of format string

This change leaves only literal format strings in parse.c. It allows
for more detailed error messages than the current "non-zero status" or
"exited on a signal".

No functional change.
 1.119  12-Dec-2021  rillig make: do not report '?' for fully covered header files
 1.118  12-Dec-2021  rillig make: only define target report-coverage if USE_COVERAGE is yes

Without USE_COVERAGE, GCOV was undefined, the '2>&1' passed all error
messages to GCOV_PERL, when then discarded them. If the error messages
had been left on stderr, the error message 'sh: arch.o.gcda: not found'
would have been a clear indicator of the actual cause of an empty
coverage report.
 1.117  28-Nov-2021  rillig make: replace bloated bit-set-to-string code with simple code

It was a nice idea to implement a bit-set using an enum type and have a
generic ToString function for them. In the end, the implementation
involved really heavy preprocessor magic and was probably difficult to
understand. Replace all the code with a few bits of straight-forward
preprocessor magic that can be readily understood by just looking 5
lines around, instead of digging through 130 lines of lengthy macro
definitions.

Curiously, this reduces the binary size even though the 3 ToString
functions now have a few lines of duplicate code and there are more
explicit function calls.

The ToString functions are only seldom used, so the additional memory
allocation is acceptable.

No functional change.
 1.116  31-Jul-2021  rillig make: fix lint warnings

The string functions from str.h are declared as 'static __unused' when
compiled with GCC, but lint explicitly undefines __GCC__ during
preprocessing. Therefore, make those functions inline, to prevent
warnings that they are unused.

The macro UNCONST is used in a few places, and (again) since lint
undefines __GCC__, that macro expanded to a simple type cast, which lint
warned about. To prevent this warning, implement UNCONST as a function
that works everywhere and hides the type cast.

In filemon_open, the code for closing F->in was obviously unreachable.

No functional change.
 1.115  30-May-2021  rillig make: fix reported code coverage for *.h

In 'make test-coverage', the number of uncovered lines for inline
functions in headers was reported too high. The cause for this is that
gcov reports the coverage for these functions multiple times, once per
translation unit. If some of the translation units don't use these
inline functions, summing the lines containing '#####' quickly leads to
numbers that are obviously too high.
 1.114  11-Apr-2021  rillig branches: 1.114.2;
make: clean up Makefile

The dependencies on the header files are handled by 'make depend'. They
do not need to be spelled out.
 1.113  22-Feb-2021  rillig make: fix report-coverage

On NetBSD 8.0 it still worked. Maybe gcov doesn't support .c files as
arguments anymore. Using the .gcda files works and is more reliable
anyway since it covers the inline functions in the headers as well.
 1.112  30-Jan-2021  rillig make(1): run lint with strict bool mode

The make code is not supposed to use constructs such as "if (strcmp(s1,
s2))" or "if (p && *p)", instead all boolean expressions have a form
that would be accepted by a C#, Go or Java compiler as well. This also
ensures that pre-C99 compilers generate equivalent code as C99
compilers, at least regarding boolean expressions.
 1.111  12-Dec-2020  rillig make(1): add number of uncovered lines to coverage report
 1.110  12-Dec-2020  rillig make(1): add target test-coverage
 1.109  06-Dec-2020  rillig make(1): move .include lines as far down as possible
 1.108  06-Dec-2020  rillig make(1): move COPTS above <bsd.prog.mk>
 1.107  03-Dec-2020  rillig make(1): format coverage summary as a table

This is only used interactively, not in the official builds, therefore
the additional dependency on Perl doesn't matter. The same result could
have been achieved in any other programming language, but probably not
as concisely.
 1.106  25-Oct-2020  rillig make(1): remove unused strlist_t
 1.105  23-Oct-2020  rillig make(1): add target-specific COPTS when generating cpre or casm
 1.104  18-Oct-2020  rillig make(1): fix GCC warning about small buffer for cohort_num

Since unmade_cohorts is a signed number (the code contains an underflow
check), the result of the '%' operator could be negative and result in
"#-999999", which would overflow the buffer, truncating the last digit.
 1.103  05-Oct-2020  rillig make(1): enable format string truncation warnings for parse.c

No node is ever going to have a million or more cohorts. And even if
there were, this name is only used for printing informational messages.
 1.102  05-Oct-2020  rillig make(1): revert previous commit

It had accidentally reverted all the work from the past few days.
 1.101  05-Oct-2020  rillig make(1): fix double-free bug in -DCLEANUP mode (since 2020-10-02)

The bug had been introduced with dir.c 1.155 on 2020-10-02 22:20:25. In
that commit, openDirectories was replaced with a combination of a list
with a hash table, for more efficient lookup by name.

Upon cleanup, OpenDirs_Done is called, which in turn called
Dir_ClearPath. Dir_ClearPath takes full ownership of the given list and
empties it. This was no problem before since afterwards the list was
empty and calling Lst_Free just frees the remaining list pointer.

With OpenDirs, this list was combined with a hash table, and the hash
table contains the list nodes, assuming that the OpenDirs functions have
full ownership of both the list and the hash table. This assumption was
generally correct, except for the one moment during cleanup where full
ownership of the list was passed to Dir_ClearPath, while the hash table
still contained pointers to the (now freed) list nodes. This by itself
was not a problem since the hash table would be freed afterwards. But
as part of Dir_ClearPath, OpenDirs_Remove was called, which looked up
the freed directory by name and now found the freed list node, trying to
free it again. Boom.

Fixed by replacing the call to Dir_ClearPath with code that only frees
the directories, without giving up control over the list.
 1.100  05-Oct-2020  rillig make(1): allow easy creation of preprocessed source and assembler

To be used during development, to see how changes in the source code
affect the generated machine code.
 1.99  01-Sep-2020  rillig make(1): remove filemon object files on clean
 1.98  31-Aug-2020  rillig make(1): fix compilation with GCC 8
 1.97  31-Aug-2020  rillig make(1): fix copy-and-paste mistake for compiling with GCC10
 1.96  28-Aug-2020  rillig make(1): remove redundant MAKEFLAGS from subdir make

The make flags are passed via the environment, not via the command line.
This is not as obvious and visible, but it works.
 1.95  27-Aug-2020  rillig make(1): pass the command-line variables to the subdir make
 1.94  26-Aug-2020  rillig make(1): remove header sprite.h

Make is independent of the Sprite operating system.
 1.93  25-Aug-2020  rillig make(1): allow custom build options
 1.92  23-Aug-2020  rillig make(1): allow to run only selected tests via the command line
 1.91  22-Aug-2020  sjg Use TEST_MAKE to run unit-tests

This lets us take advantage of new features like ${.SHELL}
 1.90  19-Aug-2020  rillig make(1): don't optimize when measuring the code coverage

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96622
 1.89  15-Aug-2020  rillig make(1): fix archive test

Even though it is commented out in this Makefile, it is still run by
atf, on purpose. This test is broken on FreeBSD, but on NetBSD it
should still be run.

Without removing the archive first, it could be left over from a
previous test failure and thus be newer than all its members, leading to
${.OODATE} being empty.
 1.88  12-Aug-2020  rillig make(1): enable -Wcast-qual for var.c again

When it became disabled 9 years ago, there were 15 instances of UNCONST
in the code. These have been removed in the latest cleanup sessions.

Tested with GCC 5 from NetBSD 8 and GCC 10 from pkgsrc.
 1.87  12-Aug-2020  rillig make(1): allow optional compilation with GCC 10, use gcov from GCC
 1.86  10-Aug-2020  rillig make(1): make gcov command line configurable

Some useful options are -a or -f.
 1.85  10-Aug-2020  rillig make(1): clean up coverage files even if USE_COVERAGE is not set
 1.84  09-Aug-2020  rillig make(1): allow to build using GCC 9 during development
 1.83  08-Aug-2020  rillig make(1): add more detailed debug logging for variable modifiers

Before a modifier is applied to a variable, it is not yet parsed,
therefore it is only possible to log a rough estimate of the modifier.
But after applying it, the parsing position has advanced, and the full
modifier can be logged.

In addition, to fully understand how the modifiers work, it's not enough
to just know the variable names and values, there are also some flags
that influence how the modifiers behave. The most influential is
VARE_WANTRES.

Thanks to sjg for the extensive review and valuable feedback on the
first drafts.
 1.82  07-Aug-2020  rillig make(1): one file per line in the Makefile

Suggested by sjg.
 1.81  06-Aug-2020  rillig make(1): revert previous commit; "make retest" was already possible

What I really meant to allow was to run "make sync-mi" directly from the
main directory. But adding that to TARGETS didn't do anything.
 1.80  06-Aug-2020  rillig make(1): allow "make retest" directly from the main directory
 1.79  03-Aug-2020  rillig make(1): no declaration-after-statement anymore

NetBSD make is intended to be maximally portable, therefore it uses only
C89. This was not declared in the Makefile before.

There are still a few places in parse.c and metachar.c that use
end-of-line comments. These will be fixed in a follow-up commit.
 1.78  01-Aug-2020  rillig make(1): remove line numbers from generated code coverage files

The line numbers make it difficult to spot changes in the code and
coverage if a line is added or removed from the code.
 1.77  31-Jul-2020  rillig make(1): fix undefined behavior in malformed :S modifier

The unit tests failed on Ubuntu, and by looking closely at the code, it
was trivial to see the out-of-bounds memory read.

Other modifiers may have the same problem and will be inspected later.
 1.76  29-Jul-2020  rillig make(1): use specialized return type for ApplyModifier functions

This makes it immediately obvious what happens after a modifier has been
applied, instead of having to translate single-character mnemonics or
booleans to their actual intention.

This also reduces the size of the binary since there are fewer jumps.
 1.75  26-Jul-2020  rillig make(1): explicitly add dependencies on headers

This prevents partial builds after changing a header. The declared
dependencies are more than strictly necessary, but that's still better
than having inconsistent partial builds because too few dependencies are
declared.
 1.74  26-Jul-2020  rillig make(1): condense the list library into a single file

The list library is only used in make(1). Having it spread out over 28
files made it look more complex than it really is. In fact, it's just a
versatile generic data type like in hash.c.

Having all the list functions in a single file reduces the code size,
both by omitting the many RCS Ids and by inlining commonly used code.
 1.73  25-Jul-2020  rillig make(1): make it easy to run gcov on the code

There seems to be no gcov support in share/mk yes, but it's still good
to have, especially for a complex program like make(1).
 1.72  25-Jul-2020  rillig make(1): indent Makefile directives like in pkgsrc

This makes it easier to see the corresponding .if/.endif, even without
comments.
 1.71  25-Jul-2020  rillig make(1): format Makefile consistently
 1.70  25-Jul-2020  rillig make(1): regroup source files
 1.69  06-Feb-2020  sjg Fix meta_compat mode.

We need to call meta_job_output() from meta_compat_parent()
Also, the need for extra fds for meta mode only applies when
using filemon_ktrace.c.
Since we hope to see more interfaces like that, test for
USE_FILEMON_DEV being not defined.

Reviewed by: riastradh
 1.68  19-Jan-2020  riastradh Tweak makefile for USE_FILEMON=dev, from sjg.
 1.67  19-Jan-2020  riastradh Per sjg's suggestion, split filemon API into separate back ends.

By default we use the ktrace back end, but the /dev/filemon back end
is available as a compile-time option, by setting USE_FILEMON=dev in
make. sjg raised concerns about ktrace performance and would like to
continue using /dev/filemon on FreeBSD (which has seen more
maintenance kernel-side) without forking make.
 1.66  19-Jan-2020  riastradh Reimplement make(1) meta mode without filemon(4).
 1.65  19-Dec-2019  maxv Revert the filemon removal in bmake, as pointed out by maya we do care
about not introducing divergence with FreeBSD, and the cost of unused
is acceptable here.
 1.64  18-Dec-2019  maxv Retire filemon, discussed on tech-kern@.
 1.63  13-Oct-2019  mrg introduce some common variables for use in GCC warning disables:

GCC_NO_FORMAT_TRUNCATION -Wno-format-truncation (GCC 7/8)
GCC_NO_STRINGOP_TRUNCATION -Wno-stringop-truncation (GCC 8)
GCC_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow (GCC 8)
GCC_NO_CAST_FUNCTION_TYPE -Wno-cast-function-type (GCC 8)

use these to turn off warnings for most GCC-8 complaints. many
of these are false positives, most of the real bugs are already
commited, or are yet to come.


we plan to introduce versions of (some?) of these that use the
"-Wno-error=" form, which still displays the warnings but does
not make it an error, and all of the above will be re-considered
as either being "fix me" (warning still displayed) or "warning
is wrong."
 1.62  29-Sep-2019  mrg convert HAVE_GCC == 7 to HAVE_GCC >= 7.
 1.61  04-Feb-2019  mrg - use -Wno-error=format-truncation
 1.60  10-Jun-2018  christos branches: 1.60.2;
use SUBDIR.roff suggested by uwe@
 1.59  18-Feb-2016  sjg branches: 1.59.14;
Adapt to changed Var_Subst()
 1.58  17-Jun-2015  christos Centralize the "is a meta char" test, instead of using two different arrays.
 1.57  05-Jul-2014  dholland Rework /usr/share/doc.

Update the <bsd.doc.mk> infrastructure, and update the docs to match
the new infrastructure.

- Build and install text, ps, pdf, and/or html, not roff sources.

- Don't wire the chapter numbers into the build system, or use them in
the installed pathnames. This didn't matter much when the docs were a
museum, but now that we're theoretically going to start maintaining
them again, we're going to add and remove documents periodically and
having the chapter numbers baked in creates a lot of thrashing for no
purpose.

- Specify the document name explicitly, rather than implicitly in a
path. Use this name (instead of other random strings) as the name
of the installed files.

- Specify the document section, which is the subdirectory of
/usr/share/doc to install into.

- Allow multiple subdocuments. (That is, multiple documents in one
output directory.)

- Enumerate the .png files groff emits along with html so they can be
installed.

- Remove assorted hand-rolled rules for running roff and roff widgetry
and add enough variable settings to make these unnecessary. This
includes support for
- explicit use of soelim
- refer
- tbl
- pic
- eqn

- Forcibly apply at least minimal amounts of sanity to certain
autogenerated roff files.

- Don't exclude USD.doc, SMM.doc, and PSD.doc directories from the
build, as they now actually do stuff.

Note: currently we can't generate pdf. This turns out to be a
nontrivial problem with no immediate solution forthcoming. So for now,
as a workaround, install compressed .ps as the printable form.
 1.56  30-May-2012  sjg branches: 1.56.2; 1.56.8;
Don't pass debug flags etc. to unit-tests
 1.55  14-Aug-2011  christos branches: 1.55.2;
- remove gcc-4.5 warnings
- simplify job printing code
- document non-literal format strings
 1.54  22-Jun-2011  mrg apply some -Wno-error and/or -fno-strict-aliasing.


all of this should be looked at closer, but some of them are not
very trivial.
 1.53  18-May-2011  dsl Back out a local change
 1.52  17-May-2011  dsl If a makefile if a multiple of the page size and doesn't end with a
newline, then it all goes horribly wrong when make tries to terminate
the last input line.
This was all ok before the mmap changes (rev 1.169) because the last
32 bytes of the input buffer were never read into.
The non-mmap case has a similar problem.
Bug found because my .depend files don't have a newline at the end of
the .OPTIO|NAL line (don't know if that is a local change).
 1.51  13-Sep-2010  sjg Add meta.c which implements "meta" mode for make.
In this mode, a .meta file is created for each target, capturing
the expanded commands used, any command output, and if filemon(9)
is available, a record of system calls which are of interest.
Not enabled unless USE_META=yes is set when building make.
Also, if FILEMON_H exists, meta.c will be compiled to use filemon(9).
 1.50  22-Apr-2010  sjg PR: 42850
Reviewed by:

modmisc: since we apply an exists() test to $paths, be conservative
in what we expect.

Run the unit tests with -r -m / so that we do not fail if there
is no sys.mk present.
 1.49  14-Apr-2009  lukem Enable WARNS=4 by default for usr.bin, except for:
awk bdes checknr compile_et error gss hxtool kgetcred kinit
klist ldd less lex locale login m4 man menuc mk_cmds
mklocale msgc openssl rpcgen rpcinfo sdiff spell ssh
string2key telnet tn3270 verify_krb5_conf xlint
 1.48  24-Mar-2009  perry remove unneeded special rule for main.o
 1.47  20-Mar-2009  perry The Makefile and main.c arranged to put "netbsd-${DATE}" into the
executable. Remove this so that different compiles can be binary
compared. rcsid's for all files are already embedded in the executable
so versions can be easily distinguished. (I didn't catch this on
previous passes because I did my builds on the same day.)

Note: there's a special rule for main.o in Makefile with a purpose I
can't actually discern -- I think it isn't needed, and I've flagged it
with a comment.
 1.46  24-Jan-2009  dsl branches: 1.46.2;
Move the bmake_malloc() functions into their own .c and .h files.
Include instead of make.h in a few places.
 1.45  20-Dec-2008  dsl Add functions for processing extendable arrays of pointers to strings.
Use for the .for variables and substution items - changing the latter from
make's all conquering lst.lib functions.
Being able to index everything makes the code simpler.
No functional changes intended.
 1.44  06-Oct-2008  joerg Don't use emalloc and friends directly, but call them consistently
bmake_malloc and friends. Implement them via macros for the native case
and provide fallback implementations otherwise. Avoid polluting the
namespace by not defining enomem globally. Don't bother to provide
strdup and strndup, they were only used for the estrdup and estrndup
comapt code.

This addresses the presence of emalloc in system libraries on A/UX and
resulted strange issues as reported by Timothy E. Larson.
 1.43  14-Feb-2008  christos - use pid_t/size_t as appropriate instead of int.
- use %ld to print pids.
- fix a bit of lint.
- WARNS=4
 1.42  25-Sep-2007  uwe Revert 1.34 (CFLAGS+=-g) that have been commited by mistake (hi, xtos).
 1.41  01-Nov-2006  sjg branches: 1.41.2; 1.41.4; 1.41.8;
Use of libutil to provide emalloc et al, should be predicated on
a native NetBSD build using TOOLDIR etc.
Otherwise use the local versions.

Reviewed by: christos
 1.40  25-Oct-2006  dsl Fix previous - need to add a lstPrev()
 1.39  08-Oct-2006  peter WFORMAT is no more...
 1.38  29-Aug-2006  christos protect libutil with HOSTPROG
 1.37  26-Aug-2006  christos More programs using efun.
 1.36  15-Jun-2006  skrll Remove a hack that's no longer needed with gcc 3.3.6.
 1.35  08-May-2006  he branches: 1.35.2;
Our gcc 3.3.3 (nb3) for hppa gets an "unrecognized insn" internal
compiler error when building buf.c with -O2, so reduce optimization
level to -O1 for this single file.
To be documented in docs/HACKS, discussed with skrll.
 1.34  22-Apr-2006  christos Coverity CID 529: Call VarFreeEnv to prevent leak.
 1.33  07-May-2004  ross Simplify build, no functional changes.

Instead of adding MAKE_BOOTSTRAP for hosted environments, i.e., when
you want things simple, instead add MAKE_NATIVE to get those hugely
important features like __RCSID().

It's now possible to build make on some hosts with: cc *.c */*.c
 1.32  06-May-2004  ross Instead of including from the wrong directory and then fixing it (-I)
in the Makefile, how about just doing the right include?
 1.31  15-Feb-2004  sjg branches: 1.31.2;
Use ${.MAKE:S,^./,${.CURDIR}/,} so that when someone does
./make test
it works. Note use .CURDIR rather than .OBJDIR since the later
_may_ not always be correct (eg. symlink in .CURDIR for make).
 1.30  01-Aug-2003  sjg Fix for TEST_MAKE from Alan Barrett
 1.29  28-Jul-2003  sjg Fix parsing bug for :ts - patch from Alan Barrett <apb@cequrux.com>
Also add simple unit-test jig (regress/usr.bin/make will use it too)
but having it local here makes inclusion in bmake simpler.
 1.28  26-Jul-2003  mrg build var.c with -Wno-cast-qual - gcc3.3 complains about VarWordCompare()
 1.27  14-Jul-2003  christos Pass WARNS=3
 1.26  27-Jan-2002  reinoud Fix major bug in make(1) ... due to shadowing of the dotLast path used for
the .DOTLAST primitive by a boolean variable with the same name, this whole
mechanism was broken ... it doesn't save much stat calls but it was wrong.

Thanks to Jason Thorpe for the other shadow-variable fixing patches he
made.
 1.25  31-Oct-2001  tv Overhaul the initialization and handling of .OBJDIR:

* Replace chdir_verify_path() with Main_SetObjdir(), which can be called
externally, and can take a "const char *". (There's a lot of non-const
"char *" passing around in var.c of what should be const strings....)

* Rewrite the initial "find my .OBJDIR" code to make use of the new
function. This still functions as it had in the past, but the comment
above this block was changed to reflect reality: if MAKEOBJDIRPREFIX
or MAKEOBJDIR are set in the environment, then *only that value* is
tried; make does not fall back to obj.MACHINE, obj, and /usr/obj/`pwd`
as it would without these env vars set.

* Add a new special target, .OBJDIR:, which when parsed will cause make to
change to a new object directory and reset .OBJDIR, and PWD in the
environment. This will allow some makefiles (mainly, src/tools)
to override the default objdir semantics in order to add custom logic.
 1.24  09-Jun-2001  sjg Provide a useful? MAKE_VERSION.
 1.23  30-Dec-2000  sommerfeld Back out debug cruft.
 1.22  30-Dec-2000  sommerfeld Add a token-passing scheme to allow a recursive make to successfully
use -j; all make's in a recursive build cooperate to limit the total
number of jobs, using a token-passing scheme.

The current token passing algorithm is similar to the one implemented
by gmake; there is a single pipe which is inherited through the entire
process hierarchy; tokens are obtained by reading a byte from the
"read end" of the pipe, and are returned by writing them to the "write
end". This exact algorithm is likely to change in the future.

Implementation details:
- Use the new trace facility to allow measurement of the
effectiveness of different token-passing schemes
- Get a token in MakeStartJobs(), return it in Make_Update()
- Eliminate Job_Full() and the jobFull global since they are
redundant with token system.
- Add an "internal" -J option (to pass the token pipe fd's down to
submakes) and a -T option for tracing.
- Change how compatMake is forced so that -j means something when
inherited by submakes.
- When waiting for a token, poll the token-passing pipe as well as
the output pipes of existing jobs.
 1.21  11-Oct-2000  is More format string cleanup by sommerfeld.
 1.20  04-Aug-1999  ross branches: 1.20.8;
Back out part of previous, only the parse.c mod was intended.
 1.19  04-Aug-1999  ross Trivial speed hack.
 1.18  24-Oct-1997  lukem branches: 1.18.2;
use CPPFLAGS instead of CFLAGS
 1.17  19-Oct-1997  lukem branches: 1.17.2;
don't define WARNS=1 here
 1.16  11-Oct-1997  mycroft Use bsd.subdir.mk as appropriate.
 1.15  01-Jul-1997  christos Add WARNS=1
RCSID police
 1.14  08-May-1997  gwr Back out the .PATH.c changes. The .depend problem (and others)
will be fixed using the new .NOPATH make feature instead.
 1.13  06-May-1997  gwr Use .PATH.c: ...
 1.12  06-Nov-1996  christos - Merge in FreeBSD and Lite2 changes.
- Fix bug where a non-archive target with a .a suffix would always
be considered to be out of date, since it does not have a TOC.
 1.11  28-May-1996  christos - Move -D flags from Makefile to config.h and explain what they do. Add
-Wall -Wno-unused to CFLAGS. Add new define SYSVVARSUB to enable SysV
style variable substitutions and enable them.
- Add SunOS style command substitutions via SUNSHCMD
- Fix core dump with '{variable = value'
 1.10  11-Mar-1996  christos branches: 1.10.4;
Jonathan Stone's fixes:
main.c: Remove double include of <sys/resource.h>; if MACHINE is defined, use
that instead of uname.
Makefile: Add util.c.
 1.9  04-Feb-1996  christos fix pr/1421 and pr/1997
 1.8  14-Jun-1995  christos - $NetBSD$ rcsids
- Fixed so that .[A-Z]* targets that do not match keywords are ignored as
Posix mandates
- Added .PHONY target keyword
 1.7  03-May-1995  jtc None of the functions in util.c are needed by NetBSD, so don't
bother to compile it.
 1.6  30-Jun-1994  cgd deal with new share/doc strategy
 1.5  25-Jun-1994  cgd update for new doc-make/install strategy
 1.4  05-Mar-1994  cgd fixes/improvements from Christos Zoulas <christos@deshaw.com>.
 1.3  14-Dec-1993  jtc Compile with -DPOSIX --- enables reasonable behavior for MAKE and
MAKEFLAGS variables.
 1.2  31-Jul-1993  mycroft Add RCS indentifiers.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2  28-Dec-1996  tls Import 4.4BSD-Lite2 sources onto CSRG branch (already merged at head)
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.10.4.1  26-Jan-1997  rat Update make(1) from trunk, by request from Christos Zoulas. Fixes many bugs.
 1.17.2.1  08-Nov-1997  lukem sync with trunk (approved by thorpej)
 1.18.2.1  19-Oct-2000  he Pull up revision 1.21 (requested by he):
Format string cleanup.
 1.20.8.1  18-Oct-2000  tv Pullup usr.bin string format fixes [is].
See "cvs log" for explicit revision numbers per file, from sommerfeld.
 1.31.2.2  10-May-2004  tron Pull up revision 1.33 (requested by sjg in ticket #282):
Simplify build, no functional changes.
Instead of adding MAKE_BOOTSTRAP for hosted environments, i.e., when
you want things simple, instead add MAKE_NATIVE to get those hugely
important features like __RCSID().
It's now possible to build make on some hosts with: cc *.c */*.c
 1.31.2.1  10-May-2004  tron Pull up revision 1.32 (requested by sjg in ticket #282):
Instead of including from the wrong directory and then fixing it (-I)
in the Makefile, how about just doing the right include?
 1.35.2.1  19-Jun-2006  chap Sync with head.
 1.41.8.2  23-Mar-2008  matt sync with HEAD
 1.41.8.1  06-Nov-2007  matt sync with HEAD
 1.41.4.1  30-Sep-2007  wrstuden Catch up on netbsd-4 as of a few days ago.
 1.41.2.1  27-Sep-2007  xtraeme Pull up following revision(s) (requested by uwe in ticket #903):
usr.bin/make/Makefile: revision 1.42

Revert 1.34 (CFLAGS+=-g) that have been commited by mistake (hi, xtos).
 1.46.2.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.55.2.1  30-Oct-2012  yamt sync with head
 1.56.8.1  10-Aug-2014  tls Rebase.
 1.56.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.59.14.1  25-Jun-2018  pgoyette Sync with HEAD
 1.60.2.3  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.60.2.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.60.2.1  10-Jun-2019  christos Sync with HEAD
 1.114.2.1  31-May-2021  cjep sync with head

RSS XML Feed