Branch libreoffice-5-0-4
[LibreOffice.git] / solenv / gbuild / Tempfile.mk
blob3fede2abb7748236b069ab60d6119940da3aa6ec
1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
3 # This file is part of the LibreOffice project.
5 # This Source Code Form is subject to the terms of the Mozilla Public
6 # License, v. 2.0. If a copy of the MPL was not distributed with this
7 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 # This file incorporates work covered by the following license notice:
11 # Licensed to the Apache Software Foundation (ASF) under one or more
12 # contributor license agreements. See the NOTICE file distributed
13 # with this work for additional information regarding copyright
14 # ownership. The ASF licenses this file to you under the Apache
15 # License, Version 2.0 (the "License"); you may not use this file
16 # except in compliance with the License. You may obtain a copy of
17 # the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 ifneq ($(HAVE_GNUMAKE_FILE_FUNC),)
21 define var2file
22 $(file >$(1),$(3))$(1)
23 endef
24 else
25 # Write string to temporary file by chopping into pieces that
26 # fit the commandline
27 # parameters: filename, maxitems (for one write), string
28 # returns: filename
29 define var2file
30 $(strip $(1)
31 $(eval gb_var2file_helpervar := $$(shell printf "%s" "" > $(1) ))\
32 $(eval gb_var2file_curblock := $(firstword $(3)))\
33 $(foreach item,$(wordlist 2,99999,$(3)),$(eval gb_var2file_curblock += $(item)
34 ifeq ($$(words $$(gb_var2file_curblock)),$(2))
35 gb_var2file_helpervar := $$(shell printf "%s" "$$(gb_var2file_curblock)" >> $(1) )
36 gb_var2file_curblock :=
37 endif
38 ))\
39 $(eval gb_var2file_helpervar := $(shell printf "%s\n" "$(gb_var2file_curblock)" >> $(1) )
40 gb_var2file_curblock :=
42 endef
43 endif
45 # vim: set noet sw=4 ts=4: