"Makefile" is used in dependency checks within projects-dir.mk. Since it might be included from projects-dir-minimal.mk, which also works with "GNUmakefile", make this fallback of a predefinable variable, PROJECTS_MAKEFILE_NAME.
Adapt projects makefile to match the mechanism all proj.mk's are supposed to find their JWBDIR. Namely make JWBDIR_NAME a conditionally assigned variable to allow for some testing of alternative jw-build trees.
In the attempt to move both jw-build and the janware toplevel Makefile from CVS to Git, add two new makefile snippets to make/*.mk:
- projects-dir-minimal.mk
A new toplevel-Makefile for building all projects in one go. It
should be suitable to be downloaded from janware.com/Makefile and
then be used to bootstrap all repos hosted on janware.com, that a
user has access to, just like the current toplevel Makefile is.
It is as small as possible: Little code means few assumptions on
what the world outside of it looks like, notably jw-build. This
is desirable, because it lives outside of version control, albeit
for a short while, and as long as it does, there's no mechanism
in place to keep it current.
That said, on first use, it replaces itself with a symbolic link
into jw-build and is then version controlled with jw-build.
- projects-dir-include.mk
This is essentially the existing projects-dir.mk /
toplevel-Makefile, which it includes. It's meant as a place for
adaptations to the next-generation implementation. This might
prove handy to have while both implementations coexist during the
transition phase.
jw-pkg determines the file attributes of template compilation output via a line matching the '^#\s*conf' regular expression. Allow that regex to be configured.
htdocs.mk's install relies on source code having its HTML contents installed in a subdir called "htdocs". Make that choice a variable named "HTML_STOPDIR_NAME".
Support the Makefile variables PY_INSTALL, PY_INSTALL_REG, PY_INSTALL_PYC, all defaulting to true. They can be set to false to stop installation of whatever file type is undesired in the target. A common use case for this are __init__.cpython-313.pyc, provided by a package the installing package depends on. The prerequisite package might already provide these files for common directories.
$(GETTEXT_PROJECT_POT) is always generated if $(GETTEXT_INPUT_FILES) are newer than it. Having this happen automatically is not useful, since it can break manually edited and version controlled $(GETTEXT_PROJECT_POT).
It appears that inkscape, if invoked from the command line, fires up a splash screen if it has enough time to do so. This leads to strange flickering during the build process. Unset DISPLAY in the attempt to keep that from happening.
proj_dir() raises an exception for projects which don't have a dedicated project directory, even though for some projects this is legal. php-cli, for instance, only installs stuff below /srv/www/proj/php-cli.
%prep is passed -n <name> option. This is considered an error by rpm Release 4.20.1-1.1. It is superfluous anyway, because the name is communicated to rpm via %setup -n <name> later in the %prep section. Remove the -n option.