Mercurial > hg > minc-tools
view Makefile.msvc-win32 @ 2492:8512aa0133ab
* added logic to only use the first timepoint of a 4D time dimension file
author | rotor <rotor> |
---|---|
date | Tue, 11 Aug 2009 13:49:19 +0000 |
parents | e30fdeeb284c |
children |
line wrap: on
line source
# # Makefile for MINC using Microsoft Visual C/C++ (on Windows, natch). # # Written for Microsoft's NMAKE utility, but appears to work # more-or-less correctly with GNU Make for Windows (as in Cygwin). # # Builds all of the MINC command-line utilities, along with the # MINC libraries MINC2.DLL and VOLUME_IO2.DLL # # Assumes that the environment variable NETCDF_ROOT points to # the location of netcdf.lib and netcdf.h. This could be made # more flexible to allow the library and header to reside in # different directories. # # $Header: /private-cvsroot/minc/Makefile.msvc-win32,v 6.6 2008-04-11 05:19:26 rotor Exp $ # PROGS = worldtovoxel.exe \ voxeltoworld.exe \ minc_modify_header.exe \ mincaverage.exe \ minccalc.exe \ mincconcat.exe \ mincconvert.exe \ minccopy.exe \ mincdump.exe \ mincexpand.exe \ mincextract.exe \ mincgen.exe \ mincinfo.exe \ minclookup.exe \ mincmakescalar.exe \ mincmakevector.exe \ mincmath.exe \ mincresample.exe \ mincreshape.exe \ mincstats.exe \ minctoraw.exe \ invert_raw_image.exe \ mincwindow.exe \ rawtominc.exe \ xfmconcat.exe \ xfminvert.exe \ ecattominc.exe \ minctoecat.exe \ mnc2nii.exe \ nii2mnc.exe \ upet2mnc.exe \ dcm2mnc.exe MINC_HDRS = \ libsrc\minc.h \ libsrc\minc_basic.h \ libsrc\minc_private.h \ libsrc\minc_routines.h \ libsrc\minc_structures.h \ libsrc\minc_useful.h \ libsrc\minc_varlists.h \ libsrc\nd_loop.h \ libsrc\ParseArgv.h \ libsrc\time_stamp.h \ libsrc\type_limits.h \ libsrc\voxel_loop.h \ libsrc\minc_error.h \ libsrc\minc_config.h \ libsrc\minc_compat.h MINC_OBJS = \ libsrc\ParseArgv.obj \ libsrc\dim_conversion.obj \ libsrc\image_conversion.obj \ libsrc\minc_convenience.obj \ libsrc\minc_error.obj \ libsrc\nd_loop.obj \ libsrc\netcdf_convenience.obj \ libsrc\time_stamp.obj \ libsrc\value_conversion.obj \ libsrc\voxel_loop.obj \ libsrc\hdf_convenience.obj \ libsrc\minc_compat.obj MINC2_OBJS = \ libsrc2\convert.obj \ libsrc2\datatype.obj \ libsrc2\dimension.obj \ libsrc2\free.obj \ libsrc2\grpattr.obj \ libsrc2\hyper.obj \ libsrc2\label.obj \ libsrc2\m2util.obj \ libsrc2\record.obj \ libsrc2\slice.obj \ libsrc2\valid.obj \ libsrc2\volprops.obj \ libsrc2\volume.obj VOLIO_OBJS = \ volume_io/Geometry/colour.obj \ volume_io/Geometry/colour_def.obj \ volume_io/Geometry/gaussian.obj \ volume_io/Geometry/inverse.obj \ volume_io/Geometry/newton.obj \ volume_io/Geometry/points.obj \ volume_io/Geometry/splines.obj \ volume_io/Geometry/tensors.obj \ volume_io/Geometry/transforms.obj \ volume_io/MNI_formats/gen_xf_io.obj \ volume_io/MNI_formats/gen_xfs.obj \ volume_io/MNI_formats/grid_transforms.obj \ volume_io/MNI_formats/mni_io.obj \ volume_io/MNI_formats/tag_points.obj \ volume_io/MNI_formats/thin_plate_spline.obj \ volume_io/Prog_utils/alloc.obj \ volume_io/Prog_utils/alloc_check.obj \ volume_io/Prog_utils/arrays.obj \ volume_io/Prog_utils/files.obj \ volume_io/Prog_utils/print.obj \ volume_io/Prog_utils/progress.obj \ volume_io/Prog_utils/string.obj \ volume_io/Prog_utils/time.obj \ volume_io/Volumes/evaluate.obj \ volume_io/Volumes/get_hyperslab.obj \ volume_io/Volumes/input_free.obj \ volume_io/Volumes/input_mnc.obj \ volume_io/Volumes/input_volume.obj \ volume_io/Volumes/multidim_arrays.obj \ volume_io/Volumes/output_mnc.obj \ volume_io/Volumes/output_volume.obj \ volume_io/Volumes/set_hyperslab.obj \ volume_io/Volumes/volume_cache.obj \ volume_io/Volumes/volumes.obj # Unfortunately the CVS tree does not reflect the desired file organization # of the software, so we have to fix that up here: VOLIO_HDRS = \ volume_io\Include\volume_io\alloc.h \ volume_io\Include\volume_io\arrays.h \ volume_io\Include\volume_io\basic.h \ volume_io\Include\volume_io\def_math.h \ volume_io\Include\volume_io\files.h \ volume_io\Include\volume_io\geometry.h \ volume_io\Include\volume_io\geom_structs.h \ volume_io\Include\volume_io\multidim.h \ volume_io\Include\volume_io\progress.h \ volume_io\Include\volume_io\string_funcs.h \ volume_io\Include\volume_io\system_dependent.h \ volume_io\Include\volume_io\transforms.h \ volume_io\Include\volume_io\vol_io_prototypes.h \ volume_io\Include\volume_io\volume_cache.h \ volume_io\Include\volume_io\volume.h ACR_NEMA_OBJS = \ conversion\Acr_nema\acr_io.obj \ conversion\Acr_nema\element.obj \ conversion\Acr_nema\file_io.obj \ conversion\Acr_nema\group.obj \ conversion\Acr_nema\message.obj \ conversion\Acr_nema\value_repr.obj ACR_NEMA_HDRS = \ conversion\Acr_nema\acr_nema.h \ conversion\Acr_nema\acr_nema\acr_io.h \ conversion\Acr_nema\acr_nema\element.h \ conversion\Acr_nema\acr_nema\file_io.h \ conversion\Acr_nema\acr_nema\group.h \ conversion\Acr_nema\acr_nema\message.h \ conversion\Acr_nema\acr_nema\value_repr.h INCLUDES = -I$(NETCDF_ROOT) -I$(HDF5_ROOT)/include -Ilibsrc \ -Iprogs/Proglib -Ivolume_io/Include -Iconversion/Acr_nema DEFINES = -DDLL_NETCDF -D_POSIX_ -DMINC2 -DWIN32 -D_HDF5USEDLL_ \ -DHAVE_CONFIG_H -D_USE_MATH_DEFINES NETCDF_LIB = $(NETCDF_ROOT)/netcdf.lib HDF5_LIB = $(HDF5_ROOT)/dll/hdf5dll.lib LIBS = minc2.lib volume_io2.lib $(NETCDF_LIB) $(HDF5_LIB) CFLAGS = $(INCLUDES) $(DEFINES) .SUFFIXES: .obj .c.obj: cl /nologo $(CFLAGS) -c -Fo$*.obj $< all: $(PROGS) minc2.dll volume_io2.dll clean: -del /s *.obj -del *.exp -del *.lib -del *.dll -del *.exe -del *.map LINK = link $(PROGS): minc2.dll volume_io2.dll $(MINC_OBJS): libsrc\config.h $(MINC_HDRS) $(MINC2_OBJS): libsrc2\minc2.h libsrc2\minc2_private.h minc2.dll: $(MINC_OBJS) $(MINC2_OBJS) link /dll /nologo /map:minc2.map /out:minc2.dll $(MINC_OBJS) $(MINC2_OBJS) $(NETCDF_LIB) $(HDF5_LIB) ws2_32.lib volume_io2.dll: $(VOLIO_OBJS) minc2.dll link /dll /nologo /map:volume_io2.map /out:volume_io2.dll $(VOLIO_OBJS) minc2.lib $(NETCDF_LIB) $(HDF5_LIB) $(VOLIO_OBJS): $(VOLIO_HDRS) libsrc\config.h: libsrc\config.h.msvc-win32 copy libsrc\config.h.msvc-win32 libsrc\config.h WORLDTOVOXEL_OBJS = progs/coordinates/worldtovoxel.obj worldtovoxel.exe: $(WORLDTOVOXEL_OBJS) $(LINK) $(WORLDTOVOXEL_OBJS) $(LIBS) VOXELTOWORLD_OBJS = progs/coordinates/voxeltoworld.obj voxeltoworld.exe: $(VOXELTOWORLD_OBJS) $(LINK) $(VOXELTOWORLD_OBJS) $(LIBS) MINC_MODIFY_HEADER_OBJS = progs/minc_modify_header/minc_modify_header.obj minc_modify_header.exe: $(MINC_MODIFY_HEADER_OBJS) $(LINK) $(MINC_MODIFY_HEADER_OBJS) $(LIBS) MINCAVERAGE_OBJS = progs/mincaverage/mincaverage.obj mincaverage.exe: $(MINCAVERAGE_OBJS) $(LINK) $(MINCAVERAGE_OBJS) $(LIBS) MINCCALC_OBJS = \ progs/minccalc/minccalc.obj \ progs/minccalc/gram.obj \ progs/minccalc/lex.obj \ progs/minccalc/eval.obj \ progs/minccalc/ident.obj \ progs/minccalc/node.obj \ progs/minccalc/optim.obj \ progs/minccalc/scalar.obj \ progs/minccalc/sym.obj \ progs/minccalc/vector.obj minccalc.exe: $(MINCCALC_OBJS) $(LINK) $(MINCCALC_OBJS) $(LIBS) MINCCONCAT_OBJS = progs/mincconcat/mincconcat.obj mincconcat.exe: $(MINCCONCAT_OBJS) $(LINK) $(MINCCONCAT_OBJS) $(LIBS) MINCCONVERT_OBJS = progs/mincconvert/mincconvert.obj mincconvert.exe: $(MINCCONVERT_OBJS) $(LINK) $(MINCCONVERT_OBJS) $(LIBS) MINCCOPY_OBJS = progs/minccopy/minccopy.obj minccopy.exe: $(MINCCOPY_OBJS) $(LINK) $(MINCCOPY_OBJS) $(LIBS) MINCDUMP_OBJS = \ progs/mincdump/mincdump.obj \ progs/mincdump/vardata.obj \ progs/mincdump/dumplib.obj mincdump.exe: $(MINCDUMP_OBJS) $(LINK) $(MINCDUMP_OBJS) $(LIBS) MINCEXPAND_OBJS = progs/mincexpand/mincexpand.obj mincexpand.exe: $(MINCEXPAND_OBJS) $(LINK) $(MINCEXPAND_OBJS) $(LIBS) MINCEXTRACT_OBJS = progs/mincextract/mincextract.obj mincextract.exe: $(MINCEXTRACT_OBJS) $(LINK) $(MINCEXTRACT_OBJS) $(LIBS) MINCGEN_OBJS = \ progs/mincgen/escapes.obj \ progs/mincgen/genlib.obj \ progs/mincgen/getfill.obj \ progs/mincgen/init.obj \ progs/mincgen/load.obj \ progs/mincgen/main.obj \ progs/mincgen/ncgentab.obj \ progs/mincgen/ncgenyy.obj mincgen.exe: $(MINCGEN_OBJS) $(LINK) $(MINCGEN_OBJS) $(LIBS) MINCINFO_OBJS = progs/mincinfo/mincinfo.obj mincinfo.exe: $(MINCINFO_OBJS) $(LINK) $(MINCINFO_OBJS) $(LIBS) MINCLOOKUP_OBJS = progs/minclookup/minclookup.obj minclookup.exe: $(MINCLOOKUP_OBJS) $(LINK) $(MINCLOOKUP_OBJS) $(LIBS) MINCMAKESCALAR_OBJS = progs/mincmakescalar/mincmakescalar.obj mincmakescalar.exe: $(MINCMAKESCALAR_OBJS) $(LINK) $(MINCMAKESCALAR_OBJS) $(LIBS) MINCMAKEVECTOR_OBJS = progs/mincmakevector/mincmakevector.obj mincmakevector.exe: $(MINCMAKEVECTOR_OBJS) $(LINK) $(MINCMAKEVECTOR_OBJS) $(LIBS) MINCMATH_OBJS = progs/mincmath/mincmath.obj mincmath.exe: $(MINCMATH_OBJS) $(LINK) $(MINCMATH_OBJS) $(LIBS) MINCRESAMPLE_OBJS = \ progs/mincresample/mincresample.obj \ progs/mincresample/resample_volumes.obj \ progs/Proglib/convert_origin_to_start.obj mincresample.exe: $(MINCRESAMPLE_OBJS) $(LINK) $(MINCRESAMPLE_OBJS) $(LIBS) MINCRESHAPE_OBJS = \ progs/mincreshape/mincreshape.obj \ progs/mincreshape/copy_data.obj mincreshape.exe: $(MINCRESHAPE_OBJS) $(LINK) $(MINCRESHAPE_OBJS) $(LIBS) MINCSTATS_OBJS = progs/mincstats/mincstats.obj mincstats.exe: $(MINCSTATS_OBJS) $(LINK) $(MINCSTATS_OBJS) $(LIBS) MINCTORAW_OBJS = progs/minctoraw/minctoraw.obj minctoraw.exe: $(MINCTORAW_OBJS) $(LINK) $(MINCTORAW_OBJS) $(LIBS) INVERT_RAW_IMAGE_OBJS = progs/mincview/invert_raw_image.obj invert_raw_image.exe: $(INVERT_RAW_IMAGE_OBJS) $(LINK) $(INVERT_RAW_IMAGE_OBJS) $(LIBS) MINCWINDOW_OBJS = progs/mincwindow/mincwindow.obj mincwindow.exe: $(MINCWINDOW_OBJS) $(LINK) $(MINCWINDOW_OBJS) $(LIBS) RAWTOMINC_OBJS = \ progs/rawtominc/rawtominc.obj \ progs/Proglib/convert_origin_to_start.obj rawtominc.exe: $(RAWTOMINC_OBJS) $(LINK) $(RAWTOMINC_OBJS) $(LIBS) XFMCONCAT_OBJS = progs/xfm/xfmconcat.obj xfmconcat.exe: $(XFMCONCAT_OBJS) $(LINK) $(XFMCONCAT_OBJS) $(LIBS) XFMINVERT_OBJS = progs/xfm/xfminvert.obj xfminvert.exe: $(XFMINVERT_OBJS) $(LINK) $(XFMINVERT_OBJS) $(LIBS) ECATTOMINC_OBJS = \ conversion/ecattominc/ecat_file.obj \ conversion/ecattominc/ecattominc.obj \ conversion/ecattominc/insertblood.obj \ conversion/ecattominc/machine_indep.obj $(ECATTOMINC_OBJS): conversion/ecattominc/ecat_file.h \ conversion/ecattominc/machine_indep.h \ conversion/ecattominc/ecat_header_definition.h ecattominc.exe: $(ECATTOMINC_OBJS) $(LINK) $(ECATTOMINC_OBJS) $(LIBS) WS2_32.LIB MINCTOECAT_OBJS = \ conversion/minctoecat/ecat_write.obj \ conversion/minctoecat/minctoecat.obj \ conversion/minctoecat/machine_indep.obj $(MINCTOECAT_OBJS): conversion/minctoecat/ecat_write.h \ conversion/minctoecat/machine_indep.h minctoecat.exe: $(MINCTOECAT_OBJS) $(LINK) $(MINCTOECAT_OBJS) $(LIBS) NII2MNC_OBJS = \ conversion/nifti1/nii2mnc.obj \ conversion/nifti1/nifti1_io.obj NII2MNC_OBJS: conversion/nifti1/nifti1.h \ conversion/nifti1/nifti1_io.h nii2mnc.exe: $(NII2MNC_OBJS) $(LINK) $(NII2MNC_OBJS) $(LIBS) MNC2NII_OBJS = \ conversion/nifti1/mnc2nii.obj \ conversion/nifti1/nifti1_io.obj MNC2NII_OBJS: conversion/nifti1/nifti1.h \ conversion/nifti1/nifti1_io.h mnc2nii.exe: $(MNC2NII_OBJS) $(LINK) $(MNC2NII_OBJS) $(LIBS) UPET2MNC_OBJS = \ conversion/micropet/upet2mnc.obj upet2mnc.exe: $(UPET2MNC_OBJS) $(LINK) $(UPET2MNC_OBJS) $(LIBS) $(ACR_NEMA_OBJS): $(ACR_NEMA_HDRS) DCM2MNC_OBJS = \ conversion/dcm2mnc/dcm2mnc.obj \ conversion/dcm2mnc/dicom_to_minc.obj \ conversion/dcm2mnc/dicom_read.obj \ conversion/dcm2mnc/minc_file.obj \ conversion/dcm2mnc/progress.obj \ conversion/dcm2mnc/siemens_to_dicom.obj \ conversion/dcm2mnc/string_to_filename.obj \ $(ACR_NEMA_OBJS) dcm2mnc.exe: $(DCM2MNC_OBJS) $(LINK) $(DCM2MNC_OBJS) $(LIBS)