#Version of SUMA_Makefile with no ifdef statements

MAKE = make
SUMALIB = libSUMA.a
SUMAGTSLIB = libSUMAGTS.a
AFNILIB = -lrickr -lmrix -lcoxplot -lmri -lf2c -l3DEdge
MAINCODE = SUMA
SUMALIBLIST = libSUMA.a libglut.a libply.a 

## 07 Dec 2005 -- Modify include path (RWCox)

SUMA_INPATH = ${SUMA_INCLUDE_PATH} -I../nifti/niftilib -I../nifti/nifticdf -I../nifti/znzlib -I../3DEdge/src

SUMA_SRCS = SUMA_trackball.c SUMA_SVmanip.c SUMA_input.c SUMA_MiscFunc.c SUMA_IV_XYZextract.c	\
		 SUMA_IV_FaceSetsextract.c  SUMA_SurfNorm.c SUMA_DOmanip.c SUMA_StripPath.c 	\
		 SUMA_Load_Surface_Object.c SUMA_CreateDO.c SUMA_help.c SUMA_display.c SUMA_ParseCommands.c	\
		 SUMA_Engine.c SUMA_Surface_IO.c SUMA_VolData.c SUMA_niml.c SUMA_Color.c	\
		 SUMA_GeomComp.c SUMA_SphericalMapping.c SUMA_DataSets.c	\
		 SUMA_Homer.c SUMA_xColBar.c SUMA_SurfClust.c SUMA_IsoSurface.c SUMA_ConvexHull.c SUMA_BrainWrap.c \
		 SUMA_SurfaceToSurface.c SUMA_LocalStat.c
       
SUMA_gts.o: SUMA_gts.c
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} ${SUMA_INPATH} -c SUMA_gts.c 

SUMA_SRCS_MAIN = SUMA_suma.c

SUMA_OBJS = ${SUMA_SRCS:.c=.o}
SUMA_GTS_OBJS = SUMA_gts.o

AFNI_OBJS = ../xutil.o ../LiteClue.o
AFOBJS  = ../afni.o ../afni_func.o ../afni_widg.o ../afni_warp.o ../afni_fimmer.o \
				../afni_slice_short.o ../afni_slice_float.o                  		\
				../afni_slice_byte.o  ../afni_slice_complex.o                		\
				../afni_pcor.o ../afni_pcor_float.o ../afni_transforms.o        	\
				../pbar.o ../afni_graph.o ../afni_plugin.o                      	\
				../parser.o ../parser_int.o ../afni_plugout.o ../afni_fimfunc.o 	\
				../afni_setup.o ../afni_receive.o ../mcw_graf.o ../afni_splash.o	\
				../afni_pplug_env.o ../afni_pplug_2dfunc.o ../afni_friends.o    	\
				../afni_ttren.o ../afni_pplug_1dfunc.o ../afni_driver.o         	\
				../afni_niml.o ../afni_sumafunc.o ../afni_slice_rgbyte.o        	\
				../afni_version.o

AFWARPOBJS = ../afni_warp.o ../afni_slice_byte.o ../afni_slice_short.o      \
				../afni_slice_float.o ../afni_slice_complex.o               \
				../afni_slice_rgbyte.o
             
AFNI_3dOBJS = ../parser.o ../parser_int.o
SUMA_SRCS_OBJS = ${SUMA_SRCS_MAIN:.c=.o}

SUMA_HDRS = SUMA_Color.h SUMA_DOmanip.h SUMA_input.h SUMA_MiscFunc.h SUMA_suma.h SUMA_trackball.h	\
		 SUMA_define.h SUMA_gen_include.h SUMA_Macros.h SUMA_prototype.h SUMA_SVmanip.h SUMA_SphericalMapping.h  \
		 SUMA_DataSets.h SUMA_Homer.h

#library only
${SUMALIB} : libply.a libglut.a ${SUMA_OBJS}
	rm -f ${SUMALIB}
	ar q ${SUMALIB} ${SUMA_OBJS}
	echo "library Rebuilt ..."
	$(RANLIB) ${SUMALIB} 

#rebuild libmri.a only when suma related files change
libmri.a : ../suma_algorithms.c  ../suma_datasets.c  ../suma_niml.c
	( cd .. ;	\
	  $(MAKE) libmri.a ; \
	  cd SUMA  )

#library using GTS functions
${SUMAGTSLIB} : libply.a libglut.a ${SUMALIB} ${SUMA_GTS_OBJS}
	rm -f ${SUMAGTSLIB}
	ar q ${SUMAGTSLIB} ${SUMA_GTS_OBJS}
	echo "library GTS Rebuilt ..."
	$(RANLIB) ${SUMAGTSLIB} 

#Main objects, You don't want main functions in libSUMA.a 
mainobj: ${SUMALIB} ${SUMA_SRCS_OBJS}

clean:
	$(RM) *.o

.c.o:
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} ${SUMA_INPATH} -c $*.c 

SUMA_glxdino:
	$(RM) $@
	${CC} ${CCOPT} ${WARNOPT} -o $@ SUMA_glxdino.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMA_LINK_LIB}

SUMA_paperplane:
	$(RM) $@
	${CC} ${CCOPT} ${WARNOPT} -o $@ SUMA_paperplane.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMA_LINK_LIB}

SUMA_pixmap2eps:
	$(RM) $@
	${CC} ${CCOPT} ${WARNOPT} -o $@ SUMA_pixmap2eps.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMA_LINK_LIB}

suma: libSUMA.a SUMA_suma.o 
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o suma ${AFNI_OBJS} SUMA_suma.o ${SUMA_INPATH} ${SUMA_LINK_PATH} \
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

MakeColorMap: SUMA_MakeColorMap.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_MakeColorMap_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_MakeColorMap.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

ScaleToMap: SUMA_ScaleToMap.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_ScaleToMap_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_ScaleToMap.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SUMA_FreeSurfer: SUMA_Surface_IO.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_FreeSurfer_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_Surface_IO.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SUMA_Read_SpecFile: SUMA_Load_Surface_Object.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_Read_SpecFile_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_Load_Surface_Object.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SUMA_Load_Surface_Object: SUMA_Load_Surface_Object.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_Load_Surface_Object_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_Load_Surface_Object.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SUMA_SureFit: SUMA_Surface_IO.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_SureFit_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_Surface_IO.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

CompareSurfaces: SUMA_compare_surfaces.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_compare_surfaces_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_compare_surfaces.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SUMA_inflate_compare: SUMA_inflate_compare.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_inflate_compare_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_inflate_compare.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

CreateIcosahedron: SUMA_SphericalMapping.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_CreateIcosahedron_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_SphericalMapping.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SUMA_Map_SurfacetoSurface: SUMA_SphericalMapping.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_Map_SurfacetoSurface_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_SphericalMapping.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

MapIcosahedron: SUMA_SphericalMapping.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_MapIcosahedron_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_SphericalMapping.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SUMA_SurfNorm: SUMA_SurfNorm.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_SurfNorm_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_SurfNorm.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SUMA_Ply_Read: SUMA_Surface_IO.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_Ply_Read_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_Surface_IO.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SUMA_ParseName: SUMA_StripPath.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_ParseName_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_StripPath.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}
 
ConvertSurface: SUMA_ConvertSurface.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_ConvertSurface_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_ConvertSurface.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SurfaceMetrics: SUMA_SurfaceMetrics.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_SurfaceMetrics_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_SurfaceMetrics.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

inspec: SUMA_Load_Surface_Object.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_inspec_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_Load_Surface_Object.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

quickspec: SUMA_Load_Surface_Object.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_quickspec_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_Load_Surface_Object.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

#>>>>>>>>>>>>>>>>>> Begin special block, compiling without all of SUMA's load <<<<<<<<<<<<<<<<<<<<
#A special compilation of SUMA_DataSets and SUMA_Algorithms, without SUMA_COMPILED defined
SUMA_DataSets_NS.o: SUMA_DataSets.c 
	${CC} ${CCOPT} ${WARNOPT} ${SUMA_INPATH} -o SUMA_DataSets_NS.o -c SUMA_DataSets.c

SUMA_Algorithms_NS.o: SUMA_Algorithms.c 
	${CC} ${CCOPT} ${WARNOPT} ${SUMA_INPATH} -o SUMA_Algorithms_NS.o -c SUMA_Algorithms.c

#This one's old, but it works
SUMA_TestDataSets_NS: SUMA_TestDataSets.c SUMA_DataSets_NS.o SUMA_Algorithms_NS.o
	$(RM) $@
	${CC} ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} SUMA_TestDataSets.c SUMA_DataSets_NS.o SUMA_Algorithms_NS.o \
         ${SUMA_INPATH} ${SUMA_LINK_PATH} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}
#You can do the same from AFNI/src with make TestDsetIO
SUMA_TestDsetIO_NS: SUMA_TestDsetIO.c SUMA_DataSets_NS.o SUMA_Algorithms_NS.o
	$(RM) $@
	${CC} ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} SUMA_TestDsetIO.c SUMA_DataSets_NS.o SUMA_Algorithms_NS.o \
         ${SUMA_INPATH} ${SUMA_LINK_PATH} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}
#>>>>>>>>>>>>>>>>>> End special block, compiling without all of SUMA's load <<<<<<<<<<<<<<<<<<<<
#SUMA_TestDsetIO Should be the same as  SUMA_TestDsetIO_NS but it uses SUMA_COMPILED and it links to libSUMA.a
SUMA_TestDsetIO: SUMA_TestDsetIO.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} SUMA_TestDsetIO.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

ConvertDset: SUMA_ConvertDset.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} SUMA_ConvertDset.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

ROI2dataset: SUMA_ROI2dataset.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_ROI2dataset_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} SUMA_ROI2dataset.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SurfSmooth: SUMA_GeomComp.c SUMA_SurfSmooth.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_SurfSmooth_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_SurfSmooth.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SurfPatch: SUMA_SurfPatch.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_getPatch_STANDALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_SurfPatch.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SurfQual: SUMA_SurfQual.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_SurfQual_STANDALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_SurfQual.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SUMA_Homer: SUMA_Homer.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_Homer_STAND_ALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_Homer.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SurfClust: SUMA_SurfClust.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_SurfClust_STANDALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} ${AFNI_3dOBJS} \
         SUMA_SurfClust.c ${SUMA_INPATH} ${SUMA_LINK_PATH} ${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

IsoSurface: SUMA_IsoSurface.c MarchingCubes.o
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_IsoSurface_STANDALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} SUMA_IsoSurface.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

ConvexHull: SUMA_ConvexHull.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_ConvexHull_STANDALONE ${CCOPT} ${WARNOPT} -o $@ ${AFNI_OBJS} SUMA_ConvexHull.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

3dSkullStrip: SUMA_3dSkullStrip.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_BrainWrap_STANDALONE ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_3dSkullStrip.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o	-I../3DEdge/src -l3DEdge\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

3dCRUISEtoAFNI: SUMA_3dCRUISEtoAFNI.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_3dCRUISEtoAFNI.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

3dBRAIN_VOYAGERtoAFNI: SUMA_3dBRAIN_VOYAGERtoAFNI.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_3dBRAIN_VOYAGERtoAFNI.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}
       
3dVol2Surf: SUMA_3dVol2Surf.c 
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ SUMA_3dVol2Surf.c ${SUMA_INPATH}	${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} ${AFNI_OBJS} -lf2c			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB}			\
		${SUMA_LINK_LIB}

3dSurf2Vol: SUMA_3dSurf2Vol.c 
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ SUMA_3dSurf2Vol.c ${SUMA_INPATH} ${SUMA_LINK_PATH} \
		${AFNI_3dOBJS} ${AFNI_OBJS} -lf2c			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB}			\
		${SUMA_LINK_LIB}

SurfMeasures: SUMA_SurfMeasures.c 
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ SUMA_SurfMeasures.c		\
		${SUMA_INPATH}	${SUMA_LINK_PATH} 				\
		${AFNI_3dOBJS} ${AFNI_OBJS} -lf2c			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB}			\
		${SUMA_LINK_LIB}

FScurv_to_1D: SUMA_FScurv_to_1D.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_FScurv_to_1D_STAND_ALONE	\
   	${CCOPT} ${WARNOPT} -o $@ SUMA_FScurv_to_1D.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} ${AFNI_OBJS} -lf2c			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB}			\
		${SUMA_LINK_LIB}

FSread_annot: SUMA_FSread_annot.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_FSread_annot_STAND_ALONE	\
   	${CCOPT} ${WARNOPT} -o $@ SUMA_FSread_annot.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 		\
		${AFNI_3dOBJS} ${AFNI_OBJS} -lf2c			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB}			\
		${SUMA_LINK_LIB}
      
ShowCmap: SUMA_xColBar.c
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_SHOW_CMAP_STAND_ALONE	\
   	${CCOPT} ${WARNOPT} -o $@ SUMA_xColBar.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 		\
		${AFNI_3dOBJS} ${AFNI_OBJS} -lf2c			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB}			\
		${SUMA_LINK_LIB}


SampBias: SUMA_SampBias.c ${SUMALIB} 
	$(RM) $@
	${CC} -DSUMA_COMPILED -DSUMA_SampBias_STAND_ALONE \
		${CCOPT} ${WARNOPT} -o $@ SUMA_SampBias.c ${SUMA_INPATH}	${SUMA_LINK_PATH}		\
		${AFNI_3dOBJS} ${AFNI_OBJS} -lf2c			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB}			\
		${SUMA_LINK_LIB} 

resolvitivity: SUMA_resolvitivity.c ${SUMALIB} 
	$(RM) $@
	${CC} -DSUMA_COMPILED \
		${CCOPT} ${WARNOPT} -o $@ SUMA_resolvitivity.c ${SUMA_INPATH}		\
		${AFNI_3dOBJS} ${AFNI_OBJS} -lf2c			\
		${SUMALIBLIST}  ${AFNILIB} ${ZLIB}			\
		${SUMA_LINK_PATH} ${SUMA_LINK_LIB} 

growingsphere: SUMA_growingsphere.c ${SUMALIB} 
	$(RM) $@
	${CC} -DSUMA_COMPILED \
		${CCOPT} ${WARNOPT} -o $@ SUMA_growingsphere.c ${SUMA_INPATH}		\
		${AFNI_3dOBJS} ${AFNI_OBJS} -lf2c			\
		${SUMALIBLIST}  ${AFNILIB} ${ZLIB}			\
		${SUMA_LINK_PATH} ${SUMA_LINK_LIB} 

3dfilter: SUMA_3dfilter.c ${SUMALIB} 
	$(RM) $@
	${CC} -DSUMA_COMPILED \
		${CCOPT} ${WARNOPT} -o $@ SUMA_3dfilter.c ${SUMA_INPATH}		\
		${AFNI_3dOBJS} ${AFNI_OBJS} -lf2c			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB}			\
		${SUMA_LINK_PATH} ${SUMA_LINK_LIB} 

SurfMesh: SUMA_coarsen.c libgts.a ${SUMAGTSLIB}
	$(RM) $@
	${CC} -DSUMA_COMPILED \
   	${CCOPT} ${WARNOPT} -o $@ SUMA_coarsen.c 	\
      ${SUMA_INPATH} ${SUMA_LINK_PATH} 		\
		${AFNI_3dOBJS} ${AFNI_OBJS} -lf2c			\
		libSUMAGTS.a ${SUMALIBLIST} -lglib${SUMA_GLIB_VER} ${AFNILIB} ${ZLIB}			\
		${SUMA_LINK_LIB} libgts.a 

3dSurfMask: SUMA_3dSurfMask.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_3dSurfMask.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SurfToSurf: SUMA_SurfToSurf.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_SurfToSurf.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}
       
SumaProgramTemplate: SUMA_ProgramTemplate.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_ProgramTemplate.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

AnalyzeTrace: SUMA_AnalyzeTrace.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_AnalyzeTrace.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

DriveSuma: SUMA_DriveSuma.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_DriveSuma.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SurfDsetInfo: SUMA_SurfDsetInfo.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_SurfDsetInfo.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SurfInfo: SUMA_SurfInfo.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_SurfInfo.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SurfLocalstat: SUMA_SurfLocalStat.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_SurfLocalStat.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

SurfFWHM: SUMA_SurfFWHM.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_SurfFWHM.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

ROIgrow: SUMA_ROIgrow.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_ROIgrow.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

toy_circle: SUMA_toy_circle.c SUMA_SurfWarp.o
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_toy_circle.c \
		${SUMA_INPATH} ${SUMA_LINK_PATH} SUMA_SurfWarp.o	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

path_optimize: SUMA_path_optimize.c SUMA_SurfWarp.o
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_path_optimize.c \
		${SUMA_INPATH} ${SUMA_LINK_PATH} SUMA_SurfWarp.o	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

spharm_test: SUMA_spharm.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_spharm.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} 			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

MarchingCubes.o: MarchingCubes/MarchingCubes.c
	( cd MarchingCubes ;	\
	  $(RM) mc	debug/*.o;	\
	  $(MAKE)  mc	'CC=$(CC)';	\
	  $(CP) -p debug/$@ .. ; )
     	
NikoMap: SUMA_NikoMap.c
	$(RM) $@
	${CC} -DSUMA_COMPILED ${CCOPT} ${WARNOPT} -o $@ $(AFWARPOBJS) ${AFNI_OBJS} SUMA_NikoMap.c ${SUMA_INPATH} ${SUMA_LINK_PATH} 	\
		${AFNI_3dOBJS} MarchingCubes/debug/MarchingCubes.o			\
		${SUMALIBLIST} ${AFNILIB} ${ZLIB} ${SUMA_LINK_LIB}

libply.a: 
	( cd PLY ;	\
	  $(MAKE) clean $@ 'CC=$(CC)' 'RM=$(RM)' 'RANLIB=$(RANLIB)' 'CCOPT=$(CCOPT)' 'WARNOPT=$(WARNOPT)' ; \
	  $(RANLIB) $@ ;	\
	  $(CP) -p $@ .. ; )

# used to have block below for building libgts.a, but skipping aclocal, autoheader, automake -a and autoconf seems to cause less headaches.
# perhaps current aclocal.m4 works fine in cases I tested. Including the whole block should also work on machines where autoconf, automake
# are properly installed.
#    cd gts ;	\ 
#	  aclocal ;	\
#	  autoheader ;	\
#	  automake -a ;	\
#	  autoconf ;	\
#	  ./configure	;	\

libgts.a:
	( cd gts ;	\
	  ./configure	;	\
	  $(MAKE) clean ; \
	  $(MAKE) ; \
	  $(RANLIB) src/.libs/$@ ;	\
	  $(CP) -p src/.libs/$@ .. ; )

#remove soon
AddGTS: ${SUMA_GTS_OBJS}
	( echo "Adding SUMA's GTS functions to libSUMA.a";	\
		ar q libSUMA.a ${SUMA_GTS_OBJS} ; \
	  	$(RANLIB) ${SUMALIB} ;  )

libglut.a:
	( cd GLUT/libglut ;	\
	  $(MAKE) clean $@ 'SUMA_INCLUDE_PATH=$(SUMA_INPATH)' 'CC=$(CC)' 'RM=$(RM)' 'RANLIB=$(RANLIB)' 'CCOPT=$(CCOPT)' 'WARNOPT=$(WARNOPT)' ; \
	  $(RANLIB) $@ ;	\
     $(CP) -p $@ ../.. ; )
     
install:
	@echo Installing Binaries...
	@if [ ! -d $(INSTALLDIR_SUMA) ]; then $(MKDIR) -p $(INSTALLDIR_SUMA); echo WARNING: directory $(INSTALLDIR_SUMA) has been created from SUMA directory. ; fi
	@if [ -f suma ]; then mv suma ${INSTALLDIR_SUMA}; fi;
	@if [ -f CreateIcosahedron ]; then mv CreateIcosahedron ${INSTALLDIR_SUMA}; fi;
	@if [ -f SUMA_Map_SurfacetoSurface ]; then mv SUMA_Map_SurfacetoSurface ${INSTALLDIR_SUMA}; fi;
	@if [ -f MapIcosahedron ]; then mv MapIcosahedron ${INSTALLDIR_SUMA}; fi;
	@if [ -f SUMA_SureFit ]; then mv SUMA_SureFit ${INSTALLDIR_SUMA}; fi;
	@if [ -f SUMA_Load_Surface_Object ]; then mv SUMA_Load_Surface_Object ${INSTALLDIR_SUMA}; fi;
	@if [ -f SUMA_Read_SpecFile ]; then mv SUMA_Read_SpecFile ${INSTALLDIR_SUMA}; fi;
	@if [ -f SUMA_FreeSurfer ]; then mv SUMA_FreeSurfer ${INSTALLDIR_SUMA}; fi;
	@if [ -f ScaleToMap ]; then mv ScaleToMap ${INSTALLDIR_SUMA}; fi;
	@if [ -f MakeColorMap ]; then mv MakeColorMap ${INSTALLDIR_SUMA}; fi;
	@if [ -f ROI2dataset ]; then mv ROI2dataset ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfSmooth ]; then mv SurfSmooth ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfClust ]; then mv SurfClust ${INSTALLDIR_SUMA}; fi;
	@if [ -f IsoSurface ]; then mv IsoSurface ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfPatch ]; then mv SurfPatch ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfQual ]; then mv SurfQual ${INSTALLDIR_SUMA}; fi;
	@if [ -f CompareSurfaces ]; then mv CompareSurfaces ${INSTALLDIR_SUMA}; fi;
	@if [ -f SUMA_inflate_compare ]; then mv SUMA_inflate_compare ${INSTALLDIR_SUMA}; fi;
	@if [ -f SUMA_Ply_Read ]; then mv SUMA_Ply_Read ${INSTALLDIR_SUMA}; fi;
	@if [ -f SUMA_ParseName ]; then mv SUMA_ParseName ${INSTALLDIR_SUMA}; fi;
	@if [ -f 3dVol2Surf ]; then mv 3dVol2Surf ${INSTALLDIR_SUMA}; fi;
	@if [ -f 3dSurf2Vol ]; then mv 3dSurf2Vol ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfMeasures ]; then mv SurfMeasures ${INSTALLDIR_SUMA}; fi;
	@if [ -f SUMA_glxdino ]; then mv SUMA_glxdino ${INSTALLDIR_SUMA}; fi;
	@if [ -f SUMA_paperplane ]; then mv SUMA_paperplane ${INSTALLDIR_SUMA}; fi;
	@if [ -f SUMA_pixmap2eps ]; then mv SUMA_pixmap2eps ${INSTALLDIR_SUMA}; fi;
	@if [ -f ConvertSurface ]; then mv ConvertSurface ${INSTALLDIR_SUMA}; fi;
	@if [ -f ConvertDset ]; then mv ConvertDset ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfaceMetrics ]; then mv SurfaceMetrics ${INSTALLDIR_SUMA}; fi;
	@if [ -f inspec ]; then mv inspec ${INSTALLDIR_SUMA}; fi;
	@if [ -f quickspec ]; then mv quickspec ${INSTALLDIR_SUMA}; fi;
	@if [ -f FScurv_to_1D ]; then mv FScurv_to_1D ${INSTALLDIR_SUMA}; fi;
	@if [ -f FSread_annot ]; then mv FSread_annot ${INSTALLDIR_SUMA}; fi;
	@if [ -f ShowCmap ]; then mv ShowCmap ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfMesh ]; then mv SurfMesh ${INSTALLDIR_SUMA}; fi;
	@if [ -f SampBias ]; then mv SampBias ${INSTALLDIR_SUMA}; fi;
	@if [ -f 3dSkullStrip ]; then mv 3dSkullStrip ${INSTALLDIR_SUMA}; fi;
	@if [ -f 3dCRUISEtoAFNI ]; then mv 3dCRUISEtoAFNI ${INSTALLDIR_SUMA}; fi;
	@if [ -f 3dBRAIN_VOYAGERtoAFNI ]; then mv 3dBRAIN_VOYAGERtoAFNI ${INSTALLDIR_SUMA}; fi;
	@if [ -f 3dSurfMask ]; then mv 3dSurfMask ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfToSurf ]; then mv SurfToSurf ${INSTALLDIR_SUMA}; fi;
	@if [ -f ROIgrow ]; then mv ROIgrow ${INSTALLDIR_SUMA}; fi;
	@if [ -f NikoMap ]; then mv NikoMap ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfDsetInfo ]; then mv SurfDsetInfo ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfInfo ]; then mv SurfInfo ${INSTALLDIR_SUMA}; fi;
	@if [ -f AnalyzeTrace ]; then mv AnalyzeTrace ${INSTALLDIR_SUMA}; fi;
	@if [ -f DriveSuma ]; then mv DriveSuma ${INSTALLDIR_SUMA}; fi;
	@if [ -f SumaProgramTemplate ]; then mv SumaProgramTemplate ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfLocalstat ]; then mv SurfLocalstat ${INSTALLDIR_SUMA}; fi;
	@if [ -f SurfFWHM ]; then mv SurfFWHM ${INSTALLDIR_SUMA}; fi;

packbins:
	if [ ! -d SUMA_bin	]; then $(MKDIR) SUMA_bin; fi
	chmod u+x ./@SUMA_CreateCompileStamp
	./@SUMA_CreateCompileStamp SUMA_bin/@SUMA_CompileStamp
	@if [ -f suma ]; then $(CP) -p suma SUMA_bin/; fi;
	@if [ -f CreateIcosahedron ]; then $(CP) -p CreateIcosahedron SUMA_bin/; fi;
	@if [ -f SUMA_Map_SurfacetoSurface ]; then $(CP) -p SUMA_Map_SurfacetoSurface SUMA_bin/; fi;
	@if [ -f MapIcosahedron ]; then $(CP) -p MapIcosahedron SUMA_bin/; fi;
	@if [ -f SUMA_SureFit ]; then $(CP) -p SUMA_SureFit SUMA_bin/; fi;
	@if [ -f SUMA_Load_Surface_Object ]; then $(CP) -p SUMA_Load_Surface_Object SUMA_bin/; fi;
	@if [ -f SUMA_Read_SpecFile ]; then $(CP) -p SUMA_Read_SpecFile SUMA_bin/; fi;
	@if [ -f SUMA_FreeSurfer ]; then $(CP) -p SUMA_FreeSurfer SUMA_bin/; fi;
	@if [ -f ScaleToMap ]; then $(CP) -p ScaleToMap SUMA_bin/; fi;
	@if [ -f MakeColorMap ]; then $(CP) -p MakeColorMap SUMA_bin/; fi;
	@if [ -f ROI2dataset ]; then $(CP) -p ROI2dataset SUMA_bin/; fi;
	@if [ -f SurfSmooth ]; then $(CP) -p SurfSmooth SUMA_bin/; fi;
	@if [ -f SurfClust ]; then $(CP) -p SurfClust SUMA_bin/; fi;
	@if [ -f IsoSurface ]; then $(CP) -p IsoSurface SUMA_bin/; fi;
	@if [ -f SurfPatch ]; then $(CP) -p SurfPatch SUMA_bin/; fi;
	@if [ -f SurfQual ]; then $(CP) -p SurfQual SUMA_bin/; fi;
	@if [ -f CompareSurfaces ]; then $(CP) -p CompareSurfaces SUMA_bin/; fi;
	@if [ -f SUMA_inflate_compare ]; then $(CP) -p SUMA_inflate_compare SUMA_bin/; fi;
	@if [ -f SUMA_Ply_Read ]; then $(CP) -p SUMA_Ply_Read SUMA_bin/; fi;
	@if [ -f SUMA_ParseName ]; then $(CP) -p SUMA_ParseName SUMA_bin/; fi;
	@if [ -f 3dVol2Surf ]; then $(CP) -p 3dVol2Surf SUMA_bin/; fi;
	@if [ -f 3dSurf2Vol ]; then $(CP) -p 3dSurf2Vol SUMA_bin/; fi;
	@if [ -f SurfMeasures ]; then $(CP) -p SurfMeasures SUMA_bin/; fi;
	@if [ -f SUMA_glxdino ]; then $(CP) -p SUMA_glxdino SUMA_bin/; fi;
	@if [ -f SUMA_paperplane ]; then $(CP) -p SUMA_paperplane SUMA_bin/; fi;
	@if [ -f SUMA_pixmap2eps ]; then $(CP) -p SUMA_pixmap2eps SUMA_bin/; fi;	
	@if [ -f ConvertSurface ]; then $(CP) -p ConvertSurface SUMA_bin/; fi;	
	@if [ -f ConvertDset ]; then $(CP) -p ConvertDset SUMA_bin/; fi;	
	@if [ -f SurfaceMetrics ]; then $(CP) -p SurfaceMetrics SUMA_bin/; fi;	
	@if [ -f inspec ]; then $(CP) -p inspec SUMA_bin/; fi;	
	@if [ -f quickspec ]; then $(CP) -p quickspec SUMA_bin/; fi;	
	@if [ -f FScurv_to_1D ]; then $(CP) -p FScurv_to_1D SUMA_bin/; fi;	
	@if [ -f FSread_annot ]; then $(CP) -p FSread_annot SUMA_bin/; fi;	
	@if [ -f ShowCmap ]; then $(CP) -p ShowCmap SUMA_bin/; fi;	
	@if [ -f SampBias ]; then $(CP) -p SampBias SUMA_bin/; fi;	
	@if [ -f SurfMesh ]; then $(CP) -p SurfMesh SUMA_bin/; fi;	
	@if [ -f 3dSkullStrip ]; then $(CP) -p 3dSkullStrip SUMA_bin/; fi;
	@if [ -f 3dCRUISEtoAFNI ]; then $(CP) -p 3dCRUISEtoAFNI SUMA_bin/; fi;
	@if [ -f 3dBRAIN_VOYAGERtoAFNI ]; then $(CP) -p 3dBRAIN_VOYAGERtoAFNI SUMA_bin/; fi;
	@if [ -f 3dSurfMask ]; then $(CP) -p 3dSurfMask SUMA_bin/; fi;
	@if [ -f SurfToSurf ]; then $(CP) -p SurfToSurf SUMA_bin/; fi;
	@if [ -f ROIgrow ]; then $(CP) -p ROIgrow SUMA_bin/; fi;
	@if [ -f NikoMap ]; then $(CP) -p NikoMap SUMA_bin/; fi;
	@if [ -f SurfDsetInfo ]; then $(CP) -p SurfDsetInfo SUMA_bin/; fi;
	@if [ -f SurfInfo ]; then $(CP) -p SurfInfo SUMA_bin/; fi;
	@if [ -f AnalyzeTrace ]; then $(CP) -p AnalyzeTrace SUMA_bin/; fi;
	@if [ -f DriveSuma ]; then $(CP) -p DriveSuma SUMA_bin/; fi;
	@if [ -f SumaProgramTemplate ]; then $(CP) -p SumaProgramTemplate SUMA_bin/; fi;
	@if [ -f SurfLocalstat ]; then $(CP) -p SurfLocalstat SUMA_bin/; fi;
	@if [ -f SurfFWHM ]; then $(CP) -p SurfFWHM SUMA_bin/; fi;

	$(TAR) -cf $(SUMA_BIN_ARCHIVE) SUMA_bin
	${RM} -r SUMA_bin
	
all: libmri.a libSUMA.a mainobj suma install 
allgts: libmri.a libSUMA.a libgts.a mainobj suma SurfMesh install 

standalones: CreateIcosahedron SUMA_Map_SurfacetoSurface MapIcosahedron       \
	SUMA_SureFit SUMA_Load_Surface_Object SUMA_Read_SpecFile	      \
	SUMA_FreeSurfer ScaleToMap MakeColorMap CompareSurfaces		      \
	SUMA_inflate_compare SUMA_Ply_Read SUMA_ParseName ConvertSurface      \
	3dVol2Surf 3dSurf2Vol SurfMeasures SurfaceMetrics    \
	ROI2dataset SurfSmooth SurfPatch SurfQual inspec quickspec FScurv_to_1D FSread_annot	\
   SUMA_TestDsetIO ConvertDset ShowCmap SurfClust IsoSurface 3dSkullStrip \
   3dCRUISEtoAFNI	3dBRAIN_VOYAGERtoAFNI 3dSurfMask SurfToSurf ROIgrow\
   NikoMap SurfDsetInfo SurfInfo AnalyzeTrace DriveSuma SurfLocalstat SurfFWHM SumaProgramTemplate 
   
 
anew: clean libSUMA.a mainobj suma standalones packbins install 

testGL: SUMA_glxdino SUMA_paperplane SUMA_pixmap2eps


syntax highlighted by Code2HTML, v. 0.9.1