From: Ian Jackson Date: Wed, 14 Apr 2021 21:47:37 +0000 (+0100) Subject: build: Fix a build race involving target/bundled-sources X-Git-Tag: otter-0.5.0~58 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=c7a3b44d86a42312cdefb980dca00e4c0b100540;p=otter.git build: Fix a build race involving target/bundled-sources Symptoms: cp: cannot create regular file '/home/user/otter/target/bundled-sources/README.md': No such file or directory Reported-by: Aldabra Stoddart Signed-off-by: Ian Jackson --- diff --git a/Makefile b/Makefile index c4340bb5..5c293117 100644 --- a/Makefile +++ b/Makefile @@ -249,19 +249,23 @@ bundled-sources:: $(addprefix bundled-sources/, $(BUNDLED_SOURCES_DIRS)) TARGET_BUNDLED=$(TARGET_DIR)/bundled-sources +$(TARGET_BUNDLED): + $(NAILING_CARGO_JUST_RUN) mkdir -p $@ + $(addprefix bundled-sources/, $(BUNDLED_SOURCES_DIRS)): \ -bundled-sources/%: stamp/cargo.bundle-sources +bundled-sources/%: stamp/cargo.bundle-sources $(TARGET_BUNDLED) set -e; d=$(abspath $(TARGET_BUNDLED)); \ - $(NAILING_CARGO_JUST_RUN) mkdir -p $$d; \ $(if $(filter-out otter,$*), cd ../$*;) \ $(BUNDLE_SOURCES_CMD) --output $$d/$* bundled-sources:: $(addprefix $(TARGET_BUNDLED)/, $(BUNDLED_SOURCES_FILES)) -$(addprefix $(TARGET_BUNDLED)/, $(BUNDLED_SOURCES_LIT)): $(TARGET_BUNDLED)/%: % +$(addprefix $(TARGET_BUNDLED)/, $(BUNDLED_SOURCES_LIT)): \ +$(TARGET_BUNDLED)/%: % $(TARGET_BUNDLED) $(NAILING_CARGO_JUST_RUN) cp $(abspath $(src))/$< $(abspath $@) -$(TARGET_BUNDLED)/index.html: bundled-sources-make-index $(MAKEFILE_DEP) +$(TARGET_BUNDLED)/index.html: bundled-sources-make-index \ + $(MAKEFILE_DEP) $(TARGET_BUNDLED) $(NAILING_CARGO_JUST_RUN) sh -ec ' \ cd $(abspath $(src)); mkdir -p $(dir $@); \ ./$< >$@.tmp $(BUNDLED_SOURCES_LINKS); \