summaryrefslogtreecommitdiffstats
path: root/build/TFbuild.epilogue
diff options
context:
space:
mode:
Diffstat (limited to 'build/TFbuild.epilogue')
-rw-r--r--build/TFbuild.epilogue20
1 files changed, 20 insertions, 0 deletions
diff --git a/build/TFbuild.epilogue b/build/TFbuild.epilogue
new file mode 100644
index 0000000..af0baad
--- /dev/null
+++ b/build/TFbuild.epilogue
@@ -0,0 +1,20 @@
+# 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))