office-gobmx/odk/CustomTarget_allheaders.mk
Christian Lohmaier 57c5d044dc bump minimum make version to 4.0 (for $(file …) function)
This already was a requirement for Windows for a few years now, and make
4.0 was released nearly 9 years ago, and it has been used in LO's build
system since it has been added 11 years ago while it was only available
in prerelease versions of make, providing an alternative workaround for
systems that didn't have make built from cvs… I guess it is finally time
to get rid of those workarounds and just require make 4.0 for everyone.

NOTE: reading files with the $(file …) function was only added with
version 4.2 of GNU make, and just using it without contents was added in
4.1, so those usages aren't supported

Change-Id: Ia1c2c86cfdbbd81f349bb9f7188299e16bdd155f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143910
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2022-12-13 15:03:24 +00:00

43 lines
1.3 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_CustomTarget_CustomTarget,odk/allheaders))
odk_allheaders_DIR := $(call gb_CustomTarget_get_workdir,odk/allheaders)
$(call gb_CustomTarget_get_target,odk/allheaders) : \
$(odk_allheaders_DIR)/allheaders.hxx
define odk_genincludesheader
// Generated list of sal includes
#ifdef _WIN32
#include <windows.h>
#endif
endef
define odk_geninclude
$(if $(2),#ifdef _WIN32)
#include <$(subst $(INSTDIR)/$(SDKDIRNAME)/include/,,$(1))>
$(if $(2),#endif)
endef
$(odk_allheaders_DIR)/allheaders.hxx : \
$(call gb_Package_get_target,odk_headers) \
$(call gb_Package_get_target,odk_headers_generated) \
| $(odk_allheaders_DIR)/.dir
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1)
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),ECH)
$(file >$@,\
$(call odk_genincludesheader) \
$(foreach file,$(shell cat $^),$(call odk_geninclude,$(file),$(findstring /win32/,$(file)))))
$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),ECH)
# vim: set noet sw=4 ts=4: