# START OUTPUT CheckMake runs on individual problems. It parses the master Makefile to get a list of all INCLUDE makefiles. Then it creates a list of all targets defined in these Makefiles. After all targets have been collected, CheckMake processes the list in makefile/taget order. First, it opens the target source file and checks for "use" and "include" statements. If it finds any, it checks if those appear among the depen- dencies. If they do not, CheckMake will report it. (NOTE: Some files--depending on file name suffix--are skipped. See output.) CheckMake then parses the source files of the listed dependencies and keeps a record of all source files in opened. Whenever it encounters a 'use' or 'include' statement, the respective file is queued in, as long as it has a significant suffix. After it has parsed the last file, the list of files parsed is compared to the list of dependencies. If both list contain the same file name, it is assumed that the makefile is correct.