diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2019-09-19 16:54:25 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2019-09-20 10:48:02 +0200 |
commit | db123abade41a54d34add4fae46b769cd863de7f (patch) | |
tree | fec57f94f86acde33a6de85aef705a29b627a8f0 /compilerplugins | |
parent | 77dec7588c9141b03f8ec0139eb96c298b26f261 (diff) |
rebuild sharedvisitor.cxx if any of its sources disappears
Testcase: Remove any reference to LO_CLANG_SHARED_PLUGINS from e.g.
blockblock.cxx, sharedvisitor.cxx should get regenerated.
Change-Id: Iddff3cf41c223cfdf161060d29bde9df1df7b702
Reviewed-on: https://gerrit.libreoffice.org/79194
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'compilerplugins')
-rw-r--r-- | compilerplugins/Makefile-clang.mk | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/compilerplugins/Makefile-clang.mk b/compilerplugins/Makefile-clang.mk index ac23edf6cb2b..1a2ceef369df 100644 --- a/compilerplugins/Makefile-clang.mk +++ b/compilerplugins/Makefile-clang.mk @@ -275,6 +275,28 @@ $(CLANGOUTDIR)/sharedvisitor: -include $(CLANGOUTDIR)/sharedvisitor/analyzer.d -include $(CLANGOUTDIR)/sharedvisitor/generator.d # TODO WNT version + +# Remember the sources that are shared and if they have changed, force sharedvisitor.cxx generating. +# Duplicated from CLANGSRCCHANGED above. +CLANGSRCSHAREDCHANGED= \ + $(shell mkdir -p $(CLANGOUTDIR) ; \ + echo $(SHARED_SOURCES) | sort > $(CLANGOUTDIR)/sources-shared-new.txt; \ + if diff $(CLANGOUTDIR)/sources-shared.txt $(CLANGOUTDIR)/sources-shared-new.txt >/dev/null 2>/dev/null; then \ + echo 0; \ + else \ + mv $(CLANGOUTDIR)/sources-shared-new.txt $(CLANGOUTDIR)/sources-shared.txt; \ + echo 1; \ + fi; \ + ) +ifeq ($(CLANGSRCSHAREDCHANGED),1) +.PHONY: CLANGFORCE +CLANGFORCE: +$(CLANGOUTDIR)/sharedvisitor/sharedvisitor.cxx: CLANGFORCE +endif +# Make sharedvisitor.cxx also explicitly depend on the sources list, to force update in case CLANGSRCSHAREDCHANGED was e.g. during 'make clean'. +$(CLANGOUTDIR)/sharedvisitor/sharedvisitor.cxx: $(CLANGOUTDIR)/sources-shared.txt +$(CLANGOUTDIR)/sources-shared.txt: + touch $@ endif ifdef LO_CLANG_USE_ANALYZER_PCH |