# HG changeset patch # User Chris Cannam # Date 1407233112 -3600 # Node ID b83fa746d292e9777720190de324cd3c9da20c86 # Parent b34df30fd7e49b5c063a94e2074f39128b583742 Add MinGW cross-compile Makefile diff -r b34df30fd7e4 -r b83fa746d292 Makefile.inc --- 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) diff -r b34df30fd7e4 -r b83fa746d292 Makefile.mingw32 --- /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 +