#//****************************************************************************** #//** SCATMECH: Polarized Light Scattering C++ Class Library #//** #//** File: Makefile #//** #//** Thomas A. Germer #//** Optical Technology Division, National Institute of Standards and Technology #//** 100 Bureau Dr. Stop 8443; Gaithersburg, MD 20899-8443 #//** Phone: (301) 975-2876; FAX: (301) 975-6991 #//** Email: thomas.germer@nist.gov #//** #//** Version: 6.00 (August 2007) #//** #//****************************************************************************** # # TODO: Under cygwin, use -mno-cygwin, otherwise turn it off... # WINDOWS = -mno-cygwin #WINDOWS = # # TODO: Under Windows, executables must end in .exe ... # EXE = .exe #EXE = # # TODO: Add or remove any optimization compile flags... # COMPILEFLAGS = -O3 -mtune=pentium4 # # TODO: Make sure all neccesary libraries are included... # LIBRARIES = ./scatmech.a -lstdc++ # # ******************************************************************************* # INCLUDEDIR = -I. LINK = gcc $(WINDOWS) COMPILE = gcc $(INCLUDEDIR) $(WINDOWS) $(COMPILEFLAGS) ARCHIVE = ar cr .PHONY : all all: scatmech.a BRDFProg$(EXE) RCWProg$(EXE) ReflectProg$(EXE) MieProg$(EXE) OBJECTS = allrough.o \ askuser.o \ axifree.o \ axipart1.o \ axipart2.o \ axisym.o \ bobvlieg1.o \ bobvlieg2.o \ bobvlieg3.o \ brdf.o \ coatedmie.o \ crough.o \ dielfunc.o \ diffuse.o \ facet.o \ filmtran.o \ finiteaperture.o \ firstdiffuse.o \ flake.o \ focussedbeam.o \ fresnel.o \ grating.o \ inherit.o \ instrument.o \ jmatrix.o \ jvector.o \ lambert.o \ local.o \ matrixmath.o \ miescat.o \ models.o \ mueller.o \ onelayer.o \ raygscat.o \ rayinst.o \ rayscat.o \ rcw.o \ reflectance.o \ reg_brdf.o \ reg_facet.o \ reg_instrument.o \ reg_lambert.o \ reg_local.o \ reg_rough.o \ reg_sphrscat.o \ rough.o \ roughnes.o \ scateval.o \ scatmatrix.o \ scattabl.o \ sphdfct.o \ sphprt.o \ sphrscat.o \ stokes.o \ subsphere.o \ tmatrix.o \ torrspar.o \ transmit.o \ two_source.o \ twoface.o \ urough.o \ vector3d.o %.o : %.cpp $(COMPILE) -o $@ -c $< ##### Make library ###### scatmech.a : $(OBJECTS) $(ARCHIVE) scatmech.a $(OBJECTS) scatmech.dll : $(OBJECTS) $(LINK) -shared -o scatmech.dll $(OBJECTS) $(LIBRARIES) BRDFProg$(EXE) : BRDFProg/brdfprog.o scatmech.a $(LINK) -o BRDFProg$(EXE) BRDFProg/brdfprog.o $(LIBRARIES) RCWProg$(EXE) : RCWProg/rcwprog.o scatmech.a $(LINK) -o RCWProg$(EXE) RCWProg/rcwprog.o $(LIBRARIES) ReflectProg$(EXE) : ReflectProg/reflectprog.o scatmech.a $(LINK) -o ReflectProg$(EXE) ReflectProg/reflectprog.o $(LIBRARIES) MieProg$(EXE) : MieProg/mieprog.o scatmech.a $(LINK) -o MieProg$(EXE) MieProg/mieprog.o $(LIBRARIES) clean : rm $(OBJECTS) dependencies : g++ -MM *.cpp > depend g++ -MM -I. BRDFProg/*.cpp >> depend g++ -MM -I. RCWProg/*.cpp >> depend g++ -MM -I. ReflectProg/*.cpp >> depend g++ -MM -I. MieProg/*.cpp >> depend allrough.o: allrough.cpp allrough.h roughnes.h scatmech.h askuser.h \ urough.h rough.h brdf.h mueller.h optconst.h dielfunc.h scattabl.h \ inherit.h vector3d.h filmtran.h askuser.o: askuser.cpp scatmech.h askuser.h optconst.h dielfunc.h \ scattabl.h inherit.h axifree.o: axifree.cpp scatmech.h askuser.h bobvlieg.h local.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ scatmatrix.h filmtran.h axifree.h tmatrix.h sphrscat.h matrix3d.h axipart1.o: axipart1.cpp scatmech.h askuser.h bobvlieg.h local.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ scatmatrix.h filmtran.h axipart.h tmatrix.h sphrscat.h matrix3d.h axipart2.o: axipart2.cpp scatmech.h askuser.h axipart.h local.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ bobvlieg.h scatmatrix.h filmtran.h tmatrix.h sphrscat.h matrix3d.h axisym.o: axisym.cpp scatmech.h askuser.h axipart.h local.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ bobvlieg.h scatmatrix.h filmtran.h tmatrix.h sphrscat.h matrix3d.h bobvlieg1.o: bobvlieg1.cpp scatmech.h askuser.h bobvlieg.h local.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ scatmatrix.h filmtran.h bobvlieg2.o: bobvlieg2.cpp scatmech.h askuser.h bobvlieg.h local.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ scatmatrix.h filmtran.h bobvlieg3.o: bobvlieg3.cpp scatmech.h askuser.h bobvlieg.h local.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ scatmatrix.h filmtran.h brdf.o: brdf.cpp scatmech.h askuser.h brdf.h mueller.h optconst.h \ dielfunc.h scattabl.h inherit.h vector3d.h coatedmie.o: coatedmie.cpp scatmech.h askuser.h coatedmie.h sphrscat.h \ optconst.h mueller.h dielfunc.h scattabl.h inherit.h vector3d.h \ matrix3d.h bobvlieg.h local.h brdf.h scatmatrix.h filmtran.h crough.o: crough.cpp scatmech.h askuser.h crough.h rough.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h dielfunc.o: dielfunc.cpp scatmech.h askuser.h dielfunc.h optconst.h \ scattabl.h inherit.h diffuse.o: diffuse.cpp scatmech.h askuser.h diffuse.h filmtran.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h lambert.h brdf.h \ vector3d.h fresnel.h facet.o: facet.cpp scatmech.h askuser.h facet.h brdf.h mueller.h \ optconst.h dielfunc.h scattabl.h inherit.h vector3d.h filmtran.h filmtran.o: filmtran.cpp scatmech.h askuser.h filmtran.h mueller.h \ optconst.h dielfunc.h scattabl.h inherit.h fresnel.h finiteaperture.o: finiteaperture.cpp scatmech.h askuser.h \ finiteaperture.h instrument.h brdf.h mueller.h optconst.h dielfunc.h \ scattabl.h inherit.h vector3d.h focussedbeam.h firstdiffuse.o: firstdiffuse.cpp firstdiffuse.h brdf.h scatmech.h \ askuser.h mueller.h optconst.h dielfunc.h scattabl.h inherit.h \ vector3d.h filmtran.h matrix3d.h flake.o: flake.cpp scatmech.h askuser.h flake.h facet.h brdf.h mueller.h \ optconst.h dielfunc.h scattabl.h inherit.h vector3d.h filmtran.h \ matrix3d.h fresnel.h focussedbeam.o: focussedbeam.cpp scatmech.h askuser.h focussedbeam.h \ instrument.h brdf.h mueller.h optconst.h dielfunc.h scattabl.h \ inherit.h vector3d.h fresnel.o: fresnel.cpp scatmech.h askuser.h fresnel.h optconst.h grating.o: grating.cpp grating.h inherit.h scatmech.h askuser.h \ dielfunc.h optconst.h scattabl.h scateval.h inherit.o: inherit.cpp scatmech.h askuser.h inherit.h filmtran.h \ mueller.h optconst.h dielfunc.h scattabl.h instrument.o: instrument.cpp instrument.h brdf.h scatmech.h askuser.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h jmatrix.o: jmatrix.cpp scatmech.h askuser.h mueller.h optconst.h jvector.o: jvector.cpp scatmech.h askuser.h mueller.h optconst.h lambert.o: lambert.cpp scatmech.h askuser.h lambert.h brdf.h mueller.h \ optconst.h dielfunc.h scattabl.h inherit.h vector3d.h local.o: local.cpp scatmech.h askuser.h brdf.h mueller.h optconst.h \ dielfunc.h scattabl.h inherit.h vector3d.h local.h matrixmath.o: matrixmath.cpp scatmech.h askuser.h matrixmath.h miescat.o: miescat.cpp scatmech.h askuser.h miescat.h sphrscat.h \ optconst.h mueller.h dielfunc.h scattabl.h inherit.h vector3d.h \ matrix3d.h models.o: models.cpp brdf.h scatmech.h askuser.h mueller.h optconst.h \ dielfunc.h scattabl.h inherit.h vector3d.h sphrscat.h matrix3d.h \ facet.h filmtran.h rough.h torrspar.h grating.h mueller.o: mueller.cpp scatmech.h askuser.h mueller.h optconst.h onelayer.o: onelayer.cpp scatmech.h askuser.h onelayer.h local.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h raygscat.o: raygscat.cpp scatmech.h askuser.h raygscat.h sphrscat.h \ optconst.h mueller.h dielfunc.h scattabl.h inherit.h vector3d.h \ matrix3d.h rayinst.o: rayinst.cpp rayinst.h scatmech.h askuser.h instrument.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ filmtran.h rayscat.o: rayscat.cpp scatmech.h askuser.h rayscat.h sphrscat.h \ optconst.h mueller.h dielfunc.h scattabl.h inherit.h vector3d.h \ matrix3d.h rcw.o: rcw.cpp rcw.h grating.h inherit.h scatmech.h askuser.h dielfunc.h \ optconst.h scattabl.h brdf.h mueller.h vector3d.h matrixmath.h reflectance.o: reflectance.cpp reflectance.h inherit.h scatmech.h \ askuser.h scattabl.h scateval.h reg_brdf.o: reg_brdf.cpp rough.h scatmech.h askuser.h brdf.h mueller.h \ optconst.h dielfunc.h scattabl.h inherit.h vector3d.h facet.h \ filmtran.h lambert.h local.h instrument.h firstdiffuse.h two_source.h \ transmit.h rcw.h grating.h reg_facet.o: reg_facet.cpp facet.h brdf.h scatmech.h askuser.h mueller.h \ optconst.h dielfunc.h scattabl.h inherit.h vector3d.h filmtran.h \ torrspar.h flake.h reg_instrument.o: reg_instrument.cpp instrument.h brdf.h scatmech.h \ askuser.h mueller.h optconst.h dielfunc.h scattabl.h inherit.h \ vector3d.h rayinst.h filmtran.h finiteaperture.h focussedbeam.h reg_lambert.o: reg_lambert.cpp lambert.h brdf.h scatmech.h askuser.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ diffuse.h filmtran.h reg_local.o: reg_local.cpp sphprt.h scatmech.h askuser.h filmtran.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h sphrscat.h \ vector3d.h matrix3d.h local.h brdf.h sphdfct.h onelayer.h bobvlieg.h \ scatmatrix.h subsphere.h axipart.h tmatrix.h reg_rough.o: reg_rough.cpp rough.h scatmech.h askuser.h brdf.h mueller.h \ optconst.h dielfunc.h scattabl.h inherit.h vector3d.h urough.h crough.h \ roughnes.h filmtran.h twoface.h allrough.h reg_sphrscat.o: reg_sphrscat.cpp rayscat.h scatmech.h askuser.h \ sphrscat.h optconst.h mueller.h dielfunc.h scattabl.h inherit.h \ vector3d.h matrix3d.h raygscat.h miescat.h coatedmie.h axifree.h \ tmatrix.h scatmatrix.h rough.o: rough.cpp scatmech.h askuser.h rough.h brdf.h mueller.h \ optconst.h dielfunc.h scattabl.h inherit.h vector3d.h roughnes.o: roughnes.cpp scatmech.h askuser.h roughnes.h urough.h rough.h \ brdf.h mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ filmtran.h allrough.h scateval.o: scateval.cpp scateval.h scatmech.h askuser.h scatmatrix.o: scatmatrix.cpp scatmatrix.h scatmech.h askuser.h scattabl.o: scattabl.cpp askuser.h scatmech.h scattabl.h inherit.h sphdfct.o: sphdfct.cpp scatmech.h askuser.h sphdfct.h filmtran.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h local.h brdf.h \ vector3d.h matrix3d.h fresnel.h sphprt.o: sphprt.cpp scatmech.h askuser.h sphprt.h filmtran.h mueller.h \ optconst.h dielfunc.h scattabl.h inherit.h sphrscat.h vector3d.h \ matrix3d.h local.h brdf.h fresnel.h rayscat.h sphrscat.o: sphrscat.cpp sphrscat.h scatmech.h askuser.h optconst.h \ mueller.h dielfunc.h scattabl.h inherit.h vector3d.h matrix3d.h stokes.o: stokes.cpp scatmech.h askuser.h mueller.h optconst.h subsphere.o: subsphere.cpp subsphere.h local.h brdf.h scatmech.h \ askuser.h mueller.h optconst.h dielfunc.h scattabl.h inherit.h \ vector3d.h sphrscat.h matrix3d.h filmtran.h rayscat.h tmatrix.o: tmatrix.cpp axipart.h local.h brdf.h scatmech.h askuser.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ bobvlieg.h scatmatrix.h filmtran.h tmatrix.h sphrscat.h matrix3d.h torrspar.o: torrspar.cpp scatmech.h askuser.h torrspar.h facet.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h \ filmtran.h transmit.o: transmit.cpp transmit.h brdf.h scatmech.h askuser.h mueller.h \ optconst.h dielfunc.h scattabl.h inherit.h vector3d.h filmtran.h two_source.o: two_source.cpp two_source.h brdf.h scatmech.h askuser.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h twoface.o: twoface.cpp scatmech.h askuser.h twoface.h rough.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h urough.o: urough.cpp scatmech.h askuser.h urough.h rough.h brdf.h \ mueller.h optconst.h dielfunc.h scattabl.h inherit.h vector3d.h vector3d.o: vector3d.cpp scatmech.h askuser.h vector3d.h brdfprog.o: BRDFProg/brdfprog.cpp ./brdf.h ./scatmech.h ./askuser.h \ ./mueller.h ./optconst.h ./dielfunc.h ./scattabl.h ./inherit.h \ ./vector3d.h rcwprog.o: RCWProg/rcwprog.cpp ./rcw.h ./grating.h ./inherit.h \ ./scatmech.h ./askuser.h ./dielfunc.h ./optconst.h ./scattabl.h \ ./brdf.h ./mueller.h ./vector3d.h reflectprog.o: ReflectProg/reflectprog.cpp ./filmtran.h ./mueller.h \ ./scatmech.h ./askuser.h ./optconst.h ./dielfunc.h ./scattabl.h \ ./inherit.h mieprog.o: MieProg/mieprog.cpp ./miescat.h ./sphrscat.h ./scatmech.h \ ./askuser.h ./optconst.h ./mueller.h ./dielfunc.h ./scattabl.h \ ./inherit.h ./vector3d.h ./matrix3d.h