Jan Lindemann
f21ff8e713
topdir.mk: Add dynamic file creation machinery
...
Add generic machinery to dynamically create files in $(TOPDIR). The
need arises because version controlled configuration files for
linters are going to be introduced.
For that, this commit introduces a variable $(TD_GENERATE_FILES),
which target all depends on, and which topdir.clean removes.
It defaults to another variable also introduced by this commit,
$(TD_COPY_FILES), which in turn defaults to $(TOPDIR)/conf/topdir.
This commit also adds support for JW_PKG_TOPDIR_COPY_PATH. It
supports a PATH-style syntax, which allows pointing to multiple
directories to be checked for source files. If they exist, they will
be appended to the files found in $(TOPDIR)/conf/topdir after
copying. Defining arbitray files to copy is not supported before
security implications during CI runs are better understood.
Having the copy prerequisites work comes at the cost of having to add
.SECONDEXPANSION. Since it's limited to the toplevel Makefile, I
suppose that's acceptable.
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-05-31 18:20:30 +02:00
..
backup.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
bin.mk
bin, make, scripts: Re-add files necessary for packaging jw-build
2025-11-14 11:22:50 +01:00
cache.mk
cache.mk: Don't overwrite defined variables
2026-05-05 16:57:00 +02:00
cleandirs.mk
cleandirs.mk: Fix: Descend into subdirectories
2026-05-05 16:55:44 +02:00
conf.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
cpp-extra-targets.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
cpp.mk
cpp.mk, swig.mk: Re-add files necessary for building auth
2025-11-14 16:17:21 +01:00
debugger.mk
defs.mk: Define Q and use it in *.mk
2026-01-26 17:58:23 +01:00
defs-cpp.mk
make: Replace RPM -> PKG
2026-03-16 14:57:50 +01:00
defs-dev.mk
defs-[dev|dist].mk: Add DATA_DIR, JSON_DIR
2025-12-03 20:48:32 +01:00
defs-dirs.mk
defs-dirs.mk: Add support for EXTRA_SUBDIR_TARGETS
2020-04-10 12:03:42 +00:00
defs-dist.mk
defs-dist.mk: HTMLDIROWNER wwwrun -> root
2026-01-13 15:41:46 +01:00
defs.mk
defs.mk: Fix initial version 1.0.0-0-dev
2026-05-14 11:46:41 +02:00
depend.mk
defs.mk: Define Q and use it in *.mk
2026-01-26 17:58:23 +01:00
dev-utils.mk
defs.mk: Define Q and use it in *.mk
2026-01-26 17:58:23 +01:00
dirs.mk
Fix: Failing $(PREREQ_DIRS_DONE) doesn\'t have sub-subdirectories rebuilt
2019-07-01 17:59:09 +00:00
doc-rules.mk
Everywhere: Purge spaces in text files
2019-03-06 12:38:20 +00:00
doc.mk
Everywhere: Rename MODDIR -> JWBDIR
2019-06-29 21:34:18 +00:00
dummy.mk
std-targets.mk: Add file
2026-01-26 17:17:23 +01:00
exe.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
gettext.mk
gettext.mk: Re-add files necessary for building bootstrap
2025-11-14 16:22:40 +01:00
git-cvs-bridge.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
git-submod.mk
make / scripts: git.janware.com -> devgit.janware.com
2026-05-12 15:15:29 +02:00
htdocs.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
include.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
install-files.mk
defs.mk: Define Q and use it in *.mk
2026-01-26 17:58:23 +01:00
js.mk
js.mk: Don't minify without minifier
2025-12-11 17:23:22 +01:00
ldlibpath.mk
ldlibpath.mk: Replace ifndef by ifeq ($(origin, ...))
2026-01-28 15:24:13 +01:00
lib.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
list-files.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
lo.mk
lo.mk: Fix warning that targets were not remade
2026-02-10 09:57:59 +01:00
make.mk
cmds.distro.CmdInfo: Rename to cmds.platform.CmdInfo
2026-04-24 16:53:55 +02:00
Makefile
make: Install cache-projects.mk
2026-02-01 09:50:52 +01:00
path-rules.mk
defs.mk: Define Q and use it in *.mk
2026-01-26 17:58:23 +01:00
pkg-dist.mk
pkg-dist.mk: Make pkg-release-reinstall: get-pub
2026-05-14 16:09:25 +02:00
platform.mk
cmds.distro.CmdInfo: Rename to cmds.platform.CmdInfo
2026-04-24 16:53:55 +02:00
profile.mk
make: Re-add files necessary for building jw-python
2025-11-13 17:27:14 +01:00
profiler-defs.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
profiler-rules-run.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
profiler.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
proj.mk
make: Replace RPM -> PKG
2026-03-16 14:57:50 +01:00
project.conf
topdir.mk / projects-dir.mk: Remove BASE_PKGS
2026-03-15 14:58:54 +01:00
projects+project.mk
projects+project.mk: Add file
2026-02-18 01:20:26 +01:00
projects-dir-include.mk
projects+project.mk: Add file
2026-02-18 01:20:26 +01:00
projects-dir-minimal.mk
make / scripts: git.janware.com -> devgit.janware.com
2026-05-12 15:15:29 +02:00
projects-dir.mk
topdir.mk / projects-dir.mk: Add get-pub
2026-05-14 12:44:04 +02:00
projects.mk
projects.mk -> platform.mk: Move definitions up
2026-03-02 12:55:36 +00:00
py-defs.mk
py-defs.mk: Move boolean vars to top
2026-03-17 16:22:17 +01:00
py-mod.mk
python-tools.sh: Fix __init__.py linter complaints
2026-05-31 17:51:51 +02:00
py-mods.mk
make: Re-add files necessary for building jw-python
2025-11-13 17:27:14 +01:00
py-rules.mk
make: Re-add files necessary for building jw-python
2025-11-13 17:27:14 +01:00
py-run.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
py-version.mk
projects.mk, py-defs.mk, py-version.mk: Add py-version.mk
2025-02-22 09:04:17 +00:00
rules.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
run.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
scripts-targets.mk
defs.mk: Remove installation type SCRIPT
2026-04-11 14:51:11 +02:00
scripts.mk
Everywhere: Rename MODDIR -> JWBDIR
2019-06-29 21:34:18 +00:00
so.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
srcdist.mk
make: Replace RPM -> PKG
2026-03-16 14:57:50 +01:00
std-targets.mk
std-targets.mk: Add file
2026-01-26 17:17:23 +01:00
std-tools.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
subdirs.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
svg-to-pixmap.mk
Rename svg.mk to svg-to-pixmap.mk
2025-12-21 20:24:56 +01:00
swig.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
tag-defs.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
tag-rules.mk
bin, make, scripts: Re-add files necessary for packaging jw-build
2025-11-14 11:22:50 +01:00
tailwind.mk
tailwind.mk: Add file
2025-12-06 15:12:35 +01:00
targets-tools.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
test-exe.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
text.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00
tmpl.mk
tmpl.mk: Re-add because it's useful
2025-12-23 11:07:37 +01:00
tools.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
topdir.mk
topdir.mk: Add dynamic file creation machinery
2026-05-31 18:20:30 +02:00
upload-defs.mk
upload-defs.mk: Add support for UPLOAD_PROTOCOL
2023-12-18 13:00:43 +00:00
upload-rules.mk
bin, make, scripts: Re-add files necessary for packaging jw-build
2025-11-14 11:22:50 +01:00
vim.mk
make: Align equal signs in *.mk to column 30
2026-03-16 14:57:50 +01:00
yapp.mk
make, scripts: Re-add files necessary for building ytools
2025-11-14 15:59:49 +01:00