Although both names will do the job, what is the correct name for makefiles?
GNU `make' homepage uses Makefile, and I guess it is the good way to name it. Any reasons for typing the front M in upper case ?
Makefile (capitalized) is a standard in Unix world, where file system is case sensitive (i.e. makefile , MAKEFILE and Makefile are all different files). On Windows, it doesn't matter.
Makefiles contain five kinds of things: explicit rules , implicit rules , variable definitions , directives , and comments . Rules, variables, and directives are described at length in later chapters. An explicit rule says when and how to remake one or more files, called the rule's targets.
The built-in rules version of . MAKEFILES tells make to look for makefile or Makefile in the working directory. makefile is tried first; Makefile is used only if makefile cannot be found. You can also use the -f file option to give the name of the user makefile explicitly.
The make utility requires a file, Makefile (or makefile ), which defines set of tasks to be executed. You may have used make to compile a program from source code. Most open source projects use make to compile a final executable binary, which can then be installed using make install .
What Name to Give Your Makefile chapter of GNU Make manual clarifies it:
By default, when
make
looks for the makefile, it tries the following names, in order:GNUmakefile
,makefile
andMakefile
. Normally you should call your makefile eithermakefile
orMakefile
. (We recommendMakefile
because it appears prominently near the beginning of a directory listing, right near other important files such asREADME
.) The first name checked,GNUmakefile
, is not recommended for most makefiles. You should use this name if you have a makefile that is specific to GNUmake
, and will not be understood by other versions of make. Other make programs look formakefile
andMakefile
, but notGNUmakefile
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With