• DocumentCode
    732084
  • Title

    Make It Simple - An Empirical Analysis of GNU Make Feature Use in Open Source Projects

  • Author

    Martin, Douglas H. ; Cordy, James R. ; Adams, Bram ; Antoniol, Giulio

  • fYear
    2015
  • fDate
    18-19 May 2015
  • Firstpage
    207
  • Lastpage
    217
  • Abstract
    Make is one of the oldest build technologies and is still widely used today, whether by manually writing Make files, or by generating them using tools like Auto tools and CMake. Despite its conceptual simplicity, modern Make implementations such as GNU Make have become very complex languages, featuring functions, macros, lazy variable assignments and (in GNU Make 4.0) the Guile embedded scripting language. Since we are interested in understanding how widespread such complex language features are, this paper studies the use of Make features in almost 20,000 Make files, comprised of over 8.4 million lines, from more than 350 different open source projects. We look at the popularity of features and the difference between hand-written Make files and those generated using various tools. We find that generated Make files use only a core set of features and that more advanced features (such as function calls) are used very little, and almost exclusively in hand-written Make files.
  • Keywords
    Electronic mail; Generators; Grammar; Libraries; Linux; Pattern matching; Software; Make; build systems; feature analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Program Comprehension (ICPC), 2015 IEEE 23rd International Conference on
  • Conference_Location
    Florence, Italy
  • Type

    conf

  • DOI
    10.1109/ICPC.2015.31
  • Filename
    7181449