| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-07-01 | tests/make: show how to use indirect conditions in the '?:' modifier | rillig | |
| 2023-06-28 | tests/make: extend test for the 'empty' function in conditions | rillig | |
| 2023-06-28 | make.1: clean up wording, clarify scope of '!' in conditions | rillig | |
| 2023-06-24 | make: remove redundant 'extern' in function declaration | rillig | |
| No binary change. | |||
| 2023-06-23 | tests/make: explain and extend tests for expansion in .for loops | rillig | |
| 2023-06-23 | make: sync a comment with reality | rillig | |
| No binary change. | |||
| 2023-06-23 | make: clean up variable and function names | rillig | |
| No functional change. | |||
| 2023-06-23 | make: reduce indentation in pattern matching code | rillig | |
| No functional change. | |||
| 2023-06-23 | make: warn about malformed patterns in ':M', ':N' and '.if make(...)' | rillig | |
| These patterns shouldn't occur in practice, as their results are tricky to predict. Generate a warning for now, and maybe an error later. Reviewed by sjg@. | |||
| 2023-06-23 | tests/make: sort missing 'expect' comments by their location | rillig | |
| 2023-06-22 | tests/make: demonstrate inconsistency in pattern matching with ranges | rillig | |
| 2023-06-22 | make: unclutter string matching code | rillig | |
| 2023-06-22 | make: rename variables in string matching, remove redundant code | rillig | |
| No functional change. | |||
| 2023-06-22 | tests/make: fix line numbers in test result, since the previous commit | rillig | |
| 2023-06-22 | make: speed up pattern matching in the ':M' and ':N' modifiers | rillig | |
| In the code coverage report, the highest count for Str_Match goes from 5,298,924 down to 79,646. | |||
| 2023-06-22 | make: clean up comments related to pattern matching | rillig | |
| 2023-06-22 | make: merge common code for handling the ':M' and ':N' modifiers | rillig | |
| No functional change. | |||
| 2023-06-21 | Cleanup guard tests | sjg | |
| The .PARSEFILE:tA tests add no value, the correct form is ${.PARSEDIR:tA}/${.PARSEFILE} but even there :tA rarely matters. | |||
| 2023-06-21 | make: skip a file protected by a multiple-inclusion guard more often | rillig | |
| In practice, the common situation is that a file is first included, defines its multiple-inclusion guard and is then skipped instead of being included again. The other way round is that the multiple-inclusion guard is defined when the file is included first. In that case, the file is now regarded as guarded as well. | |||
| 2023-06-21 | tests/make: document how wildcards behave in a dependency declaration | rillig | |
| 2023-06-21 | tests/make: clean up and extend tests for multiple-inclusion guards | rillig | |
| Multiple-inclusion guards can be defined either as variables or as targets. Rename the variable tests so they include the word 'variable'. Add tests to cover special characters in guard names (both variable and target), just in case ParseVarnameGuard gets removed someday. Document the pitfalls associated with choosing a naming scheme for guards that leads to name clashes, such as with .PARSEFILE without .PARSEDIR. | |||
| 2023-06-21 | tests/make: document a few tests | rillig | |
| 2023-06-21 | Allow guard targets to use variables. | sjg | |
| I commonly use __${.PARSEDIR:tA}__ where a unique guard is needed, __${.PARSEDIR}__ is also useful in many cases. Combination of patch from rillig and mine | |||
| 2023-06-20 | make: allow targets to be used as multiple-inclusion guards | rillig | |
| This style is used by FreeBSD, among others. | |||
| 2023-06-19 | tests/make: test triple negation in '.ifndef' | rillig | |
| 2023-06-19 | make: sort files in coverage report alphabetically | rillig | |
| 2023-06-19 | make: add tests for full code coverage of multiple-inclusion guards | rillig | |
| 2023-06-19 | make: clean up code for skipping files with multiple-inclusion guard | rillig | |
| No functional change. | |||
| 2023-06-19 | Test that .undef of readOnly variable fails | sjg | |
| 2023-06-19 | make: if a makefile is protected by a guard, only include it once | rillig | |
| "looks reasonable" sjg@ | |||
| 2023-06-18 | tests/make: clean up test for multiple-inclusion guards | rillig | |
| 2023-06-18 | tests/make: align variable name in test for multiple-inclusion guards | rillig | |
| 2023-06-18 | tests/make: extend test for multiple-inclusion guards | rillig | |
| 2023-06-16 | make: do not allow delete of readOnly variable. | sjg | |
| Sometimes we mark a variable readOnly to guard against .undef | |||
| 2023-06-16 | tests/make: add test for multiple-inclusion guards | rillig | |
| 2023-06-16 | tests/make: clean up tests for the ':M' and ':S' modifiers | rillig | |
| 2023-06-16 | make: remove parameter names from function declarations | rillig | |
| No binary change. | |||
| 2023-06-03 | bsd.own.mk: rename GCC_NO_* to CC_WNO_* | lukem | |
| 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. | |||
| 2023-06-01 | tests/make: force line-based diagnostics to be listed in the tests | rillig | |
| This way, contradictions between the intended output and the actual output are closer together and have a better chance of being spotted. | |||
| 2023-06-01 | make: add more details to debug logging of .for loops | rillig | |
| 2023-06-01 | make: shorten function names, clean up comments | rillig | |
| No functional change. | |||
| 2023-06-01 | tests/make: clean up comments, extend a few tests | rillig | |
| 2023-06-01 | make: error out on a .break directive with arguments | rillig | |
| 2023-05-10 | Make :mtime operate on each word in variable value. | sjg | |
| Reviewed by: rillig | |||
| 2023-05-10 | make: don't print null filename in stack traces | rillig | |
| ~~~makefile != printf '%s\n' '.include "2.mk"' > 1.mk != printf '%s\n' '!= rm 1.mk' '.info message' > 2.mk .MAKEFLAGS: -dp .include "1.mk" .MAKEFLAGS: -d0 all: ~~~ | |||
| 2023-05-10 | make: clean up comments | rillig | |
| 2023-05-10 | tests/make: clean up comments in tests | rillig | |
| 2023-05-10 | tests/make: clean up tests for .for loops | rillig | |
| Most of the tests from forloop.mk were already in directive-for.mk. | |||
| 2023-05-09 | make: improve error message for failed stat in ':mtime' | rillig | |
| 2023-05-09 | make: :mtime=error throw error on stat(2) failure | sjg | |
| Sometimes we want fatal error if stat fails on the presumed pathname. | |||
