I have been looking at this problem for a while and still don\'t know what is wrong.
My makefile looks like:
    F90    = pgf90
NETCDF_DIR = /opt/netcdf
         
        
Make doesn't know that .f90 is a suffix, so your suffix rule is not valid.  It's not enough to just declare a suffix rule if make doesn't know about the suffix.  If you want to use suffix rules, you also have to add the new suffix with the .SUFFIXES pseudo-target, like this:
.SUFFIXES: .f90
Or you can use pattern rules, which don't require this (but are GNU make-specific):
%.o : %.f90
        ${F90} -c ${INCLUDE_MODULES} $<