A make file consists of a set of targets, dependencies and rules. A target most of time is a file to be created/updated. target depends upon a set of source files or even others targets described in Dependency List. Rules are the necessary commands to create the target file by using Dependency List.
As you see in figure 1 each command in the Rules part must be on lines that start with a TAB character. Space issue errors. Also, a space at end of the rule line may cause make issues an error message.
The makefile is read by make command which determines target files to be built by comparing the dates and times (timestamp) of source files in Dependency List.If any dependency has a changed timestamp since the last build make command will execute the rule associated with the target.