mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
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>
This commit is contained in:
parent
9e245c986e
commit
3dd55cf067
5 changed files with 49 additions and 30 deletions
20
make/defs.mk
20
make/defs.mk
|
|
@ -7,8 +7,19 @@ JW_BUILD_DEF_MK_INCLUDED = true
|
|||
|
||||
MAKEFLAGS += -r
|
||||
|
||||
-include $(MODDIR)/make/.cache.mk
|
||||
-include $(TOPDIR)/make/.cache.mk
|
||||
define try_include
|
||||
ifneq ($(wildcard $(1)),)
|
||||
include $(1)
|
||||
endif
|
||||
endef
|
||||
|
||||
ifneq ($(wildcard $(MODDIR)/make/.cache.mk),)
|
||||
include $(MODDIR)/make/.cache.mk
|
||||
endif
|
||||
ifneq ($(wildcard $(TOPDIR)/make/.cache.mk),)
|
||||
include $(TOPDIR)/make/.cache.mk
|
||||
endif
|
||||
|
||||
include $(MODDIR)/make/platform.mk
|
||||
include $(MODDIR)/make/projects.mk
|
||||
|
||||
|
|
@ -87,11 +98,6 @@ ifndef PRINTF
|
|||
PRINTF := $(shell $(WHICH) printf)
|
||||
endif
|
||||
|
||||
# makefile helpers
|
||||
FIND_SUBDIRS := $(filter-out . .. nomake CVS $(IGNORE_SUBDIRS),\
|
||||
$(patsubst ./%,%,$(patsubst %/,%,$(dir $(shell $(FIND) . -maxdepth 2 -mindepth 2 -a \( -iname Makefile -o -iname GNUmakefile \))))))
|
||||
SUBDIRS_TO_ITERATE = $(filter-out $(IGNORE_SUBDIRS),$(SUBDIRS))
|
||||
|
||||
PKG_SH_EXE := /bin/bash $(MOD_SCRIPT_DIR)/pkg.sh
|
||||
LOG_INSTALL_SH := $(PKG_SH_EXE) log-install
|
||||
UPDATE_REPO_SH := /opt/packager-server/bin/packager-server schedule-rebuild
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue