summaryrefslogtreecommitdiffstats
path: root/GNUmakefile (follow)
Commit message (Collapse)AuthorAgeLines
* GNUmakefile: Simplify the $SHELLAlejandro Colomar2024-04-16-3/+2
| | | | | | | | | | | | nixpkgs does not provide /usr/bin/env, so they had to work around it by specifying just env. Since make(1) accepts program names instead of paths, we can as well use bash directly, which is simpler. Link: <https://github.com/NixOS/nixpkgs/pull/300797> Reported-by: Sergei Trofimovich <slyich@gmail.com> Cc: Mario Rodas <https://github.com/marsam> Cc: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
* share/mk/: build-book, build-man, install-man: Specify version and dateAlejandro Colomar2024-03-21-3/+2
| | | | | | | | | | | | | | Each page has its own date. Add new 'build-man' target, which stamps the date and version in the pages (in $builddir, not the source ones). Build-system internal stuff: $CURDIR will be used for the build system, while $srcdir will be used for the project root of the repository. This helps use this build system in other projects. Signed-off-by: Alejandro Colomar <alx@kernel.org>
* GNUmakefile: help: wfixAlejandro Colomar2024-03-20-2/+2
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* share/mk/: Reorganize dependenciesAlejandro Colomar2024-03-20-2/+2
| | | | | | Use one directory per each (Debian) package, and one file per command. Signed-off-by: Alejandro Colomar <alx@kernel.org>
* GNUmakefile: help: Hide variables not meant for usersAlejandro Colomar2024-03-19-2/+2
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* GNUmakefile, INSTALL, RELEASE: Expand 'make help' to document dependenciesAlejandro Colomar2024-03-19-0/+8
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* GNUmakefile: help: Add a simple helpAlejandro Colomar2024-03-19-0/+16
| | | | | | | It documents how to actually get the targets and variables with a pipeline. Signed-off-by: Alejandro Colomar <alx@kernel.org>
* GNUmakefile: Use a more portable $SHELLAlejandro Colomar2024-03-19-2/+3
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* GNUmakefile: Remove helpAlejandro Colomar2024-03-19-182/+0
| | | | | | | | | | | | | | | | | It gets out of date easily, and it's always more accurate to actually read the makefiles, or run a command that parses them for us. In the case of .PHONY targets, or available variables, here are two commands that can help: $ make nothing -p \ | grep '^\.PHONY:' \ | tr ' ' '\n' \ | grep -v '^\.PHONY:' \ | sort; $ grep -rho '^[^[:space:]].*=' GNUmakefile share/mk/configure/; Signed-off-by: Alejandro Colomar <alx@kernel.org>
* share/mk/: $htmlext: Remove unused variableAlejandro Colomar2024-03-19-1/+0
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* share/mk/: Update licenseAlejandro Colomar2024-03-18-3/+3
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* share/mk/: $SKIP_XFAIL: Add variable to allow skipping expected failuresAlejandro Colomar2024-02-26-0/+1
| | | | | | Default to 'yes'. Signed-off-by: Alejandro Colomar <alx@kernel.org>
* share/mk/: dist: FORCE regeneration of version file if necessaryAlejandro Colomar2024-02-25-0/+1
| | | | | | | | | | | If any of $DISTVERSION, $DISTNAME, or $DISTDATE have changed since the last 'make dist', force regeneration of the version file, even if it wouldn't change due to normal dependencies. This makes sure that the tarball has correct values. It doesn't need to depend on all $DISTFILES. Signed-off-by: Alejandro Colomar <alx@kernel.org>
* share/mk/: Use a variable to prefix recursive make(1) outputAlejandro Colomar2024-02-25-154/+157
| | | | | | | | | Piping the output to sed(1) didn't behave well with -Orecurse. Using a variable behaves well, keeping output synchronized. The length of the variable name is specific, so that `$(INFO_)` uses exactly 8 characters, a tab. Signed-off-by: Alejandro Colomar <alx@kernel.org>
* GNUmakefile: help: Document 'distcheck'Alejandro Colomar2024-02-18-0/+1
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* share/mk/: Reorganize build systemAlejandro Colomar2024-02-17-4/+5
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* share/mk/: Move '.SILENT:' to GNUmakefileAlejandro Colomar2024-02-17-0/+1
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* share/mk/: Reorganize build dependenciesAlejandro Colomar2024-02-17-0/+1
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* *.mk: build-book: Add target for building the Linux Man BookAlejandro Colomar2023-12-01-0/+2
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* *.mk: tfixAlejandro Colomar2023-09-06-1/+1
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* *.mk: Have the makefiles as dependencies of all filesAlejandro Colomar2023-09-06-3/+4
| | | | | | If any makefile is modified, all files should be remade. Signed-off-by: Alejandro Colomar <alx@kernel.org>
* *.mk: SHELL, .SHELLFLAGS: Fix the SHELLAlejandro Colomar2023-09-03-1/+2
| | | | | | | | | | | - Arguments to the shell need to go in .SHELLFLAGS. - env(1) needs -S to split arguments to it. Maybe it's not necessary in make(1), though; not sure. - The scripts are passed to the shell as arguments, not via stdin; thus, we need -c. Cc: Paul Smith <psmith@gnu.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
* *.mk: Don't include the main MakefileAlejandro Colomar2023-08-30-11/+2
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* *.mk: help-variables: Document $(man*ext)Alejandro Colomar2023-08-28-0/+1
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* *.mk: MANSECTIONS: Deduce values from existing mandirsAlejandro Colomar2023-08-28-24/+2
| | | | Signed-off-by: Alejandro Colomar <alx@kernel.org>
* *.mk: nothing: Add dummy targetAlejandro Colomar2023-08-28-0/+6
| | | | | | | It's useful to make literally nothing while debugging or testing the Makefile. Signed-off-by: Alejandro Colomar <alx@kernel.org>
* *.mk: Remove 'V' variableAlejandro Colomar2023-08-28-2/+2
| | | | | | | | | | | | | | GNU Make (since version 4.4) provides the same functionality with `--debug=print`. Remove this custom variable, which is now redundant with the new option. - Define .SILENT: unconditionally. - Define HIDE_ERR unconditionally, and let the user redefine it to an empty string. Document this. Cc: Paul Smith <psmith@gnu.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
* GNUmakefile: tfixAlejandro Colomar2023-08-17-1/+1
| | | | | Fixes: 6701269b7cd5 ("GNUmakefile: mv Makefile GNUmakefile") Signed-off-by: Alejandro Colomar <alx@kernel.org>
* GNUmakefile: mv Makefile GNUmakefileAlejandro Colomar2023-08-17-0/+235
We require GNU Make. Let's make it explicit by using the appropriate GNU Make makefile name. This will avoid users innocently running other make(1) implementations and be confused by errors, as happened with Ingo Schwarze long ago. Cc: Ingo Schwarze <schwarze@openbsd.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>