solenv/gbuild/LinkTarget.mk         |   11 -----------
 solenv/gbuild/PrecompiledHeaders.mk |   10 ++++------
 solenv/gbuild/gbuild.mk             |    3 +++
 3 files changed, 7 insertions(+), 17 deletions(-)

New commits:
commit df62514556b4220a4c099c00a34f28dd7fe88626
Author:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
AuthorDate: Tue Jul 11 18:27:36 2023 +0200
Commit:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
CommitDate: Mon Apr 22 13:33:46 2024 +0200

    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+libreoff...@googlemail.com>

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:

Reply via email to