summaryrefslogtreecommitdiff
path: root/solenv/gbuild/Tempfile.mk
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/gbuild/Tempfile.mk')
-rw-r--r--solenv/gbuild/Tempfile.mk18
1 files changed, 18 insertions, 0 deletions
diff --git a/solenv/gbuild/Tempfile.mk b/solenv/gbuild/Tempfile.mk
new file mode 100644
index 000000000000..d87fc373fc9b
--- /dev/null
+++ b/solenv/gbuild/Tempfile.mk
@@ -0,0 +1,18 @@
+# Write string to temporary file by chopping into pieces that
+# fit the commandline
+# parameters: filename, maxitems (for one write), string
+# returns: filename
+define var2file
+$(strip $(1)
+$(eval gb_var2file_helpervar := $$(shell printf "%s" "" > $(1) ))\
+$(foreach item,$(3),$(eval gb_var2file_curblock += $(item)
+ ifeq ($$(words $$(gb_var2file_curblock)),$(2))
+ gb_var2file_helpervar := $$(shell printf "%s" "$$(gb_var2file_curblock)" >> $(1) )
+ gb_var2file_curblock :=
+ endif
+ ))\
+ $(eval gb_var2file_helpervar := $(shell echo " "$(gb_var2file_curblock) >> $(1) )
+ gb_var2file_curblock :=
+ ))
+endef
+