summaryrefslogtreecommitdiff
path: root/solenv/gbuild
diff options
context:
space:
mode:
authorChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2023-07-11 18:27:36 +0200
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2024-04-22 13:33:46 +0200
commitdf62514556b4220a4c099c00a34f28dd7fe88626 (patch)
treeffea19e36fa735f92e334d482324f60b278c15a7 /solenv/gbuild
parent5511a7b77bcceb812737533de1184c5d009f0a78 (diff)
add generic %/.dir target that can be used in order-only prerequisites
Change-Id: I7a919004100ff6319806bbdf016fda6a3a39661a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166327 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Diffstat (limited to 'solenv/gbuild')
-rw-r--r--solenv/gbuild/LinkTarget.mk11
-rw-r--r--solenv/gbuild/PrecompiledHeaders.mk10
-rw-r--r--solenv/gbuild/gbuild.mk3
3 files changed, 7 insertions, 17 deletions
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 85139659c634..f4d15f411516 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -279,11 +279,6 @@ endif
# Note: if the *Object_dep_target does not exist it will be created by
# concat-deps as PHONY
ifeq ($(gb_FULLDEPS),$(true))
-$(dir $(call gb_CObject_get_dep_target,%)).dir :
- $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
-
-$(dir $(call gb_CObject_get_dep_target,%))%/.dir :
- $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
$(call gb_CObject_get_dep_target,%) :
$(if $(wildcard $@),touch $@)
@@ -342,12 +337,6 @@ $(call gb_CxxObject_get_target,%) : $(call gb_CxxObject_get_source,$(SRCDIR),%)
endif
ifeq ($(gb_FULLDEPS),$(true))
-$(dir $(call gb_CxxObject_get_dep_target,%)).dir :
- $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
-
-$(dir $(call gb_CxxObject_get_dep_target,%))%/.dir :
- $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
-
$(call gb_CxxObject_get_dep_target,%) :
$(if $(wildcard $@),touch $@)
diff --git a/solenv/gbuild/PrecompiledHeaders.mk b/solenv/gbuild/PrecompiledHeaders.mk
index 60445c28efbe..429ea57de201 100644
--- a/solenv/gbuild/PrecompiledHeaders.mk
+++ b/solenv/gbuild/PrecompiledHeaders.mk
@@ -25,8 +25,8 @@ gb_PrecompiledHeader__get_debugdir = $(if $(call gb_target_symbols_enabled,$(1))
# $(call gb_PrecompiledHeader_generate_timestamp_rule,linktargetmakefilename)
define gb_PrecompiledHeader_generate_timestamp_rule
-$(call gb_LinkTarget_get_pch_timestamp,$(1)) :
- mkdir -p $$(dir $$@) && touch $$@
+$(call gb_LinkTarget_get_pch_timestamp,$(1)) : | $(dir $(call gb_LinkTarget_get_pch_timestamp,$(1))).dir
+ touch $$@
endef
@@ -46,10 +46,8 @@ gb_PrecompiledHeader_flags_for_flags_file := $$(sort $(gb_PrecompiledHeader_cxxf
# $(call gb_PrecompiledHeader_generate_rules,pchtarget,linktarget,linktargetmakefilename,pchcxxfile,compiler)
define gb_PrecompiledHeader_generate_rules
-$(call gb_PrecompiledHeader_get_dep_target,$(1),$(3)) :
- $$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $$(dir $$@) && \
- echo "$$(call gb_PrecompiledHeader_get_target,$(1),$(3)) : $$(gb_Helper_PHONY)" > $$@)
+$(call gb_PrecompiledHeader_get_dep_target,$(1),$(3)) : | $(dir $(call gb_PrecompiledHeader_get_dep_target,$(1),$(3))).dir
+ echo "$$(call gb_PrecompiledHeader_get_target,$(1),$(3)) : $$(gb_Helper_PHONY)" > $$@
# keep the flags the PCH was built with in a separate file, update the file if and only if the flags
# change, and make the PCH depend on it => the PCH will be rebuilt on any flags change
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index a36b2b758479..2f5704896d42 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -373,4 +373,7 @@ ifneq ($(CCACHE_DEPEND_MODE),)
gb_COMPILER_SETUP += CCACHE_DEPEND=1
endif
+$(WORKDIR)/%/.dir:
+ mkdir -p $(@D) && touch $@
+
# vim: set noet sw=4: