diff options
-rw-r--r-- | ext/fiddle/depend | 17 | ||||
-rw-r--r-- | ext/fiddle/extconf.rb | 6 |
2 files changed, 21 insertions, 2 deletions
diff --git a/ext/fiddle/depend b/ext/fiddle/depend index 89623db708..6b59b31804 100644 --- a/ext/fiddle/depend +++ b/ext/fiddle/depend @@ -25,4 +25,21 @@ build-libffi: $(LIBFFI_A) build-libffi $(LIBFFI_A): $(Q) $(SUBMAKE_LIBFFI) +clean-libffi: + $(Q) $(SUBMAKE_LIBFFI) clean + +distclean-libffi: + $(Q) $(SUBMAKE_LIBFFI) distclean + $(Q) $(RM) $(LIBFFI_DIR)/local.exp + $(Q) $(RUBY) -rfileutils -e 'FileUtils.rmdir(Dir.glob(ARGV[0]+"/**/"), :parents=>true)' $(LIBFFI_DIR) + +realclean-libffi: + $(Q) $(RMDIRS) $(LIBFFI_DIR) + +clean-none distclean-none realclean-none: + +clean: clean-$(LIBFFI_CLEAN) +distclean: distclean-$(LIBFFI_CLEAN) +realclean: realclean-$(LIBFFI_CLEAN) + configure: configure-libffi diff --git a/ext/fiddle/extconf.rb b/ext/fiddle/extconf.rb index 6da557bc79..f5c27cc934 100644 --- a/ext/fiddle/extconf.rb +++ b/ext/fiddle/extconf.rb @@ -127,8 +127,9 @@ if libffi $LOCAL_LIBS.prepend("#{libffi.a} ").strip! end create_makefile 'fiddle' do |conf| - next conf unless libffi - if $mswin + if !libffi + next conf << "LIBFFI_CLEAN = none\n" + elsif $mswin submake = "make -C $(LIBFFI_DIR)\n" elsif $gnumake submake = "$(MAKE) -C $(LIBFFI_DIR)\n" @@ -148,6 +149,7 @@ create_makefile 'fiddle' do |conf| LIBFFI_LDFLAGS = #{libffi.ldflags} FFI_H = $(LIBFFI_DIR)/include/ffi.h SUBMAKE_LIBFFI = #{submake} + LIBFFI_CLEAN = libffi MK end |