# this is my original makefile. # you will of course have to addapt it to all your system settings etc. # it will definitely not work "as is" # but at least it could serve as a starting guideline... CC = g++ #DEBUG = -g #-Ddebug #replace with the following when finished (optimisation for speed) DEBUG = -O3 #use -O1 to -O3 CCFLAGS = -Wall $(DEBUG) # -fhandle-exceptions #DIRECTORIES CDIR = /home/rsierra/sw_dev/c++/boston TENSORDIR = $(CDIR) LAPACKDIR = $(CDIR)/CLAPACK VTKDIR = /usr/pack/vtk-3.2-mo #VTKDIR = /projects/shortterm/warfield/vtk-g++ KRIGDIR = $(CDIR)/kriging #CLAPACK STUFF CLFLAGS = -L$(LAPACKDIR) -L$(LAPACKDIR)/F2CLIBS -llapack -lF77 -lI77 -lblas CINCDIRS = -I$(LAPACKDIR) CLAPACK = $(CLFLAGS) $(CINCDIRS) #XERCESC STUFF # make shure to have environment set: # setenv PATH ${PATH}:/home/rsierra/c++/xml/xerces-c-src1_3_0/bin # setenv LD_LIBRARY_PATH ${XERCESCROOT}/lib:$LD_LIBRARY_PATH # setenv LD_LIBRARY_PATH /local/lib:$LD_LIBRARY_PATH #XERCESCROOT =/usr/pack/xerces-c-4.0-mo/mips-sgi-irix6.5 XERCESCROOT =/usr/pack/xerces-c-4.0-mo/sun4m-sun-solaris2.6 XLFLAGS = -L$(XERCESCROOT)/lib -lxerces-c1_4 -L/usr/lib32 -lpthread -lc #-L/usr/local/lib -lc #XLFLAGS = -L$(XERCESCROOT)/lib -rpath $(XERCESCROOT)/lib -lxerces-c1_4 -L/usr/lib32 -lpthread -lc #-L/usr/local/lib -lc XINCDIRS = -I$(XERCESCROOT) -I$(XERCESCROOT)/xerces-c-src1_4_0/src/ XERCESC = $(XLFLAGS) $(XINCDIRS) -DSOLARIS -fpic -w -O XOBJS = DOMTreeErrorReporter.o #VTK STUFF OS = solaris VLFLAGS = -L$(VTKDIR)/$(OS)/lib VLIBS = -lVTKContribTcl -lVTKContrib -lVTKPatentedTcl -lVTKPatented -lVTKImagingTcl -lVTKImaging -lVTKGraphicsTcl -lVTKGraphics -lVTKCommonTcl -lVTKCommon -lstdc++ -ldl -lXext -lXt -lX11 -lGL -lm TCLFLAGS = -I/usr/pack/tcltk-8.3.2.solaris-mo/include/ -L/usr/pack/tcltk-8.3.2.solaris-mo/lib -ltcl8.3 -ltk8.3 VINCDIRS = -I$(VTKDIR)/$(OS)/src/vtk3.2/common -I$(VTKDIR)/$(OS)/src/vtk3.2/graphics VTK = $(VLFLAGS) $(VLIBS) $(VINCDIRS) $(TCLFLAGS) #KRIGING STUFF # make shure to have environment set: # setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/rsierra/c++/tensor/kriging/lib/SunOS-5.7 KCSRCS = kriging/correlationmatrix.c kriging/variogram.c #KCSRCS = kriging/correlationmatrix.c variogram.cc # For the automatic dependency generation KOBJS = $(KCSRCS:.c=.o) #KLIBS = -L$(KRIGDIR) -lkdt -ltcl8.2 $(CLAPACK) -lm KLIBS = -L$(KRIGDIR) -lkdt $(CLAPACK) -lm ARCH = sun4-solaris #ARCH = SunOS-5.7 #both seem to work KINCDIRS = -I$(KRIGDIR) -I$(KRIGDIR)/kdt -I$(KRIGDIR)/io #OBJECTS OBJS = stdimage.o andi.o rsfunctions.o tensor.o eigen.o $(XOBJS) basefield.o tensorfield.o eigenfield.o display.o background.o kfunctions.o tensorfunctions.o #applyField.o #INCLUDE DIRECTORIES INCDIRS = $(CINCDIRS) $(VINCDIRS) $(XINCDIRS) $(KINCDIRS) #TEST PROGRAMS simple: $(CC) $(CCFLAGS) -o simple simple.cc $(OBJS) $(CLAPACK) $(VTK) test: $(OBJS) test.cc $(CC) $(CCFLAGS) -o test test.cc $(OBJS) $(CLAPACK) $(VTK) $(XERCESC) $(FILEOPS) read: $(XOBJS) read.cc $(CC) $(CCFLAGS) -o read read.cc $(XOBJS) $(XERCESC) write: $(XOBJS) write.cc $(CC) $(CCFLAGS) -o write write.cc $(XOBJS) $(XERCESC) empty: empty.cc $(CC) $(CCFLAGS) -o empty empty.cc $(XERCESC) match: $(OBJS) match.cc $(CC) $(CCFLAGS) -o match match.cc $(OBJS) $(CLAPACK) $(VTK) $(XERCESC) $(INCDIRS) $(KOBJS) $(KLIBS) kriging/io/fileops.o -L./kriging/io/$(ARCH) -lz displacement: $(OBJS) displacement.cc $(CC) $(CCFLAGS) -o displacement displacement.cc $(OBJS) $(CLAPACK) $(VTK) $(XERCESC) $(INCDIRS) $(KOBJS) $(KLIBS) kriging/io/fileops.o -L./kriging/io/$(ARCH) -lz vtktensor: $(CC) $(CCFLAGS) -o vtktensor vtkTensor.cc $(VTK) vtktest: $(CC) $(CCFLAGS) -o vtktest vtktest.cc $(VTK) sphere: $(CC) $(CCFLAGS) -o sphere sphere.cc $(VTK) difference: difference.cc $(CC) $(CCFLAGS) -o difference difference.cc $(INCDIRS) $(KOBJS) $(KLIBS) kriging/io/fileops.o -L./kriging/io/$(ARCH) -lz pic2mri: pic2mri.cc $(CC) $(CCFLAGS) -o pic2mri pic2mri.cc $(INCDIRS) $(KOBJS) $(KLIBS) kriging/io/fileops.o -L./kriging/io/$(ARCH) -lz pointmatcher: pointmatcher.cc $(CC) $(CCFLAGS) -o pointmatcher pointmatcher.cc $(INCDIRS) rsfunctions.o $(KOBJS) $(KLIBS) kriging/io/fileops.o -L./kriging/io/$(ARCH) -lz FILEOPS = $(INCDIRS) $(KOBJS) $(KLIBS) kriging/io/fileops.o -L./kriging/io/$(ARCH) -lz #REAL PROGRAMS #RESAMPOBJS = -IresampleSimon resampleSimon/resample.o resampleSimon/volfileops.o resampleSimon/xmlVolumeHeader.o resampleSimon/workpile.o resampleSimon/thread_compat.o resampleSimon/UtilsInC.o resampleSimon/similarity.o resampleSimon/transform.o synthetic: $(OBJS) synthetic.cc $(CC) $(CCFLAGS) -o synthetic synthetic.cc $(OBJS) $(CLAPACK) $(VTK) $(XERCESC) $(FILEOPS) generatePoints: $(OBJS) generatePoints.cc $(CC) $(CCFLAGS) -o generatePoints generatePoints.cc $(OBJS) $(CLAPACK) $(VTK) $(XERCESC) $(FILEOPS) rigidreg: $(OBJS) rigidreg.cc $(CC) $(CCFLAGS) -o rigidreg rigidreg.cc $(OBJS) $(CLAPACK) $(VTK) $(XERCESC) $(FILEOPS) nonrigidreg: $(OBJS) nonrigidreg.cc $(CC) $(CCFLAGS) -o nonrigidreg nonrigidreg.cc $(OBJS) $(CLAPACK) $(VTK) $(XERCESC) $(FILEOPS) mask: $(OBJS) mask.cc $(CC) $(CCFLAGS) -o mask mask.cc $(OBJS) $(CLAPACK) $(VTK) $(XERCESC) $(FILEOPS) main: $(OBJS) main.cc $(CC) $(CCFLAGS) -o main main.cc $(OBJS) $(CLAPACK) $(VTK) $(XERCESC) $(FILEOPS) process: $(OBJS) process.cc $(CC) $(CCFLAGS) -o process process.cc $(OBJS) $(CLAPACK) $(VTK) $(XERCESC) $(FILEOPS) convert: $(OBJS) convert.cc $(CC) $(CCFLAGS) -o convert convert.cc $(OBJS) $(CLAPACK) $(VTK) $(XERCESC) $(FILEOPS) #OBJECT FILES tensorfunctions.o: tensorfunctions.h tensorfunctions.cc $(CC) $(CCFLAGS) -c tensorfunctions.cc $(INCDIRS) applyField.o: applyField.h applyField.cc $(CC) $(CCFLAGS) -c applyField.cc $(INCDIRS) kfunctions.o: kfunctions.h kfunctions.cc $(CC) $(CCFLAGS) -c kfunctions.cc $(INCDIRS) resample.o: resample.h resample.cc $(CC) $(CCFLAGS) -c resample.cc rsfunctions.o: rsfunctions.h rsfunctions.cc $(CC) $(CCFLAGS) -c rsfunctions.cc $(INCDIRS) doubletensor.o: doubletensor.h doubletensor.cc $(CC) $(CCFLAGS) -c doubletensor.cc $(CINCDIRS) tensor.o: tensor.h tensor.cc $(CC) $(CCFLAGS) -c tensor.cc $(CINCDIRS) tensorfield.o: tensorfield.h tensorfield.cc $(CC) $(CCFLAGS) -c tensorfield.cc $(INCDIRS) eigen.o: eigen.h eigen.cc $(CC) $(CCFLAGS) -c eigen.cc $(CINCDIRS) eigenfield.o: eigenfield.h eigenfield.cc $(CC) $(CCFLAGS) -c eigenfield.cc $(INCDIRS) background.o: background.h background.cc $(CC) $(CCFLAGS) -c background.cc $(INCDIRS) basefield.o: basefield.h basefield.cc $(CC) $(CCFLAGS) -c basefield.cc $(XERCESC) $(INCDIRS) display.o: display.h display.cc $(CC) $(CCFLAGS) -c display.cc $(INCDIRS) DOMTreeErrorReporter.o: DOMTreeErrorReporter.cpp $(CC) $(CCFLAGS) -c DOMTreeErrorReporter.cpp $(XERCESC) #$(XINCDIRS) andi.o: andi.cc $(CC) $(CCFLAGS) -c andi.cc stdimage.o: stdimage.cc $(CC) $(CCFLAGS) -c stdimage.cc #variogram.o: variogram.h variogram.cc # $(CC) $(CCFLAGS) -c variogram.cc variogram.o: gcc -c variogram.c cp variogram.o kriging/variogram.o cp variogram.c kriging/variogram.c cp variogram.h kriging/variogram.h #CLEAN UP clean: rm *.o *~ cleanall: rm *.o *.~ read simple test main test2 convert sphere vtktest vtktensor