9e245c986e
make: Further improve build time
...
This commit sees several improvements to the build performance:
- Introduce cache.mk, which creates makefiles caching often used variables, per tree and per project. - Define more variables with := enclosed in condistions, instead of defining them with ?=, because the RHS of ?= is expanded deferredly. - Add more definitions for executables. - Move some more specialized definitions out into specialized makefiles, notably htdocs.mk and tmpl.mk
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-28 13:22:12 +00:00
316435bb78
$(MODDIR)/make/defs.mk: Split off defs-cpp.mk with C++ definitions
...
C++ definitions are numerous, and they shouldn't pollute variable space and performance outside of directories containing C++ files. This commit pushes them into a defs-cpp.mk file.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-27 20:46:54 +00:00
54d5790167
$(MODDIR)/make/defs.mk: Set HDRDIR_SCOPE_PREFIX = $(PROJECT)
...
Set HDRDIR_SCOPE_PREFIX = $(PROJECT) by default.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-27 17:29:59 +00:00
cec620c00e
defs.mk: Reduce multiple invocations of external commands
...
Many external commands are called unnecessarily often, because either there's a GNU Make internal alternative, or because they are invoked from within a recursively defined variable. This patch adresses that and lessens make invocation time per directory by factor 3.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-27 16:44:02 +00:00
e16b4c6d82
defs.mk: Fix MAKE_BENCHMARK support
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-27 14:49:05 +00:00
e5133234bb
defs.mk: Fix broken TARGET_ARCH, _VENDOR, _OS, _ABI
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-27 14:18:35 +00:00
9f2524c736
defs.mk: Fix missing ARCH_32 constant
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-27 13:56:13 +00:00
a0a6dec506
defs.mk: Some cleanup in target platform variables
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-27 11:56:57 +00:00
51e1d2a246
get-os.sh: Add support for command tuple
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-27 11:56:54 +00:00
b37359a725
$(MODDIR)/make/defs.mk: Replace variable OS with OS_NAME_VERSION
...
OS_NAME_VERSION is less ambiguous.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-27 10:22:27 +00:00
6518acdb5a
mcu-defs.mk, mcu-topdir.mk: Add mcu-defs.mk and mcu-topdir.mk
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-27 10:22:24 +00:00
2061d731f5
projects-dir.mk: Add time measurement to make all
...
The "all" target's command is now preceded by /usr/bin/time by default
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-16 10:16:19 +00:00
0a04f98785
projects.mk: Disable proj_query macros for undefined $TOPDIR
...
proj_query based commands run projects.py, which needs $(TOPDIR), which in turn is undefined, notably for standalone-exe.mk. This commit avoids related warnings.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-14 09:00:41 +00:00
34fbea1876
pkg.sh log-install: Fix -A option
...
Switch -A was passed with a bogus : to getopt
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-07 11:04:46 +00:00
098653aed2
pgit.sh: Add --recurse-submodules to all git fetch, pull and push
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-07 11:04:45 +00:00
019dd47c02
pkg.sh log-install: Fix link-in target for shared libraries
...
Shared libraries were detected as executables, which is true in a way, but still the log-install target shouldn't wrap them into scripts.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-05 15:02:36 +00:00
73f97ba3b4
rpmdist.mk: Add target pkg-build-install
...
The target comes in handy for installing all packages in a dependency list not already installed.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-05 15:02:35 +00:00
eecc030d74
create-mkspec.sh: Add support for global.vendor config entry
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-30 16:23:40 +00:00
bcbc9f83bc
defs.mk: Change build C|CPP|LDFLAGS order
...
Order is now: $(LOCAL_CFLAGS) $(PROJECT_CFLAGS) $(COMPLILER_CFLAGS) which resulted in header files specified in $(LOCAL_CFLAGS) found after those of $(PROJECT_CFLAGS).
Still not optimal, as this way other general flags, e.g. optimization flags, override more specialized ones. Maybe use INCLUDES instead.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-30 16:23:36 +00:00
f1d9bba070
targets-tools.mk: Fix HDRDIR_SCOPE_SUFFIX for nested include dir structure
...
The attempt to have local include directory with HDRDIR_SCOPE_SUFFIX pointing to the working directory failed the last time around. This commit tries to fix that.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-30 16:23:29 +00:00
88bf4b381b
conf.mk, crontab.mk: Fix accidental cleanup of .h in conf.mk and crontab.mk
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-30 16:23:24 +00:00
9fd2f3f9ec
topdir.mk: Remove *dist* with topdir.distclean
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-30 16:23:20 +00:00
bcebe4dbd3
defs.mk: Fix commit 6fc4125
...
Commit 6fc4125 introduced broken installation paths if PROJECT was auto-detected. It included the version.
Also include *.ini into LOCAL_CFG by default.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-30 16:23:15 +00:00
522eb228ce
scm.sh: Automatically activate opt_no_submodules for git 1.x
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-30 16:23:11 +00:00
6a4092b8af
topdir.mk: Don't set default SUBDIRS if ORDERED_SUBDIRS is set
...
If ORDERED_SUBDIRS is set, SUBDIRS should by default start with $(ORDERED_SUBDIRS), and filled up with what $(FIND_SUBDIRS) turns up.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-30 16:23:07 +00:00
d7da4f1cb8
mkspec-wrapper.sh: Fix append() for special characters
...
The append() shell function was unable to cope with special characters, notably with () in RPM provides libnnz12.so()(64bit), this commit fixes that. And introduces some (disabled) debug code into projects.py.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-30 16:23:03 +00:00
8d30bbf748
defs.mk, get-os.sh: Define OSTYPE as linux on Linux
...
The environment variable OSTYPE contains different values on Linux: Linux on OpenSUSE and linux-gnu on RHEL / CentOS
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-30 16:22:58 +00:00
19e4095c94
proj.mk: Define MODDIR with ?=, to allow external jw-build
...
jw-build can handle its own builds and releases, but fixing that can be nicer if the development and the test directory are seperate
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-08 11:12:32 +00:00
bb58932e24
git-cvs-bridge.mk: Add support for GIT_CVSIMPORT_EXTRA_ARGS
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-08 11:03:36 +00:00
c713793e16
srcdist.mk: Make wd-upload work with upload-defs.mk
...
wd-upload doesn\'t work at all, because it clashed with rpmdist.mk defining stuff used by the upload-*.mk files. The RPM-side of things is left untested.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-08 10:53:32 +00:00
c8e664bcb9
Makefile, git-cvs-bridge.mk, srcdist.mk: Add git-cvs-bridge.mk
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-08 08:55:17 +00:00
9f4d0adf5f
srcdist.mk: Trade obsolete contents for VCS-aware tarball generation
...
Ditch the old and mostly dysfunctional contents of srcdist.mk and refill it with rules to generate a source code tarball containing version control meta files.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-08 08:09:06 +00:00
c12b242a72
upload-*.mk: Remove redundant variable definitions
...
Merge redundant upload definitions from upload.mk / upload-defs.mk.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-08 07:26:59 +00:00
f502fcd9c2
defs.mk: Remove some unnecessary invocations of /bin/pwd
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-08 07:14:44 +00:00
f28afc777c
make, scripts: Add support for [pkg.provides.xxx]
...
Add Support for manually specifying arbitrary package capabilities in project.conf.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-07 14:34:58 +00:00
c6f81d4f4c
mkspec-wrapper.sh: Support for --provides-run and --provides-devel
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-07 13:36:28 +00:00
6b740f72ff
mkspec-wrappper.sh: Simplify getopt code
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-07 10:06:00 +00:00
0cb3f38258
mkspec-wrappper.sh: Minor code beautification
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-07 09:41:51 +00:00
559198f765
pgit.sh: Run update-descriptions after push during clone
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-04 18:06:00 +00:00
53a75a70a7
git-srv-admin.sh: Beautify code
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-04 18:04:17 +00:00
98e7606029
defs.mk, rpmdist.mk, pkg.sh: Fix detection of rpmbuild path
...
$HOME/rpmbuild was not correctly assumed as build directory if it doesn't exist.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-03 20:00:01 +00:00
00a52c9039
pgit.sh: Don't pull fetchuser into current master, only fetch
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-03 12:10:00 +00:00
c17d563991
topdir.mk: Run make git-update-project-description after initializing git repo
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-03 11:33:31 +00:00
412cba229e
Release 1.0.0-84@centos-7/x86_64
...
Signed-off-by: Janware DevOps <devops@janware.com>
2018-12-28 14:17:42 +00:00
7c8bb4a6ab
Release 1.0.0-84@debian-8/amd64
...
Signed-off-by: Janware DevOps <devops@janware.com>
2018-12-28 13:56:51 +00:00
ed8b3918cc
py-defs.mk: Allow PY_INSTALL_DIR to be overridden (?=)
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-28 13:46:23 +00:00
0a63920e60
bin/Makefile:
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-28 13:33:48 +00:00
f195f1c366
create-mkdebian.sh: Fix broken double quotes
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-28 13:33:08 +00:00
f8b575f42d
bin.mk: Fix missing include $(MODDIR)/make/defs.mk
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-28 13:22:03 +00:00
9b44eb7370
Release 1.0.0-84@suse-tumbleweed/x86_64
...
Signed-off-by: Janware DevOps <devops@janware.com>
2018-12-28 12:32:07 +00:00