summaryrefslogtreecommitdiff
path: root/solenv/gbuild/Tempfile.mk
blob: 87f582b6981b2dd1c8e473a2e890333ddf6f4b8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-

ifeq ($(HAVE_GNUMAKE_FILE_FUNC),YES)
define var2file
$(file >$(1),$(3))
endef
else
# 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
endif

# vim: set noet sw=4 ts=4: