Skip to main content

Safeness of Make-Based Incremental Recompilation

  • Conference paper
  • First Online:
FME 2002:Formal Methods—Getting IT Right (FME 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2391))

Included in the following conference series:

Abstract

The make program is widely used in large software projects to reduce compilation time. make skips source files that would have compiled to the same result as in the previous build. (Or so it is hoped.) The crucial issue of safeness of omitting a brute-force build is addressed by defining a semantic model for make. Safeness is shown to hold if a set of criteria are satisfied, including soundness, fairness, and completeness of makefile rules. Conditions are established under which a makefile can safely be modified by deleting, adding, or rewriting rules.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Adams, W. Tichy, and A. Weinert. The cost of selective recompilation and environment processing. ACM Transactions on Software Engineering and Methodology, Vol. 3(1), January 1994, 3–28.

    Google Scholar 

  2. Demers, A., Reps, T., and Teitelbaum, T. Incremental evaluation for attribute grammars with application to syntax-directed editors. Proc. Eighth ACM Symposium on Principles of Programming Languages, Williamsburg, VA, January, 1981, 105–116.

    Google Scholar 

  3. M. Elsman. Static Interpretation of Modules. Proc. International Conference on Functional Programming, September 99, Paris, France.

    Google Scholar 

  4. S. I. Feldman. Make-a program for maintaining computer programs. Software-Practice and Experience, Vol. 9, 1979, 255–265.

    Article  MATH  Google Scholar 

  5. R. Ford and D. Sawamiphakdi. A Greedy Concurrent Approach to Incremental Code Generation. Proc. 12th Annual ACM Symposium on Principles of Programming Languages, New Orleans, Louisiana, 1985, 165–178.

    Google Scholar 

  6. Institute of Electrical and Electronics Engineers. Information technology-Portable Operating System Interface (POSIX). ANSI/IEEE Std. 1003.2, 1993, Part 2: Shell and Utilities, Volume 1, 1013–1020.

    Google Scholar 

  7. N. Jørgensen. Safeness of Make-Based Incremental Recompilation. URL: http://www.ruc.dk/~nielsj/research/papers/make.pdf.

  8. K. Marriott and H. Søndergaard. Analysis of constraint logic programs, Proc. North American Conference on Logic Programming, Austin, 1988, 521–540.

    Google Scholar 

  9. P. Miller. Recursive make considered harmful. URL: http://www.pcug.org.au/~millerp/rmch/recu-make-cons-harm.html.

  10. The Mozilla build process is described at the URL: http://www.mozilla.org/tinderbox.html in the context of a presentation of the build tool “Tinderbox”.

  11. P.J. Nicklin. Mkmf-makefile editor. UNIX Programmer’s Manual 4.2 BSD, June 1983.

    Google Scholar 

  12. A. Oram and S. Talbott. Managing projects with make. O’Reilly, 1993.

    Google Scholar 

  13. R. Quinton. Make and Makefiles. URL: http://www.ibiblio.org/pub/docs/unix-tutorials/courses/make.ps.

  14. S. Robbins. JavaDeps-automatic dependency tracking for Java. http://www.cs.mcgill.ca/~stever/software/JavaDeps/. The JavaDeps tool is a SourceForge project available at http://sourceforge.net/projects/jmk.

  15. D.A. Schmidt. Denotational semantics-a methodoogy for language development. Allyn and Bacon, 1986.

    Google Scholar 

  16. R. Stallman and R. McGrath. GNU Make, Version 3.77. Free Software Foundation, 1998.

    Google Scholar 

  17. W. F. Ticky. Smart recompilation. ACM Transactions on Programming Languages and Systems, Vol. 8(3), July 1986, 273–291.

    Google Scholar 

  18. K. Walden. Automatic Generation of Make Dependencies. Software-Practice and Experience, Vol. 14(6), June 1984, 575–585.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jørgensen, N. (2002). Safeness of Make-Based Incremental Recompilation. In: Eriksson, LH., Lindsay, P.A. (eds) FME 2002:Formal Methods—Getting IT Right. FME 2002. Lecture Notes in Computer Science, vol 2391. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45614-7_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-45614-7_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43928-8

  • Online ISBN: 978-3-540-45614-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics