Commit graph

2,096 commits

Author SHA1 Message Date
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
9e936455fc py-rules.mk: Remove *.rep with clean target
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-19 13:12:16 +00:00
2a0694a497 defs.mk: Add PRISTINE_MAKE
make carries MAKEFLAGS, PATH, LD_LIBRARY_PATH and umask from the environment to
sub-makes, which sometimes is undesirable. So, instead of make -C,
$(PRISTINE_MAKE) -C will start a sub-make with a minimal environment consisting
of MINIMAL_UMASK, MINIMAL_PATH, MINIMAL_LD_LIBRARY_PATH and MINIMAL_MAKEFLAGS

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-19 13:11:51 +00:00
0186d346a5 project.conf: Add inkscape to pkg.requires.os.build
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-19 09:28:15 +00:00
83eeb7a2f9 Fix: Realpath is not a package anymore in Ubuntu 18.04
/usr/bin/realpath is part of coreutils in Ubuntu 18.04

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-19 09:07:57 +00:00
f9e73b54a2 project.conf: Add release package dependencies for Ubuntu
Add release dependencies devscripts, debhelper, dput, libparse-debcontrol-perl,
fakeroot, pkg-config, tested on Ubuntu 18.04.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-13 12:51:43 +00:00
921a929cd3 Ubuntu: Fix PY_SITE_PACKAGES_PATH
PY_SITE_PACKAGES_PATH is set to the first element site.getsitepackages(), which
(correctly, but in this case undesirably) is below /usr/local. Use the first
path which is not.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-13 12:49:27 +00:00
ee012a8d35 defs.mk: Fix PKG_FORMAT for Ubuntu
The PKG_FORMAT variable for Ubuntu points to rpm, which is wrong. Fix that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-13 12:49:25 +00:00
34a42cd0a4 defs.mk: Fix uniq
uniq failed on empty argument lists, fix that

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-12 18:44:36 +00:00
35def547bf py-mod.mk: Add support to async function definitions
The async keyword confused python-tools.sh, this commit fixes that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-10-28 12:20:51 +00:00
9f0276ead5 py-defs.mk: Fix clean target
pyc.clean was broken because it did rm -f __pycache__ (a directory)
Also, add include guards.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-10-28 12:20:50 +00:00
01685f5ff0 git-submod.mk: Fix vars for not yet existent submodule
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-10-01 10:55:33 +00:00
23ce1b8642 platform.mk / defs.mk fix: SHELL was referenced before definition
SHELL defaults to /bin/sh on Ubuntu 16, and was used to get-os.sh, which fails

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-08-02 05:48:32 +00:00
0944f009db doxygen.mk: Code beautification
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-29 10:32:48 +00:00
32edd25779 debugger.mk: Fix core file parsing from GDB output
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-22 15:50:40 +00:00
fe69ec6248 run.mk: Remove all core files before run
Fix: Make sure that all core files are removed before the run target's command
is executed.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-14 13:23:14 +00:00
7d7a75c389 debugger.mk, defs-cpp.mk: CORE_DUMPER was misdetected for valgrind vgcore files
gdb --core=vgcore.123 doesn't output a usable executable path with "was
generated by ...".  This commit make make gdb fall back to using $(EXE_PATH) as
the executable with valgrind core files.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-13 17:14:38 +00:00
770a42cc76 subtree.mk: Add multiple-inclusion guards
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-12 12:19:41 +00:00
31d11febd8 python-cli.mk, topdir.mk: Python2 -> $(PYTHON)
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-06 14:39:33 +00:00
9e0d5db438 topdir-autoconf.mk: Fix distclean target
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-06 14:38:56 +00:00
cc929baf99 defs-cpp.mk: Add support for SRC_ALL_CPP_IGNORE
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-06 14:34:33 +00:00
d36ec44d5e lo.mk: Fix support for LOADABLE_OBJ_IGNORE
LOADABLE_OBJ_IGNORE still had stuff rebuilt that should have been ignored, this
commit fixes that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-06 14:33:36 +00:00
e0f2e04447 Fix: Failing $(PREREQ_DIRS_DONE) doesn\'t have sub-subdirectories rebuilt
Subdirectories are now always rebuilt with FORCE_REBUILD_SUBDIRS=true.
Otherwise the above check fails to even reach the source code.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-01 17:59:09 +00:00
07abf3f93e topdir.mk + dirs.mk fix: $(PREREQ_DIRS_DONE) was not checked
dirs-all.done doesn\'t check $(PREREQ_DIRS_DONE), this commit fixes that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-01 17:37:10 +00:00
6c2fa903c7 Fix: Don't set CC, LD, CXX via ?=
CC, LD and CXX are builtin, and they also override ?=, so ?= is pointless.

This solution disallows specifying a compiler from the environment. There
should be some solution with $(origin CC), but this seems too clunky for now.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-01 15:48:28 +00:00
bdd66dbc26 Everywhere: Rename MOD_SCRIPT_DIR -> JWB_SCRIPT_DIR
Follow name change of MODDIR -> JWBDIR.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-29 21:45:24 +00:00
b2d6e6f554 Everywhere: Rename MODDIR -> JWBDIR
Rename the omnipresent MODDIR variable to JWBDIR, since that's more to the
point.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-29 21:34:18 +00:00
1ff63505e7 defs-cpp.mk: Beautify defs-cpp.mk
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-29 19:50:33 +00:00
3985c929ae topdir.mk: Ignore SUBDIRS without Makefile
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-29 19:09:08 +00:00