To put it simply, make will check whether the dependencies and target are new or old. If the target is older, then the action will be executed.
For a typical program, the target is mostly an executable program or object file, the dependencies are mostly source code (maybe header files, etc.), the actions are mostly compilation commands, such as gcc -o $@ $^, and the Makefile itself is rarely appears in this dependency relationship.
From this point of view, your changes to the Makefile may have no impact on the target itself. Remake is not necessarily necessary, but it is possible that your changes to the Makefile have caused changes in dependencies. In this case, you may need to start over. Again.
Makefile is basically a bunch of dependencies:
To put it simply, make will check whether the dependencies and target are new or old. If the target is older, then the action will be executed.
For a typical program, the target is mostly an executable program or object file, the dependencies are mostly source code (maybe header files, etc.), the actions are mostly compilation commands, such as
gcc -o $@ $^
, and the Makefile itself is rarely appears in this dependency relationship.From this point of view, your changes to the Makefile may have no impact on the target itself. Remake is not necessarily necessary, but it is possible that your changes to the Makefile have caused changes in dependencies. In this case, you may need to start over. Again.