When you just give make, it makes the first rule in your make file, i.e. "all" . You indicated that “everything” depends on “hello,” which depends on main.o, factorial.o, and hello.o. So, "make" is trying to see if these files are present.
If they are present, "make" sees if their dependencies depend, for example. main.o has a dependency main.c, changed. If they have changed, rebuild them, otherwise skip the rule. Likewise, it recursively goes about creating files that have been modified and finally runs the largest command, “everything” in your case, to provide you with the “hi” executable in your case.
If they are absent, blindly builds everything under the rule.
Coming to your problem, this is not an error, but "make" says that every dependency in your makefile is updated and nothing needs to be done!
Chethan Ravindranath Dec 19 2018-11-12T00: 00
source share