changeset 158:b83fa746d292

Add MinGW cross-compile Makefile
author Chris Cannam <c.cannam@qmul.ac.uk>
date Tue, 05 Aug 2014 11:05:12 +0100
parents b34df30fd7e4
children 83de66a0dc88
files Makefile.inc Makefile.mingw32
diffstat 2 files changed, 31 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.inc	Mon Aug 04 09:21:48 2014 +0100
+++ b/Makefile.inc	Tue Aug 05 11:05:12 2014 +0100
@@ -11,6 +11,9 @@
 
 CXX	?= g++
 CC	?= gcc
+AR	?= ar
+RANLIB	?= ranlib
+
 #VALGRIND	?= valgrind -q
 
 GENERAL_FLAGS	:= -I. -I$(VAMPSDK_DIR) -I$(INC_DIR) -I$(LIB_DIR) -I$(KFFT_DIR) -I$(KFFT_DIR)/tools -Dkiss_fft_scalar=double
@@ -93,7 +96,13 @@
 
 LIBS	:= $(VAMPSDK_DIR)/libvamp-sdk.a -lpthread
 
-all: $(LIB) $(PLUGIN) $(TEST_TARGETS) $(PF)
+default:   all
+
+all:	   libs test $(PF)
+
+libs:	   $(LIB) $(PLUGIN)
+
+test:	   libs $(TEST_TARGETS)
 	for t in $(TEST_TARGETS); do echo; echo "Running $$t"; $(VALGRIND) ./"$$t" || exit 1; done && echo && $(VALGRIND) "./test/test-inverse.sh" && echo 'Tests complete'
 
 $(PLUGIN):	$(OBJECTS)
@@ -103,8 +112,8 @@
 	$(CXX) -o $@ $^ $(LIBS) $(PF_LDFLAGS)
 
 $(LIB):	$(LIB_OBJECTS)
-	ar cr $@ $^
-	ranlib $@
+	$(AR) cr $@ $^
+	$(RANLIB) $@
 
 Test%:	Test%.o
 	$(CXX) -o $@ $^ $(LIB) $(LIBS) $(TEST_LDFLAGS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.mingw32	Tue Aug 05 11:05:12 2014 +0100
@@ -0,0 +1,19 @@
+
+TOOLPREFIX     ?= i586-mingw32msvc-
+CXX		= $(TOOLPREFIX)g++
+CC		= $(TOOLPREFIX)gcc
+LD		= $(TOOLPREFIX)g++
+AR		= $(TOOLPREFIX)ar
+RANLIB		= $(TOOLPREFIX)ranlib
+
+CFLAGS		+= -DNDEBUG -O3 -msse -msse2 -ffast-math -mfpmath=sse -Wall -Wextra 
+LDFLAGS		+= -static
+
+CXXFLAGS 	+= $(CFLAGS)
+PLUGIN_LDFLAGS 	:= $(LDFLAGS) -shared -Wl,--version-script=vamp/vamp-plugin.map
+
+VAMPSDK_DIR 	:= ../vamp-plugin-sdk
+PLUGIN_EXT 	:= .dll
+
+include Makefile.inc
+