include ${FSLCONFDIR}/default.mk

PROJNAME  = mist
XFILES    = mist/mist
DATAFILES = data/masks data/meshes

# Assuming here that only one
# version of VTK is installed
VTKINCDIR := $(wildcard ${FSLDIR}/include/vtk-*)
# Extract the VTK version from
# the include directory name
VTKSUFFIX := $(shell echo ${VTKINCDIR} | sed -E 's/^.+(-[0-9]+\.[0-9]+)$$/\1/g')

USRINCFLAGS = -DBOOST_LOG_DYN_LINK \
              -Icommon \
              -I${VTKINCDIR}

OBJS = mist/mist.o $(patsubst %.cpp,%.o,$(wildcard common/*.cpp))

UNAME := $(shell uname)
ifneq (${UNAME},Darwin)
        LIBRT = -lrt
endif

LIBS = -lvtkIOLegacy${VTKSUFFIX} \
       -lvtkIOCore${VTKSUFFIX} \
       -lvtkFiltersModeling${VTKSUFFIX} \
       -lvtkFiltersCore${VTKSUFFIX} \
       -lvtkCommonExecutionModel${VTKSUFFIX} \
       -lvtkCommonDataModel${VTKSUFFIX} \
       -lvtkCommonMisc${VTKSUFFIX} \
       -lvtkCommonSystem${VTKSUFFIX} \
       -lvtkCommonTransforms${VTKSUFFIX} \
       -lvtkCommonMath${VTKSUFFIX} \
       -lvtkCommonCore${VTKSUFFIX} \
       -lvtksys${VTKSUFFIX} \
       -lfsl-warpfns -lfsl-basisfield -lfsl-meshclass -lfsl-newimage \
       -lfsl-miscmaths -lfsl-NewNifti -lfsl-cprob -lfsl-utils -lfsl-znz \
       -lboost_log -lboost_log_setup -lboost_thread \
       -lboost_filesystem -lboost_date_time -lboost_chrono \
       -lboost_serialization -lboost_regex -lboost_system \
       -lnlopt -lgdc -lgd -lpng -lsqlite3 -lpthread -ldl ${LIBRT}

all: ${XFILES}

pyinstall:
	${FSLDIR}/bin/python -m pip install ./python             \
          --no-build-isolation                               \
	      --prefix ${FSLDEVDIR} --no-deps --ignore-installed \
	      --no-cache-dir -vvv

mist/mist: ${OBJS}
	${CXX} ${CXXFLAGS} -o $@ $^ ${LDFLAGS}

clean:
	rm -f ${OBJS} mist/mist
