1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

fiddle: jobserver for libffi

* ext/fiddle/depend (libffi): use $(MAKE) explicitly for recursive
  make, so that jobserver works.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2017-02-09 12:08:56 +00:00
parent f2e1c710fc
commit 3c06d3a6bd
2 changed files with 17 additions and 9 deletions

View file

@ -26,22 +26,29 @@ $(LIBFFI_DIR)/Makefile:
$(Q) $(CONFIGURE_LIBFFI)
build-libffi: $(LIBFFI_A)
build-libffi $(LIBFFI_A):
$(Q) $(SUBMAKE_LIBFFI)
$(LIBFFI_A):
$(Q) $(SUBMAKE_PRE) $(MAKE) $(SUBMAKE_ARG)
clean-none:
clean-libffi:
$(Q) $(SUBMAKE_LIBFFI) clean
libffi/clean: libffi/clean
$(Q) $(SUBMAKE_PRE) $(MAKE) $(SUBMAKE_ARG) clean
distclean-libffi:
$(Q) $(SUBMAKE_LIBFFI) distclean
distclean-none:
distclean-libffi: libffi/distclean
libffi/distclean:
$(Q) $(SUBMAKE_PRE) $(MAKE) $(SUBMAKE_ARG) distclean
$(Q) $(RM) $(LIBFFI_DIR)/local.exp
$(Q) $(RUBY) -rfileutils -e "FileUtils.rmdir(Dir.glob(ARGV[0]+'/**/{,.*/}'), :parents=>true)" $(LIBFFI_DIR)
realclean-libffi:
realclean-none:
realclean-libffi: libffi/realclean
libffi/realclean:
$(Q) $(RMALL) $(LIBFFI_DIR)
.PHONY: clean-libffi distclean-libffi realclean-libffi
.PHONY: clean-none distclean-none realclean-none
.PHONY: libffi/clean libffi/distclean libffi/realclean
clean: clean-$(LIBFFI_CLEAN)
distclean: distclean-$(LIBFFI_CLEAN)

View file

@ -149,9 +149,9 @@ create_makefile 'fiddle' do |conf|
if !libffi
next conf << "LIBFFI_CLEAN = none\n"
elsif $gnumake && !$nmake
submake = "$(MAKE) -C $(LIBFFI_DIR)\n"
submake_arg = "-C $(@D)\n"
else
submake = "cd $(LIBFFI_DIR) && \\\n\t\t" << "#{config_string("exec")} $(MAKE)".strip
submake_pre = "cd $(@D) && #{config_string("exec")}".strip
end
if $nmake
cmd = "$(RUBY) -C $(LIBFFI_DIR) #{libffi_config} --srcdir=$(LIBFFI_SRCDIR)"
@ -170,7 +170,8 @@ create_makefile 'fiddle' do |conf|
LIBFFI_CFLAGS = #{libffi.cflags}
LIBFFI_LDFLAGS = #{libffi.ldflags}
FFI_H = $(LIBFFI_DIR)/include/ffi.h
SUBMAKE_LIBFFI = #{submake}
SUBMAKE_PRE = #{submake_pre}
SUBMAKE_ARG = #{submake_arg}
LIBFFI_CLEAN = libffi
MK
end