2019-02-28 13:22:12 +00:00
|
|
|
# ----- define these variables
|
|
|
|
|
# CACHED_FILES = $(TOPDIR)/VERSION
|
|
|
|
|
# CACHED_VARS = VERSION
|
2019-02-28 14:48:57 +00:00
|
|
|
.PHONY: cache
|
2019-02-28 13:22:12 +00:00
|
|
|
|
|
|
|
|
CACHE_FILE_MK ?= .cache.mk
|
|
|
|
|
|
|
|
|
|
# if not checked against MAKECMDGOALS, a standard rule kicks in from rules.mk,
|
|
|
|
|
# and $(CACHE_FILE_MK) is remade with the clean target
|
2019-02-28 14:48:57 +00:00
|
|
|
all: cache
|
|
|
|
|
ifneq ($(foreach g,all cache,$(findstring $(g),$(MAKECMDGOALS))),)
|
|
|
|
|
cache: $(CACHE_FILE_MK)
|
2019-06-29 21:34:18 +00:00
|
|
|
$(CACHE_FILE_MK): $(CACHED_FILES) $(JWBDIR)/make/cache.mk
|
2019-02-28 13:22:12 +00:00
|
|
|
ifeq ($(wildcard $(CACHE_FILE_MK)),)
|
|
|
|
|
@echo $(foreach v,$(CACHED_VARS),$v := $(value $(v))EOL) | $(SED) 's/EOL */\n/g;' | $(GREP) . | tee $@.tmp
|
|
|
|
|
mv $@.tmp $@
|
|
|
|
|
else
|
|
|
|
|
rm $@
|
|
|
|
|
make $@
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
clean: clean-cache
|
|
|
|
|
clean-cache:
|
2019-11-19 13:13:22 +00:00
|
|
|
rm -f $(CACHE_FILE_MK)
|