> Here, we have 2 targets: > ../1/../main.o > ../2/../main.o > > In fact, this is the same target/file (taking into account relative > directories).
Note that if ../1 or ../2 is a symlink to somewhere else, ../1/.. and ../2/.. aren't the same place. It's the makefile's responsibility to resolve any such aliasing, since make doesn't want the added complexity (i.e. cost) by default but doesn't want to be wrong in the eccentric case where symlinks are involved. Eddy.