From: <sch...@us...> - 2012-06-26 23:15:40
|
Revision: 10696 http://octave.svn.sourceforge.net/octave/?rev=10696&view=rev Author: schloegl Date: 2012-06-26 23:15:34 +0000 (Tue, 26 Jun 2012) Log Message: ----------- kalman_maar: compilation on x64_86 fixed Modified Paths: -------------- trunk/octave-forge/extra/tsa/src/Makefile trunk/octave-forge/extra/tsa/src/kalman_maar.cpp Modified: trunk/octave-forge/extra/tsa/src/Makefile =================================================================== --- trunk/octave-forge/extra/tsa/src/Makefile 2012-06-25 21:51:50 UTC (rev 10695) +++ trunk/octave-forge/extra/tsa/src/Makefile 2012-06-26 23:15:34 UTC (rev 10696) @@ -15,11 +15,11 @@ MEX_OPTION += -largeArrayDims # Mingw crosscompiler: available at http://www.nongnu.org/mingw-cross-env/ -CROSS = $(HOME)/src/mingw-cross-env/usr/bin/i686-pc-mingw32- -CROSS64 = $(HOME)/src/mce-w64/usr/bin/x86_64-w64-mingw32- +CROSS = $(HOME)/src/mxe/usr/bin/i686-pc-mingw32 +CROSS64 = $(HOME)/src/mce-w64/usr/bin/x86_64-static-mingw32 # include directory for Win32-Matlab include -W32MAT_INC = $(HOME)/bin/win32/Matlab/R2010b/extern/include/ -W64MAT_INC = $(HOME)/bin/win64/Matlab/R2010b/extern/include/ +W32MAT_INC = -I$(HOME)/bin/win32/Matlab/R2010b/extern/include/ +W64MAT_INC = -I$(HOME)/bin/win64/Matlab/R2010b/extern/include/ # path to GNUMEX libraries, available from here http://sourceforge.net/projects/gnumex/ GNUMEX = $(HOME)/bin/win32/gnumex GNUMEX64 = $(HOME)/bin/win64/gnumex @@ -27,7 +27,17 @@ # http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTinZvxgC9ezp2P3UCX_a7TAUYuVsp2U40MQUV6qr%40mail.gmail.com&forum_name=gnumex-users # Instead of building "mex shortpath.c" and "mex uigetpath.c", I used empty m-functions within argout=argin; #################################################### +W32MAT_INC += -I$(subst /usr/bin/,/usr/,$(CROSS))/include/ +W64MAT_INC += -I$(subst /usr/bin/,/usr/,$(CROSS64))/include/ +LDLIBS_W32 = $(subst /usr/bin/,/usr/,$(CROSS))/lib/ +LDLIBS_W64 = $(subst /usr/bin/,/usr/,$(CROSS64))/lib/ +W32_LIBS = $(LDLIBS_W32)liblapack.a +W64_LIBS = $(LDLIBS_W64)liblapack.a +W32_LIBS += $(LDLIBS_W32)libblas.a +W64_LIBS += $(LDLIBS_W64)libblas.a + + CC = gcc CXX = g++ CFLAGS = -fopenmp -Wall -Wextra -Wconversion -O2 -fPIC @@ -37,7 +47,7 @@ MEX_OPTION += -lgomp CC\#$(CXX) CXX\#$(CXX) CFLAGS\#"$(CFLAGS)" CXXFLAGS\#"$(CFLAGS)" MATMEX = $(MATLABDIR)/bin/mex $(MEX_OPTION) -PROGS = covm_mex.mex sumskipnan_mex.mex +PROGS = covm_mex.mex sumskipnan_mex.mex kalman_maar.mex mex4o octave: $(PROGS) @@ -52,30 +62,30 @@ clean: -$(RM) *.o *.obj *.o64 core octave-core *.oct *~ *.mex* -$(PROGS): Makefile ######################################################### + # Octave, MATLAB on Linux ######################################################### %.oct: %.cc - mkoctfile$(OCTAVE_VERSION) $< + mkoctfile$(OCTAVE_VERSION) "$<" %.mex: %.cpp - $(OCTMEX) $< -lgomp ## Octave + $(OCTMEX) "$<" -lgomp -llapack -lblas ## Octave %.$(MEX_EXT): %.cpp - $(MATMEX) $< -lgomp ## Matlab + $(MATMEX) "$<" -lgomp -llapack -lblas ## Matlab ######################################################### # MATLAB/WIN32 ######################################################### %.obj: %.cpp - $(CROSS)$(CXX) -fopenmp -c -DMATLAB_MEX_FILE -x c++ -o $@ -I$(W32MAT_INC) -O2 -DMX_COMPAT_32 $< + $(CROSS)-$(CXX) -fopenmp -c -DMATLAB_MEX_FILE -x c++ -o "$@" $(W32MAT_INC) -O2 -DMX_COMPAT_32 "$<" %.obj: %.c - $(CROSS)$(CXX) -fopenmp -c -DMATLAB_MEX_FILE -x c++ -o $@ -I$(W32MAT_INC) -O2 -DMX_COMPAT_32 $< + $(CROSS)-$(CXX) -fopenmp -c -DMATLAB_MEX_FILE -x c++ -o "$@" $(W32MAT_INC) -O2 -DMX_COMPAT_32 "$<" %.mexw32: %.obj - $(CROSS)$(CXX) -shared $(GNUMEX)/mex.def -o $@ -L$(GNUMEX) -s $< -llibmx -llibmex -llibmat -lcholmod -lgomp -lpthread + $(CROSS)-$(CXX) -shared $(GNUMEX)/mex.def -o "$@" -L$(GNUMEX) -s "$<" -llibmx -llibmex -llibmat -lcholmod -lgomp -lpthread -L$(LDLIBS_W32) -lblas -llapack ######################################################### @@ -84,10 +94,12 @@ ## ToDO: fix OpenMP support: currently -fopenmp causes Matlab to crash %.o64: %.cpp - $(CROSS64)$(CXX) -c -DMATLAB_MEX_FILE -x c++ -o $@ -I$(W64MAT_INC) -O2 $< + $(CROSS64)-$(CXX) -c -DMATLAB_MEX_FILE -x c++ -o "$@" $(W64MAT_INC) -O2 "$<" %.o64: %.c - $(CROSS64)$(CXX) -c -DMATLAB_MEX_FILE -x c++ -o $@ -I$(W64MAT_INC) -O2 $< + $(CROSS64)-$(CXX) -c -DMATLAB_MEX_FILE -x c++ -o "$@" $(W64MAT_INC) -O2 "$<" %.mexw64: %.o64 - $(CROSS64)$(CXX) -shared $(GNUMEX64)/mex.def -o $@ -L$(GNUMEX64) -s $< -llibmx -llibmex -llibmat -lcholmod -lgomp -lpthread + $(CROSS64)-$(CXX) -shared $(GNUMEX64)/mex.def -o "$@" -L$(GNUMEX64) -s "$<" -llibmx -llibmex -llibmat -lcholmod -lgomp -lpthread -L$(LDLIBS_W64) -lblas -llapack + + Modified: trunk/octave-forge/extra/tsa/src/kalman_maar.cpp =================================================================== --- trunk/octave-forge/extra/tsa/src/kalman_maar.cpp 2012-06-25 21:51:50 UTC (rev 10695) +++ trunk/octave-forge/extra/tsa/src/kalman_maar.cpp 2012-06-26 23:15:34 UTC (rev 10696) @@ -13,13 +13,11 @@ // this program; if not, write to the Free Software Foundation, Inc., 59 Temple // Place - Suite 330, Boston, MA 02111-1307, USA. -#include "mex.h" -#include "memory.h" +#include <mex.h> +#include <memory.h> -#ifndef WIN32 -#include "blas.h" -#include "lapack.h" -#endif +#include <blas.h> +#include <lapack.h> #include "kalman_maar.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |