Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marian-nmt/nccl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiatre Foo <foo@riat.re>2020-07-02 19:07:43 +0300
committerSylvain Jeaugey <sjeaugey@nvidia.com>2020-07-07 20:20:51 +0300
commit2d8601701dc97527d723e91a05272624063e0c51 (patch)
treece5846577b62807e4194cae64e50be603e30743f
parent195232556936b39b01cc908296e1650b80d4a3e9 (diff)
Fix build action order
Add $(INCTARGETS) to build dependencies of %.o and $(DEVICELIB). As there were no dep files during the first build, Make may kick off source compilation before nccl.h got generated, which leads to occasional build failures on systems with high core count. The build failure could be reproduced reliably with a `sleep 5` in $(INCDIR)/nccl.h rule.
-rw-r--r--src/Makefile4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Makefile b/src/Makefile
index d065888..487f790 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -46,7 +46,7 @@ lib : $(INCTARGETS) $(LIBDIR)/$(LIBTARGET) $(PKGDIR)/$(PKGTARGET)
staticlib : $(LIBDIR)/$(STATICLIBTARGET)
-$(DEVICELIB): ALWAYS_REBUILD
+$(DEVICELIB): ALWAYS_REBUILD $(INCTARGETS)
$(MAKE) -C collectives/device
# Empty target to force rebuild
@@ -107,7 +107,7 @@ $(PKGDIR)/%.pc : %.pc
mkdir -p $(PKGDIR)
install -m 644 $< $@
-$(OBJDIR)/%.o : %.cc
+$(OBJDIR)/%.o : %.cc $(INCTARGETS)
@printf "Compiling %-35s > %s\n" $< $@
mkdir -p `dirname $@`
$(CXX) -I. -I$(INCDIR) $(CXXFLAGS) -Iinclude -c $< -o $@