42 lines
1.6 KiB
Groff
42 lines
1.6 KiB
Groff
|
From 8305b41bb262b6e249f2551639fa88392e152287 Mon Sep 17 00:00:00 2001
|
||
|
From: Stephan Bergmann <sbergman@redhat.com>
|
||
|
Date: Tue, 7 Sep 2021 08:47:32 +0200
|
||
|
Subject: [PATCH] extern/cloop: Missing dependencies of compilations on output
|
||
|
directories
|
||
|
|
||
|
When building Firebird 3.0.7 as part of LibreOffice, we noticed occasional build
|
||
|
failures like <https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/96392/>
|
||
|
|
||
|
> error: unable to open output file '/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/firebird/temp/Debug/cloop/release/tests/test1/CTest.o': 'No such file or directory'
|
||
|
> 1 error generated.
|
||
|
> Makefile:72: recipe for target '/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/firebird/temp/Debug/cloop/release/tests/test1/CTest.o' failed
|
||
|
|
||
|
and while target "all" depends on target "mkdirs" (which would create all those
|
||
|
directories) in extern/cloop/Makefile, there is no order among the dependencies
|
||
|
of "all", so no guarantee that the directories are already created when the
|
||
|
compilation recipes are executed.
|
||
|
---
|
||
|
extern/cloop/Makefile | 4 ++--
|
||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/extern/cloop/Makefile b/extern/cloop/Makefile
|
||
|
index 3fca0c7356..c5a2b52628 100644
|
||
|
--- a/extern/cloop/Makefile
|
||
|
+++ b/extern/cloop/Makefile
|
||
|
@@ -54,10 +54,10 @@ vpath %.c $(SRC_DIRS)
|
||
|
vpath %.cpp $(SRC_DIRS)
|
||
|
|
||
|
define compile
|
||
|
-$1/%.o: %.c
|
||
|
+$1/%.o: %.c | $1
|
||
|
$(CC) -c $$(C_FLAGS) $$< -o $$@
|
||
|
|
||
|
-$1/%.o: %.cpp
|
||
|
+$1/%.o: %.cpp | $1
|
||
|
$(CXX) -c $$(CXX_FLAGS) $$< -o $$@
|
||
|
endef
|
||
|
|
||
|
--
|
||
|
2.31.1
|
||
|
|