# See common.mk for most variable definitions ALIGNDIR=../aligneyes FEATURES=${MPT}/Applications/featuredetector FEATURESOURCE=${MPT_SRC}/featuredetector/src AUDIR=../mp_auCoder MISCDIR=../Misc EYEDIR=${MPT_SRC}/eyefinder/src KERNELS=${AUDIR}/KernelExport/kernels-96x96 KERN_SOURCES=${shell ls ${KERNELS}/kern*.cpp} COMMON_SOURCES=mp_CERT.cpp CERT_Scheduler.cpp CERT_Loader.cpp CERT_Task.cpp ${MISCDIR}/numberOfProcessors.cpp CUSTOM_INCLUDES=-I${ALIGNDIR} -I${AUDIR} -I${MPT_SRC}/featuredetector/src -I${FEATURES} -I../AUCoderDemo -I${MISCDIR} -I${MPT}/Build -I${AUDIR}/threadpool -I${MPT_SRC}/blinkdetector/src EXTERN_SOURCES=${FEATURES}/mp_FDEyes.cpp ${FEATURES}/OWFProcessor.cpp ${FEATURESOURCE}/FeatureAveraging.cpp ../AUCoderDemo/NSImageToRimage.mm ${MISCDIR}/certVersion.c ${MPT}/Build/mptVersion.c ${EYEDIR}/faceobject.cpp ${EYEDIR}/beyesobject.cpp EXTERN_OBJECTS=$(call source-to-object, ${EXTERN_SOURCES}) OTHER_SOURCES=mp_CERT_Public.cpp ImageDirIterator.cpp rimageFromNSImage.mm ${EXTERN_SOURCES} ImageLoader.cpp VideoIterator.cpp VideoIterator_Mac.mm CERT_Config.cpp ConfigParser_XML.cpp CERT_Arguments.cpp CERT_filetypes.cpp OTHER_OBJECTS=$(call source-to-object, ${OTHER_SOURCES}) EXE_SOURCES=main.cpp ${COMMON_SOURCES} ${OTHER_SOURCES} ${EXTERN_SOURCES} EXE_OBJECTS=$(call source-to-object, ${EXE_SOURCES}) ifdef USE_IM CPPUSER+=`Magick++-config --cppflags` IMAGE_MAGICK_FLAGS=`Magick++-config --ldflags` `Magick++-config --libs` CPPUSER+=-DUSE_IMAGEMAGICK endif CUSTOM_INCLUDES+=-I/usr/include/libxml2 CPPUSER+=-DMLRSVM ifdef USE_SMILES CPPUSER+=-DSMILES endif #ifdef USE_BLINKS CPPUSER+=-DBLINKS #endif ifdef USE_SOBI ifdef DEBUG DEBUG_FLAG=_d endif VERSUFF = $(subst .,_,${VER}) CPPUSER+=-DUSE_SOBI SOBI_SOURCES=Plugins/SOBIPlugin.cpp HIPERSATLIB=-L/usr/local/lib -lhipersat_gcc${VERSUFF}${DEBUG_FLAG} SOBILIBNAME=libmp_sobi${LIB_VER}.${LIB_EXT} endif #ifdef USE_GKR CPPUSER+=-DUSE_GKR GKR_SOURCES=../GKR/GKR_Model.cpp ../GKR/GKR_Trainer.cpp ../GKR/GKR_Models.cpp Plugins/GKRPlugin.cpp CUSTOM_INCLUDES+=-I../GKR #endif CRP_DIR=../IntervalDetection CRP_SOURCES=${CRP_DIR}/crp.cpp ${CRP_DIR}/tt.cpp Plugins/IntervalCRP.cpp CUSTOM_INCLUDES+=-I${CRP_DIR} CPPUSER+=-DPOSE_PLUGIN CUSTOM_INCLUDES+=-IPlugins -I. -I.. -I${MPT_SRC}/PoseDetector/src PLUGIN_SOURCES=Plugins/PluginBase.cpp Plugins/PluginController.cpp Plugins/SmilePlugin.cpp Plugins/PosePlugin.cpp Plugins/SVMPlugin.cpp Plugins/FeaturePlugin.cpp Plugins/BlinkPlugin.cpp Plugins/FacePlugin.cpp Plugins/PatchPlugin.cpp Plugins/StandardOutput.cpp Plugins/IntervalMean.cpp ${SOBI_SOURCES} ${GKR_SOURCES} ${CRP_SOURCES} PLUGIN_OBJECTS=$(call source-to-object, ${PLUGIN_SOURCES}) PLUGIN_LIBS=-L${MPT_BIN} -lsmiledetector${LIB_VER} -lposedetector${LIB_VER} -lblinkdetector${LIB_VER} ifdef DEMO DEMODIR=../DemoAndLicensing CPPUSER+=-DDEMO CUSTOM_INCLUDES+=-I../DemoAndLicensing DEMO_SOURCES=${DEMODIR}/DemoAndLicensing.cpp DEMO_OBJECTS=$(call source-to-object, ${DEMO_SOURCES}) EXE_OBJECTS+=${DEMO_OBJECTS} endif ifdef USE_GENDER CPPUSER+=-DUSE_GENDER PLUGIN_SOURCES+=Plugins/GenderPlugin.cpp ${MPT_SRC}/GenderClassifier/src/GenderClassifier.cpp ${MPT_SRC}/GenderClassifier/src/gender_wts.cc CUSTOM_INCLUDES+=-I${MPT_SRC}/GenderClassifier/src endif ifdef USE_GLASSES GLASSES_DIR=${MPT_SRC}/GlassesDetector/src CPPUSER+=-DUSE_GLASSES PLUGIN_SOURCES+=Plugins/GlassesPlugin.cpp ${GLASSES_DIR}/GlassesDetector.cpp ${GLASSES_DIR}/glasses_wts.cc CUSTOM_INCLUDES+=-I${GLASSES_DIR} endif ifdef USE_OPENCV CPPUSER+=-DMPT_OPENCV #CUSTOM_INCLUDES+=-I/usr/local/include OPENCV_LIB=-L/usr/local/lib -lcxcore -lhighgui endif FIDIR=${MPT_SRC}/FeaturePointImprover/src PLUGIN_SOURCES+=Plugins/FeatureImproverPlugin.cpp ${FIDIR}/FeaturePointImprover.c ${FEATURES}/OWFProcessor.cpp ${FEATURES}/FeatureImprover.cpp CUSTOM_INCLUDES+=-I${FIDIR} -I${FEATURES} boost_file=-L${boost_lib} -lboost_filesystem MPT_LIBS=-L${MPT_BIN} -lmpisearchX${LIB_VER} -lfeaturedetector${LIB_VER} CUSTOM_CTAGS=${ALIGNDIR} ${AUDIR} ../GKR ../IntervalDetection ../Misc AULIB=${AUDIR}/libmp_aucoder${LIB_VER}.${LIB_EXT} MEXEXE=CERTMex.${MEX_EXT} WINEXE=CERTDemo.exe CERT?=../.. #DEBUG=1 all: include ${MPT}/Build/common.mk ifeq "${ARCH}" "Linux" LAPACK_LIBS=-llapack_LINUX -lF77 -lgsl -lgslcblas -lcblaswr endif ifeq "$(ARCH)" "Darwin" CPPUSER+=-DUSE_NSIMAGE FRAMEWORKS=-framework AppKit -framework QTKit endif CPPUSER+=-DTHREADED_LOADER # Needs to be 3.3 to work with Matlab #VER=3.3 all: winexe ${MEXEXE}: ${COMMON_OBJECTS} mp_CERTMex.cpp ${ALIGNDIR}/rimage_matlab.cpp ${AULIB} ${MEX} -cxx $^ ${COMMON_INCLUDES} ${MPT_LIBS} -L${AUDIR} -lmp_aucoder${LIB_VER} -o $@ winexe: ${WINEXE} SVMWeights ${MPT_BIN}/libmpisearchX${LIB_VER}.${LIB_EXT} libmp_aucoder${LIB_VER}.${LIB_EXT} ${MPT_BIN}/libfeaturedetector${LIB_VER}.${LIB_EXT} featuredetector ${WINEXE}: ${EXE_OBJECTS} ${PLUGIN_OBJECTS} ${CXX} $^ ${COMMON_INCLUDES} -I../AUCoderDemo ${MPT_LIBS} -L${AUDIR} -lmp_aucoder${LIB_VER} -lxml2 -L/usr/local/fftw3-${VER}/lib -lfftw3 ${boost_file} ${boost_ser} ${LAPACK_LIBS} ${PLUGIN_LIBS} ${IMAGE_MAGICK_FLAGS} ${HIPERSATLIB} ${LDFLAGS} ${FRAMEWORKS} -o $@ @echo "make ${-*-command-variables-*-} $@" > Make.last TESTEXE=CERTTest test: ${TESTEXE} SVMWeights ${MPT_BIN}/libmpisearchX${LIB_VER}.${LIB_EXT} libmp_aucoder${LIB_VER}.${LIB_EXT} ${MPT_BIN}/libfeaturedetector${LIB_VER}.${LIB_EXT} featuredetector ${TESTEXE}: ${EXTERN_OBJECTS} ${OTHER_OBJECTS} main_test.o ${CXX} $^ ${COMMON_INCLUDES} -I../AUCoderDemo ${MPT_LIBS} -L${AUDIR} -lmp_aucoder${LIB_VER} -lxml2 -L/usr/local/fftw3-${VER}/lib -lfftw3 ${boost_file} ${boost_ser} ${LAPACK_LIBS} ${IMAGE_MAGICK_FLAGS} ${LDFLAGS} ${FRAMEWORKS} -o $@ libmp_aucoder${LIB_VER}.${LIB_EXT}: ${AULIB} cp ${AULIB} . ${AULIB}: ${MAKE} -C ${AUDIR} lib install: all # ${INSTALLDATA} ${MEXEXE} ${CERT}/Source ${CERT}/Source/${MEXEXE}: all ${INSTALLDATA} ${MEXEXE} ${CERT}/Source SVMWeights: ${MAKE} -C ${AUDIR}/SVMWeights ln -f -s ${AUDIR}/SVMWeights/SVMWeights featuredetector: ln -s ${MPT}/Libraries/featuredetector ${MPT_BIN}/libmpisearchX${LIB_VER}.${LIB_EXT}: ${MAKE} -C ${MPT_SRC}/mptslidingwindow/src/ ${MPT_BIN}/libmpisearchX${LIB_VER}.${LIB_EXT} ${MPT_BIN}/libeyefinder${LIB_VER}.${LIB_EXT}: ${MAKE} -C ${MPT_SRC}/eyefinder/src/ ${MPT_BIN}/libeyefinder${LIB_VER}.${LIB_EXT} ${MPT_BIN}/libfeaturedetector${LIB_VER}.${LIB_EXT}: ${MAKE} -C ${MPT_SRC}/featuredetector/src/ ${MPT_BIN}/libfeaturedetector${LIB_VER}.${LIB_EXT} ${MISCDIR}/certVersion.o: ${MAKE} -C ${MISCDIR} clean: common_clean rm -f mptAUCoder ${WINEXE} ${TESTEXE} rm -f ${EXTERN_OBJECTS} rm -f ${PLUGIN_OBJECTS} # ${MAKE} -C ${MPT}/Build clean ${MAKE} -C ${MISCDIR} clean ${MAKE} -C Plugins clean %.o: %.m $(COMPILE.m) $(OUTPUT_OPTION) $< %.o: %.mm $(COMPILE.m) $(OUTPUT_OPTION) $<