summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--defs/gmake.mk10
1 files changed, 10 insertions, 0 deletions
diff --git a/defs/gmake.mk b/defs/gmake.mk
index 31af44a4f1..ec9575a4dc 100644
--- a/defs/gmake.mk
+++ b/defs/gmake.mk
@@ -383,3 +383,13 @@ update-deps:
$(RMDIR) $(dir $(deps_dir))
git --git-dir=$(GIT_DIR) merge --no-edit --ff-only $(update_deps)
git --git-dir=$(GIT_DIR) branch --delete $(update_deps)
+
+# order-only-prerequisites doesn't work for $(RUBYSPEC_CAPIEXT)
+# because the same named directory exists in the source tree.
+$(RUBYSPEC_CAPIEXT)/%.$(DLEXT): $(srcdir)/$(RUBYSPEC_CAPIEXT)/%.c $(srcdir)/$(RUBYSPEC_CAPIEXT)/rubyspec.h $(RUBY_H_INCLUDES)
+ $(ECHO) building $@
+ $(Q) $(MAKEDIRS) $(@D)
+ $(Q) $(DLDSHARED) $(DLDFLAGS) $(ARCH_FLAG) $(CFLAGS) $(INCFLAGS) $(CPPFLAGS) $(OUTFLAG)$@ $<
+ $(Q) $(RMALL) $@.*
+rubyspec-capiext: $(patsubst %.c,$(RUBYSPEC_CAPIEXT)/%.$(DLEXT),$(notdir $(wildcard $(srcdir)/$(RUBYSPEC_CAPIEXT)/*.c)))
+ @ $(NULLCMD)