When that is finished, make resumes reading the makefile in which the directive appears. When the make processes an include directive, it suspends reading of the makefile and reads from each listed file in turn. For example, if you have three `.mk' files, namely, `a.mk', `b.mk', and `c.mk', and $(bar) then it expands to bish bash, and then the following expression. Extra spaces are allowed and ignored at the beginning of the line, but a tab is not allowed. The filenames can contain shell file name patterns. The directive is a line in the makefile that looks follows − The include directive allows make to suspend reading the current makefile and read one or more other makefiles before continuing. Opposite directives of the above conditions are are follows − There are four different directives that test various conditions. The syntax of the conditional-directive is the same whether the conditional is simple or complex. The text-if-false can be any number of lines of text.
If the condition is true, text-if-true is used otherwise, text-if-false is used. The syntax of a complex conditional is as follows − If the condition is false, no text is used instead. The text-if-true may be any lines of text, to be considered as part of the makefile if the condition is true. The syntax of a simple conditional with no else is as follows − Every conditional must end with an endif. The endif directive ends the conditional. It is optional to have an else in a conditional.
In the example above this means the second alternative linking command is used whenever the first alternative is not used. The else directive causes the following lines to be obeyed if the previous conditional failed. If the given argument is false then condition becomes true. The ifndef directive begins the conditional, and specifies the condition. If the given argument is true then condition becomes true. The ifdef directive begins the conditional, and specifies the condition.
The lines of the makefile following the ifneq are obeyed if the two arguments do not match otherwise they are ignored. Variable substitution is performed on both arguments and then they are compared. It contains two arguments, separated by a comma and surrounded by parentheses. The ifneq directive begins the conditional, and specifies the condition. The lines of the makefile following the ifeq are obeyed if the two arguments match otherwise they are ignored.
The ifeq directive begins the conditional, and specifies the condition. So please check if your make supports the directives we are explaining here. The make program on your system may not support all the directives. There are numerous directives available in various forms. The second rule is the default rule used by make to create a.
HOW TO CREATE A MAKEFILE FOR C PROGRAM CODE
The following is the code for main.cpp source file − Makefiles are special format files that help build and manage the projects automatically.įor example, let’s assume we have the following source files. Makefiles are the solution to simplify this task. Compiling the source code files can be tiring, especially when you have to include several source files and type the compiling command every time you need to compile.