> Date: Fri, 3 Aug 2012 14:21:06 +0200 > From: Marco Pfatschbacher <[email protected]> > > If you address targets in a mixed form, > as in: with or without their full path, > make ignores source dependencies. > > Example > > $ cat Makefile > all: myprog > > myobj.o: mysource.c > date > $@ > > #myprog: myobj.o <- this would work > myprog: ${.CURDIR}/myobj.o > date > $@ > > > [ first run. creates myobj.o and myprog ] > $ touch mysource.c; make > date > myobj.o > date > myprog > > [ this should rebuild everything, but does nothing!] > $ touch mysource.c; make > > While on OpenBSD 4.4 this used to work: > $ touch mysource.c; make > date > /home/marco/myobj.o > date > myprog > > This has pbbly sth to do with the target name, now > being normalized to its relative path. > On 4.4, $@ expands to "/home/marco/myobj.o" > while post-4.6 it will always be just "myobj.o"
What happens if you use make -j1?
