summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--yjit/not_gmake.mk14
1 files changed, 14 insertions, 0 deletions
diff --git a/yjit/not_gmake.mk b/yjit/not_gmake.mk
index 8bb01d65be..3a2ca9281f 100644
--- a/yjit/not_gmake.mk
+++ b/yjit/not_gmake.mk
@@ -16,3 +16,17 @@ $(YJIT_LIBOBJ): $(YJIT_LIBS)
$(ECHO) 'partial linking $(YJIT_LIBS) into $@'
$(Q) $(LD) -r -o $@ --whole-archive $(YJIT_LIBS)
-$(Q) $(OBJCOPY) --wildcard --keep-global-symbol='$(SYMBOL_PREFIX)rb_*' $(@)
+
+.PHONY: zjit-static-lib
+$(ZJIT_LIBS): zjit-static-lib
+ $(empty)
+
+zjit-static-lib:
+ $(ECHO) 'building Rust ZJIT (release mode)'
+ $(Q) $(RUSTC) $(ZJIT_RUSTC_ARGS)
+
+# Assume GNU flavor LD and OBJCOPY. Works on FreeBSD 13, at least.
+$(ZJIT_LIBOBJ): $(ZJIT_LIBS)
+ $(ECHO) 'partial linking $(ZJIT_LIBS) into $@'
+ $(Q) $(LD) -r -o $@ --whole-archive $(ZJIT_LIBS)
+ -$(Q) $(OBJCOPY) --wildcard --keep-global-symbol='$(SYMBOL_PREFIX)rb_*' $(@)