# A Makefile for MELODIC

include ${FSLCONFDIR}/default.mk

PROJNAME    = melodic
XFILES      = fsl_glm fsl_sbca fsl_mvlm fsl_regfilt \
              fsl_schurprod melodic
TESTXFILES  = test
RUNTCLS     = Melodic
SCRIPTS     = melodicreport dual_regression
SOFILES     = libfsl-ggmix.so

# Generate version number from the
# state of the git repository
MELODIC_VERSION ?= $(shell git describe --tags --always --dirty)

USRCPPFLAGS = -DMELODIC_VERSION=\"${MELODIC_VERSION}\"
USRINCFLAGS = `pkg-config CiftiLib --cflags`
LIBS        = -lfsl-newimage -lfsl-miscplot -lfsl-miscpic \
              -lfsl-miscmaths -lfsl-NewNifti -lfsl-utils  \
              -lfsl-znz -lfsl-cprob -lgdc -lgd -lpng \
              `pkg-config CiftiLib --libs` -lhdf5_cpp -lhdf5

all: ${SOFILES} ${XFILES}

libfsl-ggmix.so: ggmix.o
	$(CXX) ${CXXFLAGS} -shared -o $@ $^ ${LDFLAGS}

melodic: glm_chunks.o h5_reader.o meloptions.o melhlprfns.o melgmix.o meldata.o melpca.o melica.o melreport.o melodic.o
	$(CXX) ${CXXFLAGS} -o $@ $^ ${LDFLAGS}

test: test.o
	$(CXX) ${CXXFLAGS} -o $@ $^ ${LDFLAGS}

fsl_glm: glm_chunks.o h5_reader.o melhlprfns.o fsl_glm.o
	$(CXX) ${CXXFLAGS} -o $@ $^ ${LDFLAGS}

fsl_sbca: glm_chunks.o h5_reader.o melhlprfns.o fsl_sbca.o
	$(CXX) ${CXXFLAGS} -o $@ $^ ${LDFLAGS}

fsl_schurprod: glm_chunks.o h5_reader.o melhlprfns.o fsl_schurprod.o
	$(CXX) ${CXXFLAGS} -o $@ $^ ${LDFLAGS}

fsl_mvlm: glm_chunks.o h5_reader.o melhlprfns.o fsl_mvlm.o
	$(CXX) ${CXXFLAGS} -o $@ $^ ${LDFLAGS}

fsl_regfilt: glm_chunks.o h5_reader.o melhlprfns.o fsl_regfilt.o
	$(CXX) ${CXXFLAGS} -o $@ $^ ${LDFLAGS}
