Commit graph

3,452 commits

Author SHA1 Message Date
ab872fe334 git-submod.mk: Add support for USE_USER_URL
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-28 16:12:31 +00:00
3dd55cf067 Further improve build time: Try to avoid calling projects.py
This commit tries to remove the necessity to call projects.py from $(TOPDIR) to
speed up recursive builds over all projects yet again. This is a major
undertaking. There are two variables which are filled py projects.py in
$(TOPDIR): PREREQ and PREREQ_DIRS. Sadly, the latter is a path relative to
$(TOPDIR)/make, so this is kind of pointless. Unless the cache is maintained in
$(TOPDIR), a thing I tried to avoid. So this commit is only able to cache
$(PREREQ), not $(PREREQ_DIRS), which still is a hassle. Introduced defs-dirs.mk
for that, to make it accessible to make.mk, and modified all the other parts of
the machinery, too.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-28 14:48:57 +00:00
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