| #
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.
|