# To remove all the objects but leave the executables use the # command line make -f makefile clean # Note: object channel.o is added by WUJIAN PENG in July, 2002 # object planck.o added by M. Palm in 2008 # arguments for g95 anf gfortran added by M. Palm in 2008 .SUFFIXES: .SUFFIXES: .f .f90 .o .mod .F # Fixed source, if any: .f.o: $(FC) -c $(FFLAGS) $< .F.o: $(FC) -c $(FFLAGS) $< .f90.mod: $(FC) -c $(FFLAGS) $< # Free form source: .f90.o: $(FC) -c $(FFLAGS) $< #FC=gfortran #FFLAGS = -g -fno-automatic FC = gfortran FFLAGS = -Wall -O2 -fno-automatic -Wcharacter-truncation -Wunused-parameter -Wunderflow #-Warray-temporaries #64-bit compiler #FFLAGS = -Wall -fno-automatic -mcmodel=medium -fbacktrace -fdump-core -fcheck=all \ #-ffpe-trap=invalid,zero,overflow,underflow,precision -g # FFLAGS = -Wall -O2 -fno-automatic -mcmodel=medium -fbacktrace -fcheck=all # use intermnal matrix inversion (not lapack) # no eigenvector output # mac #VLIB = -Wl,-framework -Wl,vecLib # linux #VLIB = -L/usr/lib64 -llapack LIBS = VLIBS = RDNAME=sfit4 OBJS = \ params.o \ initialize.o \ isotope.o \ solar.o \ frwdmdl.o \ synspec.o \ datafiles.o \ xsections.o \ matrix.o \ transmis.o \ lineparam.o \ opt.o \ vibfcn.o \ sfit400.o \ voigt.o \ galatry.o \ channel.o \ diagnostic.o \ bandparam.o \ retvparam.o \ molcparam.o \ readin.o \ writeout.o \ tips.o \ binput_parse_4_0.o \ binput_4_0.o \ raytrace.o\ voigt_sdv_lm.f90 #convert_old_data_files.o all : sfit4 convert_rdrv_394 hbin sfit4: rdrv40.o $(OBJS) $(FC) -o $@ $^ $(FFLAGS) $(LIBS) $(VLIB) convert_rdrv_394 : convert_rdrv_394.o $(OBJS) convert_old_data_files.o read_binput_394.o $(FC) -o $@ $^ $(FFLAGS) $(LIBS) $(VLIB) hbin: hbin.o $(OBJS) $(FC) -o $@ $^ $(FFLAGS) $(LIBS) $(VLIB) #params.o binput_4_0.o binput_parse_4_0.o datafiles.o bandparam.o clean: \rm -f *.o *.mod *.lst cleaner: \rm -f *.o *.mod *.lst sfit4 convert_rdrv_394 hbin # following is the list of what files use each included file # all names listed use the included file shown after the ':' # This is needed so make can check if included files have changed and # so .o files need to be recompiled. # EXAMPLE: # cocalc.o colist.o : bands.dat # in the example cocalc.o and colist.o use the included file bands.dat rdrv40.o convert_rdrv_394.o hbin.o \ : binput_4_0.o convert_rdrv_394.o \ : convert_old_data_files.o sfit400.o frwdmdl.o initialize.o lineparam.o \ : raytrace.o sfit400.o opt.o \ : frwdmdl.o synspec.o frwdmdl.o vibfcn.o sfit400.o isotope.o xsections.o transmis.o \ readin.o writeout.o lineparam.o initialize.o raytrace.c \ : retvparam.o readin.o writeout.o frwdmdl.o solar.o sfit400.o synspec.o \ vibfcn.o xsections.o hbin.o \ : bandparam.o transmis.o lineparam.o sfit400.o xsections.o raytrace.o \ : isotope.o sfit400.o \ : initialize.o binput_parse_4_0.o : params.o retvparam.o bandparam.o \ lineparam.o solar.o channel.o initialize.o opt.o \ writeout.o binput_4_0.o \ : binput_parse_4_0.o transmis.o \ : xsections.o xsections.o \ : tips.o voigt_sdv_lm.o voigt.o galatry.o frwdmdl.o isotope.o opt.o lineparam.o $(RDNAME).o initialize.o hbin.o \ sfit400.o solar.o vibfcn.o readin.o writeout.o raytrace.o convert_rdrv_394.o \ : datafiles.o frwdmdl.o synspec.o initialize.o solar.o \ : transmis.o xsections.o transmis.o sfit400.o isotope.o \ : vibfcn.o frwdmdl.o isotope.o transmis.o lineparam.o vibfcn.o initialize.o sfit400.o \ readin.o writeout.o raytrace.o \ : molcparam.o diagnostic.o sfit400.o readin.o binput_4_0.o \ : opt.o sfit400.o \ : diagnostic.o sfit400.o \ : readin.o sfit400.o frwdmdl.o opt.o \ : writeout.o readin.o writeout.o xsections.o initialize.o sfit400.o transmis.o \ : lineparam.o opt.o \ : matrix.o frwdmdl.o \ : channel.o initialize.o channel.o tall.o sfit400.o frwdmdl.o \ : synspec.o frwdmdl.o sfit400.o synspec.o \ : solar.o hbin.o readin.o writeout.o channel.o frwdmdl.o isotope.o datafiles.o retvparam.o \ xsections.o transmis.o opt.o lineparam.o raytrace.o \ vibfcn.o sfit4.o initialize.o sfit400.o solar.o convert_old_data_files.o \ : params.o