PWD =
CONFIGURE_LIBFFI = \
$(LIBFFI_CONFIGURE) --disable-shared \ --host=$(LIBFFI_ARCH) --enable-builddir=$(arch) \ CC="$(CC)" CFLAGS="$(LIBFFI_CFLAGS)" \ LD="$(LD)" LDFLAGS="$(LIBFFI_LDFLAGS)"
$(STATIC_LIB) $(RUBYARCHDIR)/$(DLLIB) $(DLLIB): $(LIBFFI_A)
$(OBJS): $(FFI_H)
.PHONY: .FORCE hdr
.FORCE:
hdr: $(FFI_H)
configure-libffi build-libffi: .FORCE configure-libffi \ $(LIBFFI_DIR)/include/ffi.h \ $(LIBFFI_DIR)/include/ffitarget.h \ $(LIBFFI_DIR)/fficonfig.h \ $(LIBFFI_DIR)/Makefile:
$(Q) $(MAKEDIRS) $(LIBFFI_DIR) $(Q) $(CONFIGURE_LIBFFI)
build-libffi $(LIBFFI_A):
$(Q) $(SUBMAKE_PRE) $(MAKE) $(SUBMAKE_ARG)
clean-none: clean-libffi:
$(Q) $(SUBMAKE_PRE) $(MAKE) $(SUBMAKE_ARG) clean
distclean-none: distclean-libffi:
$(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-none: realclean-libffi:
$(Q) $(RMALL) $(LIBFFI_DIR)
.PHONY: clean-libffi distclean-libffi realclean-libffi .PHONY: clean-none distclean-none realclean-none
clean: clean-$(LIBFFI_CLEAN) distclean: distclean-$(LIBFFI_CLEAN) realclean: realclean-$(LIBFFI_CLEAN)
.PHONY: configure configure-libffi
closure.o: closure.c closure.o: closure.h closure.o: conversions.h closure.o: fiddle.h closure.o: function.h conversions.o: closure.h conversions.o: conversions.c conversions.o: conversions.h conversions.o: fiddle.h conversions.o: function.h fiddle.o: closure.h fiddle.o: conversions.h fiddle.o: fiddle.c fiddle.o: fiddle.h fiddle.o: function.h function.o: closure.h function.o: conversions.h function.o: fiddle.h function.o: function.c function.o: function.h handle.o: closure.h handle.o: conversions.h handle.o: fiddle.h handle.o: function.h handle.o: handle.c memory_view.o: fiddle.h memory_view.o: memory_view.c pointer.o: closure.h pointer.o: conversions.h pointer.o: fiddle.h pointer.o: function.h pointer.o: pointer.c