Cascade compilation revisited

Autor: Daniel J. Grimwood, Ted Stern
Rok vydání: 2002
Předmět:
Zdroj: ACM SIGPLAN Fortran Forum. 21:12-24
ISSN: 1931-1311
1061-7264
DOI: 10.1145/510892.510896
Popis: The problem of cascade recompilation in large modern Fortran projects is well known --- a non-interface related change of a module can cause recompilation in the entire chain of dependents of that module, even when the compiler would not require it [1]. Furthermore, it is not trivial to set up the proper dependency relationship among modules and their dependents. See [2-5] for examples of various ways of setting up these dependencies.Solutions proposed up until now have not dealt comprehensively with the issue of a module file not undergoing any substantive change during source file recompilation or, if they did, they relied on the assumption that there is only one module definition per text file, and further that the generated module file has the same basename the source file. None of these assumptions may be true in practice.Furthermore, the issue of parallel builds is usually not addressed. For very large projects ( O (1-10K) source files), parallel builds can decrease compilation time by an order of magnitude.With a moderate amount of scripting (in either Perl or Korn-shell), and using the capabilities of more recent versions of GNU Make [6,7] it is possible to create makefiles that handle complicated cross-dependencies nearly automatically, and reduce recompilation time substantially.
Databáze: OpenAIRE