mocha-1.3.0-final-2
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,4 +1,5 @@
|
||||
*~
|
||||
*.bak
|
||||
SL6-x86_64
|
||||
windows-x64
|
||||
felix-cache
|
||||
|
||||
124
makefile_rel_1.3
Normal file
124
makefile_rel_1.3
Normal file
@@ -0,0 +1,124 @@
|
||||
#
|
||||
# Jan Chrin
|
||||
# New Version: June 2016
|
||||
#
|
||||
# makefile to build mocha mex file
|
||||
# printenv | grep MATLAB to reveal your MATLAB Directory
|
||||
#
|
||||
# e.g. on sf-lc we have
|
||||
# MATLAB=/afs/psi.ch/sys/linux/opt/matlab/2015a.x86_64
|
||||
#
|
||||
# local executables are built in ./${EPICS_HOST_ARCH}/$(MVER)
|
||||
# where the MATLAB version is grepped from $(MATLAB)
|
||||
|
||||
MATLAB_ROOT=${MATLAB}
|
||||
MATLAB_VERSION=$(notdir $(MATLAB_ROOT))
|
||||
|
||||
##### CHANGE AS APPROPRIATE #################
|
||||
#Mocha Version to install
|
||||
MOCHA_VERSION=mocha-1.3.0-final-2
|
||||
#CAFE version to link to
|
||||
CAFE_VERSION=cafe-1.3.0-final-2
|
||||
|
||||
|
||||
|
||||
EPICS_BASE=${EPICS}/base
|
||||
#CAFE project base
|
||||
CAFE_BASE=/opt/gfa/cafe
|
||||
CAFE_MOCHA_BASE=${CAFE_BASE}/mocha
|
||||
#CAFE_CPP_BASE=/afs/psi.ch/project/cafe/gitlab/CAFE/cpp
|
||||
CAFE_CPP_BASE=$(CAFE_BASE)/cpp/$(CAFE_VERSION)
|
||||
|
||||
|
||||
BOOST_BASE=${CAFE_BASE}/boost/boost_1_61_0/include
|
||||
BOOST_LIB=/afs/psi.ch/project/zeromq/devl/mate/deps/boost/lib
|
||||
|
||||
QT_LIB=/usr/lib64
|
||||
|
||||
INSTALL_MOCHA_LIBDIR= $(CAFE_MOCHA_BASE)/$(MOCHA_VERSION)/lib/$(MATLAB_VERSION)
|
||||
#############################################
|
||||
|
||||
|
||||
#First deteremine if we are on a 32/64 bit machine
|
||||
#as mex file extensions are named differently
|
||||
pattern64=x86_64
|
||||
pattern32=i386
|
||||
|
||||
PWD=$(shell pwd)
|
||||
#hardware platform
|
||||
HW=$(shell uname -i)
|
||||
ifeq ($(pattern64),$(findstring $(pattern64), $(HW)))
|
||||
MEXE=mexa64
|
||||
MATLAB_LIB = $(MATLAB_ROOT)/bin/glnxa64
|
||||
else
|
||||
ifeq ($(pattern32),$(findstring $(pattern32), $(HW)))
|
||||
MEXE=mexglx
|
||||
MATLAB_LIB = $(MATLAB_ROOT)/bin/glnxa86
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
INSTALL_PATH?=$(INSTALL_MOCHA_LIBDIR)
|
||||
OBJ_DIR= ${EPICS_HOST_ARCH}/$(MATLAB_VERSION)
|
||||
|
||||
INCLUDEPATH_MOCHA += -I$(MATLAB_ROOT)/extern/include \
|
||||
-I$(CAFE_CPP_BASE)/include -I./ \
|
||||
-I$(EPICS_BASE)/include -I$(EPICS_BASE)/include/os/Linux
|
||||
|
||||
|
||||
INCLUDEPATH_MACHINETTA += $(INCLUDEPATH_MOCHA) -I$(BOOST_BASE) -I$(BOOST_BASE)/boost
|
||||
|
||||
|
||||
LIB_DIR += \
|
||||
-L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} \
|
||||
-Wl,-rpath,$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} \
|
||||
-L$(MATLAB_LIB) -Wl,-rpath,$(MATLAB_LIB) \
|
||||
-L$(CAFE_CPP_BASE) \
|
||||
-Wl,-rpath,$(CAFE_CPP_BASE) \
|
||||
-L$(QT_LIB) -Wl,-rpath,$(QT_LIB)
|
||||
|
||||
|
||||
LIBS += -ldl -lca -lCom -lmx -lmex -lmat -lQtCore -lQtXml
|
||||
|
||||
LIB_INSTALL = $(LIB_DIR) -L$(INSTALL_PATH) -Wl,-rpath,$(INSTALL_PATH)
|
||||
|
||||
LIB_LOCAL = $(LIB_DIR)
|
||||
|
||||
|
||||
CAFE_OBJS_DIR = $(CAFE_BASE)/cpp/$(CAFE_VERSION)/lib/libcafe.a
|
||||
|
||||
# MATLAB Versions 2014 onwards, use
|
||||
# LDFLAGS='$(LIB_LOCAL) $(LIBS) instead of $(LIB_LOCAL) $(LIBS)
|
||||
# LDFLAGS='$(LIB_LOCAL) $(LIBS) instead of $(LIB_INSTALL) $(LIBS)
|
||||
|
||||
|
||||
$(OBJ_DIR)/mocha.$(MEXE): mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o
|
||||
mex -largeArrayDims GCC='/usr/bin/gcc' CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread' \
|
||||
mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o $(CAFE_OBJS_DIR) -outdir $(OBJ_DIR) -output mocha.$(MEXE) \
|
||||
$(INCLUDEPATH_MOCHA) \
|
||||
LDFLAGS='$(LIB_LOCAL) $(LIBS)'
|
||||
|
||||
|
||||
$(OBJ_DIR)/macchinettaSwitch.o: macchinettaSwitch.cpp macchinettaHelper.h \
|
||||
macchinetta.h containerMochaccino.h
|
||||
mex GCC='/usr/bin/g++' CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread' \
|
||||
-largeArrayDims -c macchinettaSwitch.cpp $(INCLUDEPATH_MACHINETTA) -outdir $(OBJ_DIR)
|
||||
|
||||
|
||||
install: $(OBJ_DIR)/mocha.$(MEXE)
|
||||
mkdir -p $(INSTALL_PATH)
|
||||
mex -largeArrayDims GCC='/usr/bin/gcc' CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread' \
|
||||
mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o $(CAFE_OBJS_DIR) -outdir $(INSTALL_PATH) -output mocha.$(MEXE) \
|
||||
$(INCLUDEPATH_MOCHA) \
|
||||
LDFLAGS='$(LIB_INSTALL) $(LIBS)'
|
||||
cp example.m $(INSTALL_PATH)
|
||||
cp scripts/*.m $(INSTALL_PATH)
|
||||
cp scripts/test.xml $(INSTALL_PATH)
|
||||
|
||||
install_lib: $(OBJ_DIR)/libmacchinetta.so
|
||||
mkdir -p $(INSTALL_PATH)
|
||||
cp $(OBJ_DIR)/libmacchinetta.so $(INSTALL_PATH)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ_DIR)/*.o $(OBJ_DIR)/*.so $(OBJ_DIR)/*.$(MEXE)
|
||||
|
||||
70
makefile_rel_1.3_win.make
Normal file
70
makefile_rel_1.3_win.make
Normal file
@@ -0,0 +1,70 @@
|
||||
MATLAB_ROOT=C:\'Program Files'\MATLAB\R2016b_x64
|
||||
MEXE=mexw64
|
||||
#c:\local\boost_1_62_0\
|
||||
|
||||
INCLUDES = -IC:\CAFE\CAFE\cpp\include -IC:\CAFE\CAFE\cpp -IC:\local\boost_1_62_0 \
|
||||
-IC:\local\boost_1_62_0\boost -IC:\epics\base-3.14.12.5\include -IC:\epics\base-3.14.12.5\include\os\WIN32 \
|
||||
-I"C:\Program Files\MATLAB\R2016b_x64\extern\include" \
|
||||
-Ic:\Qt\qt-4.8.6-x64-msvc2010\include -Ic:\Qt\qt-4.8.6-x64-msvc2010\include\QtCore -Ic:\Qt\qt-4.8.6-msvc2010\include\QtXml
|
||||
|
||||
CXX=cl
|
||||
CXXFLAGS = /W4 /EHsc
|
||||
OUTPUT_OPTION = /o $@
|
||||
LIB_LOCAL = C:\epics\base-3.14.12.5\lib\windows-x64\Com.lib C:\epics\base-3.14.12.5\lib\windows-x64\ca.lib \
|
||||
C:\CAFE\CAFE\cpp\cafe.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-1_62.lib \
|
||||
C:\Qt\Qt-4.8.6-msvc2010\lib\QtCore4.lib C:\Qt\tq-4.8.6-msvc2010\lib\QtXml4.lib
|
||||
#"C:\Program Files\MATLAB\R2016b_x64\extern\lib\win64\microsoft\libmat.lib" \
|
||||
#"C:\Program Files\MATLAB\R2016b_x64\extern\lib\win64\microsoft\libmex.lib" \
|
||||
#"C:\Program Files\MATLAB\R2016b_x64\extern\lib\win64\microsoft\libmx.lib"
|
||||
|
||||
LIB_CAFE=C:\CAFE\CAFE\cpp\cafe.lib
|
||||
LIB_BOOST =C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-1_62.lib
|
||||
|
||||
LIB_BOOST2=C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-s-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_62.lib \
|
||||
C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-s-1_62.lib
|
||||
|
||||
#LIB_BOOST2=C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-s-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-s-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-s-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-s-1_62.lib
|
||||
|
||||
#LIB_BOOST=C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_thread-vc100-mt-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_system-vc100-mt-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_date_time-vc100-mt-1_62.lib \
|
||||
#C:\local\boost_1_62_0\lib64-msvc-10.0\libboost_chrono-vc100-mt-1_62.lib
|
||||
|
||||
LIB_QT=C:\Qt\Qt-4.8.6-x64-msvc2010\lib\QtCore4.lib C:\Qt\qt-4.8.6-x64-msvc2010\lib\QtXml4.lib
|
||||
|
||||
LIB_EPICS=C:\epics\base-3.14.12.5\lib\windows-x64\Com.lib C:\epics\base-3.14.12.5\lib\windows-x64\ca.lib
|
||||
|
||||
OBJ_DIR=windows-x64
|
||||
|
||||
CAFE_OBJS = C:\CAFE\CAFE\cpp\src\cafeCache.obj C:\CAFE\CAFE\cpp\src\cafeGroup.obj C:\CAFE\CAFE\cpp\src\cafe.obj C:\CAFE\CAFE\cpp\src\cafeVectors.obj \
|
||||
C:\CAFE\CAFE\cpp\src\cafeXML.obj C:\CAFE\CAFE\cpp\src\callbackHandlerCreate.obj C:\CAFE\CAFE\cpp\src\callbackHandlerMonitor.obj \
|
||||
C:\CAFE\CAFE\cpp\src\conduitGroup.obj C:\CAFE\CAFE\cpp\src\conduit.obj \
|
||||
C:\CAFE\CAFE\cpp\src\connectCallbacks.obj C:\CAFE\CAFE\cpp\src\connectGroup.obj \
|
||||
C:\CAFE\CAFE\cpp\src\connect.obj C:\CAFE\CAFE\cpp\src\exceptionsHelper.obj C:\CAFE\CAFE\cpp\src\granules.obj C:\CAFE\CAFE\cpp\src\handleHelper.obj \
|
||||
C:\CAFE\CAFE\cpp\src\helper.obj \
|
||||
C:\CAFE\CAFE\cpp\src\loadCollectionXMLParser.obj C:\CAFE\CAFE\cpp\src\loadGroupXMLParser.obj C:\CAFE\CAFE\cpp\src\methodCallbacks.obj \
|
||||
C:\CAFE\CAFE\cpp\src\policyHelper.obj \
|
||||
C:\CAFE\CAFE\cpp\src\restorePVGroupXMLParser.obj C:\CAFE\CAFE\cpp\src\transpose.obj
|
||||
|
||||
#\NODEFAULTLIB
|
||||
$(OBJ_DIR)\mocha.$(MEXE): mocha.cpp $(OBJ_DIR)\macchinettaSwitch.obj
|
||||
"C:\Program Files\MATLAB\R2016b_x64\bin\win64\mex" -v COMPFLAGS="$(COMPFLAGS) -Wall" mocha.cpp $(OBJ_DIR)/macchinettaSwitch.obj -DDB_TEXT_GLBLSOURCE -DMSCC -DWIN32 -DWIN64 -largeArrayDims $(INCLUDES) $(LIB_EPICS) $(LIB_CAFE) $(LIB_BOOST) $(LIB_BOOST2) $(LIB_QT) \
|
||||
-outdir $(OBJ_DIR) -output mocha.$(MEXE)
|
||||
|
||||
$(OBJ_DIR)\macchinettaSwitch.obj: macchinettaSwitch.cpp macchinettaHelper.h \
|
||||
macchinetta.h containerMochaccino.h
|
||||
"C:\Program Files\MATLAB\R2016b_x64\bin\win64\mex" -largeArrayDims \
|
||||
-c macchinettaSwitch.cpp $(INCLUDES) -outdir $(OBJ_DIR)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ_DIR)/*.obj $(OBJ_DIR)/*.$(MEXE)
|
||||
|
||||
Reference in New Issue
Block a user