The NCEP Way of doing things
  
 
  
  
OBJS =  OBJ/DQSDT.o  		\
	OBJ/E.o  		\
	OBJ/MAIN.o  		\
	OBJ/QDATAP.o  		\
	OBJ/READCNTL.o  	\
	OBJ/SFCDIF.o  		\
	OBJ/CSNOW.o  		\
	OBJ/FRH2O.o  		\
	OBJ/SNKSRC.o  		\
	OBJ/SNOWPACK.o  	\
	OBJ/SNOW_NEW.o  	\
	OBJ/TBND.o  		\
	OBJ/CANRES.o  		\
	OBJ/DEVAP.o  		\
	OBJ/HRT.o  		\
	OBJ/HRTICE.o  		\
	OBJ/HSTEP.o  		\
	OBJ/NOPAC.o  		\
	OBJ/PENMAN.o  		\
	OBJ/REDPRM.o  		\
	OBJ/ROSR12.o  		\
	OBJ/SFLX.o  		\
	OBJ/SHFLX.o 		\
	OBJ/SMFLX.o  		\
	OBJ/SNOPAC.o  		\
	OBJ/SRT.o  		\
	OBJ/SSTEP.o  		\
	OBJ/TDFCND.o 		\
	OBJ/TRANSP.o		\
        OBJ/WDFCND.o		\
	OBJ/READ_INT_SPATIAL.o	\
	OBJ/READ_REAL_SPATIAL.o	\
	OBJ/CALC_LENGTH.o	\
	OBJ/SKIP_COMMENTS.o	\
	OBJ/READ_FORCING.o	\
	OBJ/READ_LSC.o		\
	OBJ/READ_INITIAL.o	\
	OBJ/CHECK_INITIAL.o	\
	OBJ/CHECK_FORCING.o	\
	OBJ/CALC_WEIGHTS.o	\
	OBJ/WRITE_DATA.o	\
	OBJ/WRITE_FORCINGS.o	\
	OBJ/WRITE_SINGLE.o	\
	OBJ/GRIBOUT.o		\
	OBJ/MAKEPDS.o	
# Tunable parameters 
#
# COMPILER      Compiler name
# FFLAGS	Flags to the fortran compiler
# LIBS		A list of libraries to use 
# PROGRAM	Name of the executable
COMPILER=f90
LIBS=	/ldas/home/noah/source/w3lib90/bacio_32 \
	/ldas/home/noah/source/w3lib90/w3lib_32 \
	/ldas/home/noah/source/w3lib90/iplib_32
PROGRAM=noah
FFLAGS=-c
HDRS= -I/ldas/home/noah/PILPS-2E/netcdf-3.4/include
# These are the
# actual rules which make uses to build corr.
# 
# The first line says that the program depends on the object
# files.  If the program is out of date or does not
# exist then the objects have to be linked together using
# the compiler (linker)
#
# The subsequent lines describe the dependencies for each
# object file.  Each object file depends on its source
# file and 0 or more include files.  If any include file
# or the source file have been modified, the source
# file is recompiled 
$(PROGRAM): $(OBJS)
	    $(COMPILER) $(OBJS) $(LIBS) -L/ldas/home/noah/PILPS-2E/netcdf-3.4/lib/ -lnetcdf $(HDRS) -o $(PROGRAM)
OBJ/DQSDT.o: SOURCE/DQSDT.f
	$(COMPILER) $(FFLAGS) SOURCE/DQSDT.f -o OBJ/DQSDT.o
OBJ/E.o: SOURCE/E.f
	$(COMPILER) $(FFLAGS) SOURCE/E.f -o OBJ/E.o
OBJ/WRITE_DATA.o: DRIVER/WRITE_DATA.f
	$(COMPILER) $(FFLAGS) DRIVER/WRITE_DATA.f -o OBJ/WRITE_DATA.o
OBJ/WRITE_FORCINGS.o: DRIVER/WRITE_FORCINGS.f
	$(COMPILER) $(FFLAGS) DRIVER/WRITE_FORCINGS.f -o OBJ/WRITE_FORCINGS.o
OBJ/WRITE_SINGLE.o: DRIVER/WRITE_SINGLE.f
	$(COMPILER) $(FFLAGS) DRIVER/WRITE_SINGLE.f -o OBJ/WRITE_SINGLE.o
OBJ/GRIBOUT.o: DRIVER/GRIBOUT.f
	$(COMPILER) $(FFLAGS) DRIVER/GRIBOUT.f -o OBJ/GRIBOUT.o
OBJ/MAKEPDS.o: DRIVER/MAKEPDS.f
	$(COMPILER) $(FFLAGS) DRIVER/MAKEPDS.f -o OBJ/MAKEPDS.o
OBJ/MAIN.o: DRIVER/MAIN.f DRIVER/MAIN.h
	$(COMPILER) $(FFLAGS) DRIVER/MAIN.f -o OBJ/MAIN.o
OBJ/CALC_WEIGHTS.o: DRIVER/CALC_WEIGHTS.f
	$(COMPILER) $(FFLAGS) DRIVER/CALC_WEIGHTS.f -o OBJ/CALC_WEIGHTS.o
OBJ/QDATAP.o: DRIVER/QDATAP.f
	$(COMPILER) $(FFLAGS) DRIVER/QDATAP.f -o OBJ/QDATAP.o
OBJ/READCNTL.o: DRIVER/READCNTL.f
	$(COMPILER) $(FFLAGS) DRIVER/READCNTL.f -o OBJ/READCNTL.o
OBJ/SFCDIF.o: SOURCE/SFCDIF.f
	$(COMPILER) $(FFLAGS) SOURCE/SFCDIF.f -o OBJ/SFCDIF.o
OBJ/CSNOW.o:  SOURCE/CSNOW.f
	$(COMPILER) $(FFLAGS) SOURCE/CSNOW.f -o OBJ/CSNOW.o
OBJ/FRH2O.o:  SOURCE/FRH2O.f
	$(COMPILER) $(FFLAGS) SOURCE/FRH2O.f -o OBJ/FRH2O.o
OBJ/SNKSRC.o: SOURCE/SNKSRC.f
	$(COMPILER) $(FFLAGS) SOURCE/SNKSRC.f -o OBJ/SNKSRC.o
OBJ/SNOWPACK.o: SOURCE/SNOWPACK.f
	$(COMPILER) $(FFLAGS) SOURCE/SNOWPACK.f -o OBJ/SNOWPACK.o
OBJ/SNOW_NEW.o: SOURCE/SNOW_NEW.f
	$(COMPILER) $(FFLAGS) SOURCE/SNOW_NEW.f -o OBJ/SNOW_NEW.o
OBJ/TBND.o: SOURCE/TBND.f
	$(COMPILER) $(FFLAGS) SOURCE/TBND.f -o OBJ/TBND.o
OBJ/CANRES.o: SOURCE/CANRES.f
	$(COMPILER) $(FFLAGS) SOURCE/CANRES.f -o OBJ/CANRES.o
OBJ/DEVAP.o: SOURCE/DEVAP.f
	$(COMPILER) $(FFLAGS) SOURCE/DEVAP.f -o OBJ/DEVAP.o
OBJ/HRT.o: SOURCE/HRT.f
	$(COMPILER) $(FFLAGS) SOURCE/HRT.f -o OBJ/HRT.o
OBJ/HRTICE.o: SOURCE/HRTICE.f
	$(COMPILER) $(FFLAGS) SOURCE/HRTICE.f -o OBJ/HRTICE.o
OBJ/HSTEP.o: SOURCE/HSTEP.f
	$(COMPILER) $(FFLAGS) SOURCE/HSTEP.f -o OBJ/HSTEP.o
OBJ/NOPAC.o: SOURCE/NOPAC.f
	$(COMPILER) $(FFLAGS) SOURCE/NOPAC.f -o OBJ/NOPAC.o
OBJ/PENMAN.o: SOURCE/PENMAN.f
	$(COMPILER) $(FFLAGS) SOURCE/PENMAN.f -o OBJ/PENMAN.o
OBJ/REDPRM.o: SOURCE/REDPRM.f
	$(COMPILER) $(FFLAGS) SOURCE/REDPRM.f -o OBJ/REDPRM.o
OBJ/ROSR12.o: SOURCE/ROSR12.f
	$(COMPILER) $(FFLAGS) SOURCE/ROSR12.f -o OBJ/ROSR12.o
OBJ/SFLX.o:  SOURCE/SFLX.f
	$(COMPILER) $(FFLAGS) SOURCE/SFLX.f -o OBJ/SFLX.o
OBJ/SHFLX.o: SOURCE/SHFLX.f
	$(COMPILER) $(FFLAGS) SOURCE/SHFLX.f -o OBJ/SHFLX.o
OBJ/SMFLX.o: SOURCE/SMFLX.f
	$(COMPILER) $(FFLAGS) SOURCE/SMFLX.f -o OBJ/SMFLX.o
OBJ/SNOPAC.o: SOURCE/SNOPAC.f
	$(COMPILER) $(FFLAGS) SOURCE/SNOPAC.f -o OBJ/SNOPAC.o
OBJ/SRT.o: SOURCE/SRT.f
	$(COMPILER) $(FFLAGS) SOURCE/SRT.f -o OBJ/SRT.o
OBJ/SSTEP.o: SOURCE/SSTEP.f
	$(COMPILER) $(FFLAGS) SOURCE/SSTEP.f -o OBJ/SSTEP.o
OBJ/TDFCND.o: SOURCE/TDFCND.f
	$(COMPILER) $(FFLAGS) SOURCE/TDFCND.f -o OBJ/TDFCND.o
OBJ/TRANSP.o: SOURCE/TRANSP.f
	$(COMPILER) $(FFLAGS) SOURCE/TRANSP.f -o OBJ/TRANSP.o
OBJ/WDFCND.o: SOURCE/WDFCND.f
	$(COMPILER) $(FFLAGS) SOURCE/WDFCND.f -o OBJ/WDFCND.o
OBJ/READ_INT_SPATIAL.o: DRIVER/READ_INT_SPATIAL.f
	$(COMPILER) $(FFLAGS) DRIVER/READ_INT_SPATIAL.f -o OBJ/READ_INT_SPATIAL.o
OBJ/READ_REAL_SPATIAL.o: DRIVER/READ_REAL_SPATIAL.f
	$(COMPILER) $(FFLAGS) DRIVER/READ_REAL_SPATIAL.f -o OBJ/READ_REAL_SPATIAL.o
OBJ/CALC_LENGTH.o: DRIVER/CALC_LENGTH.f
	$(COMPILER) $(FFLAGS) DRIVER/CALC_LENGTH.f -o OBJ/CALC_LENGTH.o
OBJ/SKIP_COMMENTS.o: DRIVER/SKIP_COMMENTS.f
	$(COMPILER) $(FFLAGS) DRIVER/SKIP_COMMENTS.f -o OBJ/SKIP_COMMENTS.o
OBJ/READ_FORCING.o: DRIVER/READ_FORCING.f
	$(COMPILER) $(FFLAGS) DRIVER/READ_FORCING.f -o OBJ/READ_FORCING.o
OBJ/READ_LSC.o: DRIVER/READ_LSC.f
	$(COMPILER) $(FFLAGS) DRIVER/READ_LSC.f -o OBJ/READ_LSC.o
OBJ/READ_INITIAL.o: DRIVER/READ_INITIAL.f
	$(COMPILER) $(FFLAGS) DRIVER/READ_INITIAL.f -o OBJ/READ_INITIAL.o
OBJ/CHECK_INITIAL.o: DRIVER/CHECK_INITIAL.f
	$(COMPILER) $(FFLAGS) DRIVER/CHECK_INITIAL.f -o OBJ/CHECK_INITIAL.o
OBJ/CHECK_FORCING.o: DRIVER/CHECK_FORCING.f
	$(COMPILER) $(FFLAGS) DRIVER/CHECK_FORCING.f -o OBJ/CHECK_FORCING.o