ifeq "$(darwin_TARGET_OS)" "1"
libffi_DYNAMIC_LIBS = libffi/dist-install/build/libffi$(soext) \
libffi/dist-install/build/libffi.5$(soext)
+else ifeq "$(openbsd_TARGET_OS)" "1"
+libffi_DYNAMIC_LIBS = libffi/dist-install/build/libffi.so.5.10
else
libffi_DYNAMIC_LIBS = libffi/dist-install/build/libffi.so \
libffi/dist-install/build/libffi.so.5
touch $@
-libffi/dist-install/build/ffi.h: $(libffi_STAMP_CONFIGURE) | $$(dir $$@)/.
+libffi/dist-install/build/ffi.h: $(libffi_STAMP_CONFIGURE) libffi/dist-install/build/ffitarget.h | $$(dir $$@)/.
"$(CP)" libffi/build/include/ffi.h $@
libffi/dist-install/build/ffitarget.h: $(libffi_STAMP_CONFIGURE) | $$(dir $$@)/.
touch $@
$(libffi_STATIC_LIB): $(libffi_STAMP_BUILD)
- test -f $@
+ @test -f $@ || { echo "$< exits, but $@ does not."; echo "Suggest removing $<."; exit 1; }
# Rename libffi.a to libHSffi.a
-libffi/dist-install/build/libHSffi.a libffi/dist-install/build/libHSffi_p.a: $(libffi_STATIC_LIB)
+libffi/dist-install/build/libHSffi.a: $(libffi_STATIC_LIB)
"$(CP)" $(libffi_STATIC_LIB) libffi/dist-install/build/libHSffi.a
+
+libffi/dist-install/build/libHSffi_p.a: $(libffi_STATIC_LIB)
"$(CP)" $(libffi_STATIC_LIB) libffi/dist-install/build/libHSffi_p.a
$(eval $(call all-target,libffi,$(INSTALL_HEADERS) $(INSTALL_LIBS)))
ifeq "$(BuildSharedLibs)" "YES"
ifeq "$(Windows)" "YES"
-libffi/libffi.dll.a $(libffi_HS_DYN_LIB): $(libffi_STAMP_BUILD)
- test -f $@
+libffi/dist-install/build/libffi.dll.a $(libffi_HS_DYN_LIB): $(libffi_STAMP_BUILD)
+ @test -f $@ || { echo "$< exits, but $@ does not."; echo "Suggest removing $<."; exit 1; }
# Windows libtool creates <soname>.dll, and as we already patched that
# there is no need to copy from libffi.dll to libHSffi...dll.
else
$(libffi_DYNAMIC_LIBS): $(libffi_STAMP_BUILD)
- test -f $@
+ @test -f $@ || { echo "$< exits, but $@ does not."; echo "Suggest removing $<."; exit 1; }
# Rename libffi.so to libHSffi...so
$(libffi_HS_DYN_LIB): $(libffi_DYNAMIC_LIBS) | $$(dir $$@)/.