From b78b91b79ef0b9618108e2e25b9ef72fc9e4c4a8 Mon Sep 17 00:00:00 2001
From: Oliver Bock <oliver.bock@aei.mpg.de>
Date: Fri, 21 May 2010 15:06:11 +0200
Subject: [PATCH] Added IMKL and ACML cross build

* Excluding required binary libs/objs for the time being
* IMKL works (only slightly faster than FFTW)
* ACML can't be linked properly using cross-gcc, most likely due to C++ dependencies
* We need to move our Windows builds to Cygwin on Windows instead of cross-compiling on Linux (useful also for nvcc)
---
 Makefile | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 3b87f46..77dfc9d 100644
--- a/Makefile
+++ b/Makefile
@@ -30,19 +30,20 @@ macos: MKL_LIB = $(MKLPATH_MAC)/lib/universal
 macos: CFLAGS += -I$(MKL_INC)
 macos: LDFLAGS += $(MKL_LIB)/libmkl_solver_lp64_sequential.a $(MKL_LIB)/libmkl_intel_lp64.a $(MKL_LIB)/libmkl_sequential.a $(MKL_LIB)/libmkl_core.a -lpthread
 
-# suitable for Debian 
+# suitable for Debian's MinGW
 win32: CC = i586-mingw32msvc-gcc
 win32: TARGET_HOST=i586-mingw32msvc
 win32: BUILD_HOST=i386-linux
 win32: CFLAGS += -DMINGW_WIN32
 win32: CROSS_SPEC = --host=$(TARGET_HOST) --build=$(BUILD_HOST) --with-our-malloc16
+win32: CFLAGS += -I$(PWD)/win32/imkl/include
+win32: LDFLAGS += $(PWD)/win32/imkl/lib/mkl_solver_sequential.lib $(PWD)/win32/imkl/lib/mkl_intel_c.lib $(PWD)/win32/imkl/lib/mkl_sequential.lib $(PWD)/win32/imkl/lib/mkl_core.lib
 win32: CFLAGS += -I$(PWD)/win32/acml/include
-win32: LDFLAGS += -Wl,-Bdynamic
-win32: LDFLAGS += $(PWD)/win32/acml/lib/libacml.lib
+win32: LDFLAGS += $(PWD)/win32/acml/lib/libacml.lib $(PWD)/win32/ifc/lib/ia32/libifcoremd.lib $(PWD)/win32/ifc/lib/ia32/libmmd.lib $(PWD)/win32/psdk/lib/WbemUuid.Lib $(PWD)/win32/psdk/lib/comsupp.lib $(PWD)/win32/psdk/lib/bufferoverflowu.lib $(PWD)/win32/psdk/lib/chkstk.obj $(PWD)/win32/psdk/lib/lldiv.obj -lmsvcr80 -loleaut32
 
 
 $(TARGET): fft-bench.c $(FFTW_ROOT)/install/lib/libfftw3f.a Makefile
-	$(CC) $(CFLAGS) fft-bench.c $(LDFLAGS) -o $(TARGET)
+	$(CC) $(CFLAGS) fft-bench.c $(LDFLAGS) -o $(if $(findstring file,$(origin CROSS_SPEC)),$(TARGET).exe,$(TARGET))
 
 $(FFTW_ROOT)/install/lib/libfftw3f.a: $(FFTW_ROOT)/fftw-$(FFTW_VERS).tar.gz Makefile
 	mkdir -p $(FFTW_ROOT)/build
@@ -58,4 +59,4 @@ $(FFTW_ROOT)/fftw-$(FFTW_VERS).tar.gz:
 
 clean:
 	rm -rf $(FFTW_ROOT)
-	rm -f $(TARGET)
+	rm -f $(TARGET) $(TARGET).exe
-- 
GitLab