build: avoid the use of top_ and abs_ dir paths
Using them has the side effect of confusing the dependency-tracking logic.