History log of /netbsd-src/usr.bin/make/make.c (Results 1 – 25 of 264)
Revision Date Author Comments
# 0c336a8c 02-Jun-2024 rillig <rillig@NetBSD.org>

make: sync VarEvalMode constant names with their debug log names


# dd76681b 25-May-2024 rillig <rillig@NetBSD.org>

make: fix a few more memory leaks


# f60719f0 05-Jan-2024 rillig <rillig@NetBSD.org>

make: miscellaneous cleanups


# 3ef4ce2d 29-Dec-2023 rillig <rillig@NetBSD.org>

make: fix declared types of list nodes

No functional change.


# 27ffd1cd 29-Dec-2023 rillig <rillig@NetBSD.org>

make: simplify memory allocation for string buffers

In edge cases and short-lived buffers, the initial buffer size is
irrelevant, so use the default.

No functional change.


# a4cbe1d7 14-Feb-2023 rillig <rillig@NetBSD.org>

make: clean up calls to Var_Subst

None of the calls to Var_Subst used the return value, and the return
value was always VPR_OK.

No functional change.


# c05b7abf 05-Dec-2022 rillig <rillig@NetBSD.org>

make: inline local macro in GNodeFlags_ToString

No binary change.


# 04db2675 27-Sep-2022 rillig <rillig@NetBSD.org>

make: set WARNS to 6, from the default 5

No binary change on x86_64.


# 17ee8275 17-Aug-2022 rillig <rillig@NetBSD.org>

make: fix exit status for '-q' (since 1994)


# 9fb8e00c 07-May-2022 rillig <rillig@NetBSD.org>

make: allow to randomize build order of targets

In complex dependency structures, when a build fails, a probable cause
is a missing dependency declaration between some files. In compat mode,
the bu

make: allow to randomize build order of targets

In complex dependency structures, when a build fails, a probable cause
is a missing dependency declaration between some files. In compat mode,
the build order is deterministic, in jobs mode, it is somewhat
deterministic. To explore more edge cases, add the line ".MAKE.MODE +=
randomize-targets" somewhere in the makefile.

Fixes PR bin/45226 by riastradh. Reviewed by christos.

show more ...


# 8e044fc8 07-May-2022 rillig <rillig@NetBSD.org>

make: inline MakeBuildParent

The word "parent" didn't match exactly, since this part is about the
predecessor/successor relationship due to the .ORDER attribute.

No functional change.


# ffb652d2 07-May-2022 rillig <rillig@NetBSD.org>

make: inline make_abort, improve error details

This function was only called a single time, making the source code line
number redundant. Instead, print the name of the state instead of its
ordinal

make: inline make_abort, improve error details

This function was only called a single time, making the source code line
number redundant. Instead, print the name of the state instead of its
ordinal value.

show more ...


# 97eb6836 09-Jan-2022 rillig <rillig@NetBSD.org>

make: use consistent variable names for varargs

No binary change.


# 93211f8c 08-Jan-2022 rillig <rillig@NetBSD.org>

make: remove redundant braces

No binary change, except for assertion line numbers.


# 2d7f7c37 27-Dec-2021 rillig <rillig@NetBSD.org>

make: remove unnecessary words from command line options

Several years ago, the command line options were individual global
variables. The global variable could therefore not be named 'silent'
sinc

make: remove unnecessary words from command line options

Several years ago, the command line options were individual global
variables. The global variable could therefore not be named 'silent'
since that would have conflicted with local variables of the same name.
After moving the global variable to the namespace 'struct CmdOpts',
there is no conflict anymore.

There doesn't seem to be any risk of naming collisions for the names
'touch' and 'query'.

No functional change.

show more ...


# a8e14f36 15-Dec-2021 rillig <rillig@NetBSD.org>

make: format comments according to /usr/share/misc/style

Assisted by indent(1), with manual corrections due to its many remaining
bugs.

No functional change.


# a9883e88 28-Nov-2021 rillig <rillig@NetBSD.org>

make: fix a few lint warnings about type mismatch in enum comparisons

These warnings were triggered with the lint flag '-e', which enables
additional checks on enums. This check would have detected

make: fix a few lint warnings about type mismatch in enum comparisons

These warnings were triggered with the lint flag '-e', which enables
additional checks on enums. This check would have detected the type
mismatch from the previous commit.

The check has a few strange warnings though, complaining about
initialization of 'unsigned long' with 'unsigned long', so don't enable
it for the official builds.

No functional change.

show more ...


# a3eb6a7f 28-Nov-2021 rillig <rillig@NetBSD.org>

make: move duplicate function Buf_AddFlag to buf.c

It is used only for debug output, therefore performance doesn't matter.

No functional change.


# e939df11 28-Nov-2021 rillig <rillig@NetBSD.org>

make: convert GNodeFlags from enum into bit-fields

Now that Enum_ToString is implemented for each type separately, it's
easy to convert them to bit-fields. This gets rid of the magic numbers
12 for

make: convert GNodeFlags from enum into bit-fields

Now that Enum_ToString is implemented for each type separately, it's
easy to convert them to bit-fields. This gets rid of the magic numbers
12 for CYCLE and 13 for DONECYCLE that left a suspicious gap in the
numbers. This gap was not needed since the code didn't make use of the
relative ordering of the enum constants.

The effects of this conversion are fewer capital letters in the code,
smaller scope for the GNode flags, and clearer code especially when
setting a flag back to false.

One strange thing is that GCC 10.3.0 doesn't optimize GNodeFlags_IsNone
to an single bitmasking instruction, at least on x86_64. Instead it
generates a testb instruction for each of the flags, even loading bit 8
separately from the others. Clang 12.0.1 knows this optimization
though and generates the obvious sequence of movzwl, testl, jz.

No functional change.

show more ...


# f6612c3d 28-Nov-2021 rillig <rillig@NetBSD.org>

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 implementat

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.

show more ...


# 730db1a0 04-Apr-2021 rillig <rillig@NetBSD.org>

make: rename a few functions to be more descriptive

No functional change.


# 244fd9f4 03-Apr-2021 rillig <rillig@NetBSD.org>

make: use C99 bool type instead of defining its own

No functional change.


# 835b4db4 05-Feb-2021 rillig <rillig@NetBSD.org>

make: in the Var_ functions, move the scope to the front

This change provides for a more natural reading order in the code.
Placing the scope first makes it immediately clear in which context the
re

make: in the Var_ functions, move the scope to the front

This change provides for a more natural reading order in the code.
Placing the scope first makes it immediately clear in which context the
remaining parameters are interpreted.

No functional change.

show more ...


# 4dc2cd5c 04-Feb-2021 rillig <rillig@NetBSD.org>

make: rename context and ctxt to scope

This continues the previous commit, in which VAR_GLOBAL, VAR_INTERNAL
and VAR_CMDLINE were renamed.

Renaming the variable 'ctxt' was trivial since that word i

make: rename context and ctxt to scope

This continues the previous commit, in which VAR_GLOBAL, VAR_INTERNAL
and VAR_CMDLINE were renamed.

Renaming the variable 'ctxt' was trivial since that word is used nowhere
else. In the comments though, each occurrence of the word 'context' had
to be checked individually since the word 'context' was not only used
for referring to a variable scope. It is also used to distinguish
different situations where characters are escaped in a certain way
('parsing context') and in a few other expressions.

show more ...


# 9731a328 02-Feb-2021 rillig <rillig@NetBSD.org>

make: remove unused INTERNAL flag

It had been used for cached_realpaths, until this variable had its type
changed from GNode to HashTable in main.c 1.469 from 2020-11-14.


1234567891011