# See common.mk for most variable definitions AUDIR=../mp_auCoder EXPORTDIR?=~/Temp/CERT_LIB/CERT_LIB_4_4_3 EXPORTDIR_EXISTS=${call set_if_dir, ${EXPORTDIR}} LIBDIR=. COMMON_SOURCES= CUSTOM_INCLUDES=-Iinclude ifdef USE_IM CPPUSER+=`Magick++-config --cppflags` IMAGE_MAGICK_FLAGS=`Magick++-config --ldflags` `Magick++-config --libs` CPPUSER+=-DUSE_IMAGEMAGICK endif ifdef USE_OPENCV CUSTOM_INCLUDES+=-I${MPT_SRC}/OpenCVsupport/src -I/usr/local/include/opencv CPPUSER+=-DUSE_OPENCV OPENCV_LIB=-L/usr/local/lib -lcxcore -lhighgui -L${MPT_BIN} -lmptopencv${LIB_VER} OPENCV_SOURCES=VideoIterator_OpenCV.cpp endif CPPUSER+=-DMLRSVM -DBLINK -DPOSE_PLUGIN -DTHREADED_LOADER ifdef USE_SMILES CPPUSER+=-DSMILES endif ifdef USE_GENDER CPPUSER+=-DUSE_GENDER 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 FFTWLIB=/usr/local/fftw3-${VER}/lib FFTWINC=/usr/local/include boost_file=-L${boost_lib} -lboost_filesystem boost_thread=-L${boost_lib} -lboost_thread #MPT_LIBS=-L${MPT_BIN} -lmpisearchX${LIB_VER} -lfeaturedetector${LIB_VER} CUSTOM_CTAGS=include CERTLIBDIR=../CERTWrapper WINEXE=CERTDemo.exe CERT?=../.. 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 HEADERS=include/ImageDirIterator.h include/ImageLoader.h include/VideoIterator.h include/CERT_Config.h include/CERT_Arguments.h include/CERT_Loader.h include/CERT_Scheduler.h include/mp_CERT_Public.h include/PluginController.h include/AfterFacePlugin.h include/FacePlugin.h include/SVMPlugin.h include/FeaturePlugin.h include/CERT_filetypes.h include/CERT_Task.h include/tqueue.h include/PluginBase.h include/threadpool include/rimage.h include/roi.h # Needs to be 3.3 to work with Matlab #VER=3.3 all: winexe winexe: libs ${HEADERS} ${WINEXE} SVMWeights featuredetector ${WINEXE}: main.o ${CXX} $^ ${COMMON_INCLUDES} -I../AUCoderDemo -L${LIBDIR} -lCERT${LIB_VER} -lmp_aucoder${LIB_VER} -lxml2 -L${FFTWLIB} -lfftw3 ${boost_file} ${boost_ser} ${LAPACK_LIBS} ${IMAGE_MAGICK_FLAGS} ${HIPERSATLIB} ${OPENCV_LIB} ${LDFLAGS} ${FRAMEWORKS} -o $@ @echo "make ${-*-command-variables-*-} $@" > Make.last libs: ${LIBDIR} libCERT${LIB_VER}.${LIB_EXT} libmp_aucoder${LIB_VER}.${LIB_EXT} libmpisearchX${LIB_VER}.${LIB_EXT} libfeaturedetector${LIB_VER}.${LIB_EXT} libsmiledetector${LIB_VER}.${LIB_EXT} libposedetector${LIB_VER}.${LIB_EXT} AULIB=${AUDIR}/libmp_aucoder${LIB_VER}.${LIB_EXT} ${LIBDIR}: mkdir -p ${LIBDIR} libmp_aucoder${LIB_VER}.${LIB_EXT}: ${AULIB} cp ${AULIB} ${LIBDIR} ${AULIB}: ${MAKE} -C ${AUDIR} lib CERTLIB=${CERTLIBDIR}/libCERT${LIB_VER}.${LIB_EXT} libCERT${LIB_VER}.${LIB_EXT}: ${CERTLIB} cp ${CERTLIB} ${LIBDIR} ${CERTLIB}: ${MAKE} -C ${CERTLIBDIR} lib export: all ifeq "${EXPORTDIR_EXISTS}" "" mkdir -p ${EXPORTDIR} cp main.cpp ${EXPORTDIR} cp CERT.cfg ${EXPORTDIR} cp export.mk ${EXPORTDIR}/Makefile cp *.dylib ${EXPORTDIR} cp -r include ${EXPORTDIR} cp -r SVMWeights ${EXPORTDIR} cp -r featuredetector ${EXPORTDIR} else ${error Export directory already exists. Not willing to overwrite it. Move or rename it, or change the EXPORTDIR variable. Export director: ${EXPORTDIR}} endif test: @echo "Exporting to ${EXPORTDIR}" ifeq "${EXPORTDIR_EXISTS}" "" @echo "Export dir doesn't exist so we can proceed" mkdir -p ${EXPORTDIR} endif SVMWeights: ${MAKE} -C ${AUDIR}/SVMWeights cp -r ${AUDIR}/SVMWeights/SVMWeights . featuredetector: mkdir -p featuredetector/frozenData cp ${MPT}/Libraries/featuredetector/frozenData/*.gpriorxml featuredetector/frozenData/ cp ${MPT}/Libraries/featuredetector/frozenData/*.fdtxml featuredetector/frozenData/ libmpisearchX${LIB_VER}.${LIB_EXT}: ${MPT_BIN}/libmpisearchX${LIB_VER}.${LIB_EXT} cp ${MPT_BIN}/libmpisearchX${LIB_VER}.${LIB_EXT} ${LIBDIR} ${MPT_BIN}/libmpisearchX${LIB_VER}.${LIB_EXT}: ${MAKE} -C ${MPT_SRC}/mptslidingwindow/src/ ${MPT_BIN}/libmpisearchX${LIB_VER}.${LIB_EXT} libeyefinder${LIB_VER}.${LIB_EXT}: ${MPT_BIN}/libeyefinder${LIB_VER}.${LIB_EXT} cp $^ ${LIBDIR} ${MPT_BIN}/libeyefinder${LIB_VER}.${LIB_EXT}: ${MAKE} -C ${MPT_SRC}/eyefinder/src/ ${MPT_BIN}/libeyefinder${LIB_VER}.${LIB_EXT} libfeaturedetector${LIB_VER}.${LIB_EXT}: ${MPT_BIN}/libfeaturedetector${LIB_VER}.${LIB_EXT} cp $^ ${LIBDIR} ${MPT_BIN}/libfeaturedetector${LIB_VER}.${LIB_EXT}: ${MAKE} -C ${MPT_SRC}/featuredetector/src/ ${MPT_BIN}/libfeaturedetector${LIB_VER}.${LIB_EXT} libsmiledetector${LIB_VER}.${LIB_EXT}: ${MPT_BIN}/libsmiledetector${LIB_VER}.${LIB_EXT} cp $^ ${LIBDIR} ${MPT_BIN}/libsmiledetector${LIB_VER}.${LIB_EXT}: ${MAKE} -C ${MPT_SRC}/smiledetector/src/ ${MPT_BIN}/libsmiledetector${LIB_VER}.${LIB_EXT} libposedetector${LIB_VER}.${LIB_EXT}: ${MPT_BIN}/libposedetector${LIB_VER}.${LIB_EXT} cp $^ ${LIBDIR} ${MPT_BIN}/libposedetector${LIB_VER}.${LIB_EXT}: ${MAKE} -C ${MPT_SRC}/PoseDetector/src/ ${MPT_BIN}/libposedetector${LIB_VER}.${LIB_EXT} libblinkdetector${LIB_VER}.${LIB_EXT}: ${MPT_BIN}/libblinkdetector${LIB_VER}.${LIB_EXT} cp $^ ${LIBDIR} ${MPT_BIN}/libblinkdetector${LIB_VER}.${LIB_EXT}: ${MAKE} -C ${MPT_SRC}/blinkdetector/src/ ${MPT_BIN}/libblinkdetector${LIB_VER}.${LIB_EXT} include/ImageDirIterator.h: ${CERTLIBDIR}/ImageDirIterator.h mkdir -p include cp $^ include include/ImageLoader.h: ${CERTLIBDIR}/ImageLoader.h mkdir -p include cp $^ include include/VideoIterator.h: ${CERTLIBDIR}/VideoIterator.h mkdir -p include cp $^ include include/CERT_Config.h: ${CERTLIBDIR}/CERT_Config.h mkdir -p include cp $^ include include/CERT_Arguments.h: ${CERTLIBDIR}/CERT_Arguments.h mkdir -p include cp $^ include include/CERT_Loader.h: ${CERTLIBDIR}/CERT_Loader.h mkdir -p include cp $^ include include/CERT_Scheduler.h: ${CERTLIBDIR}/CERT_Scheduler.h mkdir -p include cp $^ include include/mp_CERT_Public.h: ${CERTLIBDIR}/mp_CERT_Public.h mkdir -p include cp $^ include include/CERT_filetypes.h: ${CERTLIBDIR}/CERT_filetypes.h mkdir -p include cp $^ include include/CERT_Task.h: ${CERTLIBDIR}/CERT_Task.h mkdir -p include cp $^ include include/tqueue.h: ${CERTLIBDIR}/tqueue.h mkdir -p include cp $^ include include/PluginController.h: ${CERTLIBDIR}/Plugins/PluginController.h mkdir -p include cp $^ include include/AfterFacePlugin.h: ${CERTLIBDIR}/Plugins/AfterFacePlugin.h mkdir -p include cp $^ include include/FacePlugin.h: ${CERTLIBDIR}/Plugins/FacePlugin.h mkdir -p include cp $^ include include/SVMPlugin.h: ${CERTLIBDIR}/Plugins/SVMPlugin.h mkdir -p include cp $^ include include/FeaturePlugin.h: ${CERTLIBDIR}/Plugins/FeaturePlugin.h mkdir -p include cp $^ include include/PluginBase.h: ${CERTLIBDIR}/Plugins/PluginBase.h mkdir -p include cp $^ include include/rimage.h: ${MPT_SRC}/mptslidingwindow/src/rimage.h mkdir -p include cp $^ include include/roi.h: ${MPT_SRC}/mptslidingwindow/src/roi.h mkdir -p include cp $^ include include/threadpool: ../mp_auCoder/threadpool mkdir -p include/threadpool/detail cp $^/threadpool/*.hpp include/threadpool cp $^/threadpool/detail/*.hpp include/threadpool/detail cp $^/threadpool.hpp include clean: common_clean rm -rf include rm -rf lib rm -f ${WINEXE} rm -f main.o %.o: %.m $(COMPILE.m) $(OUTPUT_OPTION) $< %.o: %.mm $(COMPILE.m) $(OUTPUT_OPTION) $<