diff options
author | Riatre Foo <foo@riat.re> | 2020-07-02 19:07:43 +0300 |
---|---|---|
committer | Sylvain Jeaugey <sjeaugey@nvidia.com> | 2020-07-07 20:20:51 +0300 |
commit | 2d8601701dc97527d723e91a05272624063e0c51 (patch) | |
tree | ce5846577b62807e4194cae64e50be603e30743f | |
parent | 195232556936b39b01cc908296e1650b80d4a3e9 (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/Makefile | 4 |
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 $@ |