'make' is the base of all open source projects and without understanding it completely, it will not be clear from what file a software project starts and how the instruction flow continues. But that base is covered with the sentences not so clear and because of that many can not understand and contribute to the open source projects.........Please take a look at the extract of the manual:
------------------------------------------------------------------------------------------------------------------------------------------------- 4.13 Generating Prerequisites Automatically To avoid this hassle, most modern C compilers can write these rules for you, by looking at the #include lines in the source files. Usually this is done with the ‘-M’ option to the compiler. For example, the command: cc -M main.c generates the output: main.o : main.c defs.h Thus you no longer have to write all those rules yourself. The compiler will do it for you. Note that such a prerequisite constitutes mentioning ‘main.o’ in a makefile, so it can never be considered an intermediate file by implicit rule search. This means that make won’t ever remove the file after using it; see Section 10.4 [Chains of Implicit Rules], page 107. ----------------------------------------------------------------------------------------------------------------------------------- "Note that such a prerequisite constitutes mentioning ‘main.o’ in a makefile..." What does the above sentence mean? What prerequisite is it talking about? Please write an example. Does it mean the hear file? "so it can never be considered an intermediate file by implicit rule search..." What is "it" in the above sentence? Where is that intermediate file? make removes the file?!! How make removes files in an implicit rule search? Where is the place of the command, cc -M main.c? is it inside a makefile? "Note that such a prerequisite constitutes mentioning ‘main.o’ in a makefile, so it can never be considered an intermediate file by implicit rule search...." What is the concept and function of constituting? How it is done? If it does not constitute so it can be considered an intermediate file? Can you clarify the detailed steps of making the decision to constitute and making an intermediate file? _______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
