From 8305b41bb262b6e249f2551639fa88392e152287 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann 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 > 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