F90 = ifort HDF5PATH=$(HDF5) HDF5_HOME=$(HDF5PATH) HDF5INC=-I$(HDF5_HOME)/include HDF5LIB=$(HDF5_HOME)/lib RTTOV=$(WORKDIR)/Simulator/EXE/RTTOV12 CDFINC = -I$(NETCDF)/include RTTOVINC=-I$(RTTOV)/include -I$(RTTOV)/mod RTTOVLIB=$(RTTOV)/lib FFLAGS = -O3 -g -fpp -qopenmp -parallel -traceback LFLAGS=-I$(RTTOV)/mod -I$(RTTOV)/include -qopenmp -parallel -traceback # LIBS = $(RTTOVLIB)/librttov12_emis_atlas.a \ # $(RTTOVLIB)/librttov12_mw_scatt.a \ # $(RTTOVLIB)/librttov12_other.a \ # $(RTTOVLIB)/librttov12_coef_io.a \ # $(RTTOVLIB)/librttov12_hdf.a \ # $(RTTOVLIB)/librttov12_parallel.a \ # $(RTTOVLIB)/librttov12_main.a LIB =-L$(HDF5LIB) -L$(NETCDF)/lib -L$(RTTOVLIB) -lhdf5 -lhdf5_hl -lhdf5_fortran -lnetcdf -lnetcdff -lrttov12_coef_io -lrttov12_hdf -lrttov12_mw_scatt-lrttov12_emis_atlas -lrttov12_other -lrttov12_parallel -lrttov12_main OBJECT=module_read_4B_GIIRS_LW.o module_read_ERA5.o module_get_emiss.o INTINP_INT2PRTTOV.o module_nwp_match_to_sat.o calculate_time_to_msecond.o produce_background_data.o OBJ=$(OBJECT) .SUFFIXES: .f90 .f .cpp .o %.o: %.f90 $(F90) $(CDFINC) $(HDF5INC) $(FFLAGS) $(RTTOVINC) -c $*.f90 all:: $(OBJ) ifort module_read_4B_GIIRS_LW.o module_read_ERA5.o module_get_emiss.o INTINP_INT2PRTTOV.o module_nwp_match_to_sat.o calculate_time_to_msecond.o produce_background_data.o \ -I$(RTTOV)/mod -I$(RTTOV)/include -qopenmp -parallel -traceback -O3 -g -fpp \ -L$(HDF5PATH)/lib -L$(NETCDF)/lib -L$(RTTOV)/lib \ -lhdf5 -lhdf5_hl -lhdf5_fortran -lhdf5hl_fortran -lnetcdf -lnetcdff \ -lrttov12_coef_io -lrttov12_hdf -lrttov12_mw_scatt -lrttov12_emis_atlas -lrttov12_other -lrttov12_parallel -lrttov12_main \ -o produce_background_data_ERA5_4B_GIIRS_LW.exe # make clean clean: -rm -f *.o *.exe #********************** END OF MAKEFILE ***************************