Commit graph

2,024 commits

Author SHA1 Message Date
2989cc87c8 Makefile: JWB_SCRIPT_DIR: Add support for /opt/jw-build/bin
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-07-16 15:21:15 +00:00
90aeeaab10 rpmdist.mk: Pass absolute path to sudo rpm -U
The idea is to make passwordless RPM package installation via sudo a little
safer.

Signed-off-by: Jan Lindemann <jan@janware.com>
2024-07-16 11:02:54 +00:00
a1bf4d9562 make: Remove variables referencing other janware-projects
jw-build is meant as a generic set of tools for building other projects, so
references to projects being built by jw-build introduce a circular dependency.
Remove those references from defs.mk and rules.mk.

Variables removed by this commit:

	BTOOLS_DIR
	FEEDFSD_DIR
	FEEDFS_DIR
	FEEDFS_GUI_DIR
	FEEDFS_OBJECTS_DIR
	FEEDFS_UTILS_DIR
	FEEDFS_WT_DIR
	JUX_SHARED_DIR
	SITE_DIR
	VALDI_DIR
	XCHANGE_DIR

Signed-off-by: Jan Lindemann <jan@janware.com>
2024-07-16 10:41:20 +00:00
a343cf7806 pkg-install-%-deps: Protect projects from shell with quotes
Project names passed to the package manager can contain characters
not well digested by the shell. Don't let it.

Signed-off-by: Jan Lindemann <jan@janware.com>
2024-06-30 17:01:18 +00:00
19bc4037c0 Makefile: Make list-files consider build dependencies, too
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-06-25 17:35:35 +00:00
9a5bc11cd0 py-defs.mk: Fix: mypy finds modules unter multiple paths
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-06-04 08:56:19 +00:00
391a735972 swig.mk: Follow changes swig 4.0 -> 4.2
- There's no -php8 option in swig, so stay with -php7, which
    supports "8 and above" according to the documentation

  - No <module>.php stub is generated anylonger, so don't try to
    install it

Signed-off-by: Jan Lindemann <jan@janware.com>
2024-04-30 08:00:37 +00:00
39d3a9e888 decompress.mk, defs-cpp.mk: Add make/decompress.mk
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-04-21 11:05:55 +00:00
2187d1b089 topdir.mk: Fix missing JANWARE_USER for git.janware.com login
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-01-12 14:36:38 +00:00
40ac901eb6 py-run.mk: Add test.py to EXE search path
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-01-12 14:35:39 +00:00
015072ca19 upload-defs.mk: Add support for UPLOAD_PROTOCOL
UPLOAD_PROTOCOL is a variable which can be defined by the including Makefile to
tweak the protocol an upload is done over

Signed-off-by: Jan Lindemann <jan@janware.com>
2023-12-18 13:00:43 +00:00
ae1a4dd242 svg.mk: Inkscape --export-pdf is not supported anylonger
inkscape --export-pdf is not supported anylonger, replace that with --export-filename.

Signed-off-by: Jan Lindemann <jan@janware.com>
2023-12-18 13:00:42 +00:00
069b82b3cd defs.mk: Beautify INSTALLED_RSYSLOG variable
INSTALLED_RSYSLOG contained duplicates, fix that

Signed-off-by: Jan Lindemann <jan@janware.com>
2023-12-18 13:00:40 +00:00
ce7044808f project.conf: Python -> python3 on Debian
Ubuntu 22.04 (and supposedly all Debian based distros) don't have
a package called python anylonger, and use python3 instead. Using
the unversioned [requires] sections for simplicity. Note that this
might break backwards compatibility, and should be fixed as necessary.

Signed-off-by: Jan Lindemann <jan@janware.com>
2023-07-07 08:48:00 +00:00
17851c9d11 projects.mk / py-defs.mk: Support Python 3.10
The current globbing pattern for filling the PYTHON variable doesn't
account for the fact that /usr/bin/python3.X might have more than one
digit for X, fix that

Signed-off-by: Jan Lindemann <jan@janware.com>
2022-10-04 11:05:24 +00:00
c87986624f py-mods.mk: Add missing py.clean
py.clean is not run for clean target, fix that

Signed-off-by: Jan Lindemann <jan@janware.com>
2022-10-04 11:03:29 +00:00
53491b490d debugger.mk: Remove .gdb_history with distclean target
Signed-off-by: Jan Lindemann <jan@janware.com>
2021-01-15 10:58:29 +00:00
d6e1eaf547 depend.mk: Make .o.dep.mk also depend on $(SRC_H)
This should prevent some errors during compilation.

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-12-01 16:24:43 +00:00
c43fd8d0aa defs-cpp.mk: Add .hh to LOCAL_H
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-12-01 16:24:42 +00:00
cec581c8f6 vim.mk: Add variable INSTALL_VIM_SYSTEM_PATH
Add INSTALL_VIM_SYSTEM_PATH for use in including makefiles

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-12-01 16:21:21 +00:00
0596109c36 run.mk: Add variable EXE_CMD
Add variable EXE_CMD to be overriden in including makefiles

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-12-01 16:21:20 +00:00
8d2b093cc6 defs.mk: Replace tr invocations by $(TR)
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-12-01 16:21:19 +00:00
50988845d7 defs.mk: Add .hh to SRC_H
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-11-30 16:52:50 +00:00
4ebe82970f projects-dir.mk: Make INTERACTIVE=true default
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-11-30 13:32:30 +00:00
e06ead38cc swig.mk, defs-(dist|dev).mk: Fix Python 3 support
python38.pc doesn't exist on OpenSUSE Tumbleweed, python-38.pc does, so use
that naming scheme. Also allow installation with DEVELOPMENT=true, failed with
the attempt to install as root user before.

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-11-21 13:09:15 +00:00
b35b87009b topdir.mk: Add pkg-manager targets
Add targets also present in projects-dir.mk:

  - Pkg-manager-refresh
  - Pkg-manager-install-build-deps
  - Pkg-manager-install-release-deps

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-11-11 16:16:42 +00:00
6846acbdf7 svg.mk: Fix inkscape command line API change on --export-png
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-08-29 14:01:42 +00:00
c37f49a170 project.conf + pkg-manager.sh: Add support for raspbian
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-06-16 17:05:03 +00:00
f3febfa460 py-defs.mk, projects.mk: Fix /usr/bin/python globbing on OpenSUSE
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-05-18 13:15:35 +00:00
caf33841b4 py-defs.mk, projects.mk: Use latest install Python
Use $(lastword $(shell ls -v /usr/bin/python[0-9]*)) for the Python version to use.

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-05-16 13:22:51 +00:00
a82fa9023b py-xxx.mk: Introduce PYTHON_MAJOR
Where *.pyc files are created is decided by PYTHON_MAJOR, not PYTHON_VERSION,
so introduce it.

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-05-16 13:09:16 +00:00
5e9168480a project-dirs.mk / pgit.sh: Add support for offlining projects
This adds support for the variable OFFLINE_PROJECTS in projects-dir.mk and the
PGIT_IGNORE environment variable. Both go hand in hand and do what their names
insinuate. OFFLINE_PROJECTS is initialized from EXCLUDE_FROM_BUILD, which in
turn is initialized from exclude.txt and friends.

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-05-10 08:07:22 +00:00
fab119fca9 py-defs.mk: Add MYPYPATH to py-libpath target
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-26 19:04:18 +00:00
f9c7582e2b rpmdist.mk: Fix target echo-requires
echo-requires doesn\'t work because all non-pkg-% targets are disabled
in rpmdist.mk, so rename it to pkg-requires. Also add support for build
deps.

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-12 06:13:31 +00:00
a404be15b9 make, scripts: Add support for static Python typechecking
This commit adds support for static typechecking with mypy.

Notable additions:

  - A new target "check" which does the type checking

  - Py-mods.mk, meant to be included from a directory containing python modules
    in subdirectories, but not being a python module itself. It makes the all
    target depend on check only if PY_RUN_CHECK_AFTER_BUILD is defined and
    true.  That's because pypy is under heavy development, and the Ubuntu 18.04
    version is too old to work for lots of the code.

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-10 12:13:12 +00:00
47221aabdb defs-dirs.mk: Add support for EXTRA_SUBDIR_TARGETS
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-10 12:03:42 +00:00
477d4e2d8d rpmdist.mk: Remove make/.cache.mk with clean target
make rpm-build sometimes fails because RPM_VERSION is taken from .cache.mk. Not
sure if this commit always resolves that entirely, but it mitigates the
problem.

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-05 12:51:10 +00:00
d8542717b1 py-defs.mk: Add PY_PREREQ_RUN in PYTHONPATH
This allows to specify modules in a test directory which a given module does
_not_ depend on and doesn't want to depend on.

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-04-05 12:51:08 +00:00
3e99fe51cd projects-dir.mk: Don't do git-pull.done before git-pull-%
Use cvs-update.done instead of git-pull.done as prerequisite
of git-pull-%, because otherwise broken remote own repos
might not be recoverable

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-03-23 08:13:14 +00:00
640dc4ffad git-submod.mk: Check a couple of variables before taking action
Add checks to the git-init-submod-remote target, to keep it from
starting a job which fails halfway through

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-02-25 10:39:24 +00:00
34c5d3ec21 proj.mk: Set JANWARE_URL_DOC_PROJECT to jw-build cheat sheet
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-02-24 12:19:05 +00:00
f8765bf0f2 qt-defs.mk: Fix QT_BIN_PREFIX
pkg-config --variable=host_bins <modules> returns a trailing whitespace, which
breaks QT_BIN_PREFIX, fix that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-02-10 19:52:56 +00:00
9370121c65 Fix: Tried to purge on first download without jw-build present
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-01-20 09:21:35 +00:00
db06828ec4 dev-utils.mk indent-makefiles: Only current directory
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-20 10:57:43 +00:00
20e599c049 projects-dir.mk: Add python3 to BASE_PKGS
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-10 18:51:39 +00:00
2a57902480 projects-dir.mk: Mention help target in comment
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-09 09:57:16 +00:00
82f48a4630 projects-dir.mk: Add help target
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-09 09:52:31 +00:00
36bf04a4d2 projects-dir.mk: Do pull.done before git-pull-%
This might fix a situation where make git-pull-<user> fails,
because jw-build isn't there, yet

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-07 19:22:53 +00:00
6bdb16878a make: Replace "pereq" in targets by "deps"
"prereq" is simply impossible to use in explanations with a straight face.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-07 19:21:08 +00:00
92726d14a4 cache.mk: Replace $(RM) by rm
$(RM) is a cached variable, so it's not a good idea to
use it in cache.mk to get to a clean state

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-19 13:13:22 +00:00