# Store per-directory variables #$(call MemoizeVariables, CFLAGS LDFLAGS LIBS) file-vars := $(filter $(foreach m,$(local-vars),$(m)_%),$(.VARIABLES)) file-vars := $(filter-out $(foreach m,$(local-vars),$(m)_ALL),$(file-vars)) $(foreach m,$(file-vars),$(eval $(call MemoizeVariable,$(m)))) # Handle this directory's rules $(foreach m,$(libs-y),$(eval $(call CreateLibrary,$(m)))) $(foreach m,$(progs-y),$(eval $(call CreateProgram,$(m)))) # Handle subdir of this subdir subdirs--$(recursion-level) := $(addsuffix /,$(subdirs-y)) include $(subdirs-y:%=$(build-prologue) $(current-dir)%/TFbuild $(build-epilogue)) # And restore parent context $(foreach m,$(local-vars),$(eval $(call MemoizeAndPopVariable,$(m)))) current-dir := $(parent-dir--$(recursion-level)) current-dirc := $(parent-dirc--$(recursion-level))