How exactly make knows if a file was modified or not, to run certain rules? This information must be in some place, so is there a file stored somewhere with timestamps from files?
There are a lot of make programs, thus I’m not sure if the principle behind dependency checking is the same for all of them. If they differ greatly, I’m mostly interested in GNU Make; though it would be good to know any of the differences.
Make checks timestamps of inputs vs outputs. If a .o is older than a .c, for example, it assumes you must have edited it and the .o needs to be remade.