1. "undefined reference " often means there is some lost library or object files that have been linked in your compilation.
2. Since all the makefile will include "rules.make" . And rules.make will indicate some absolute directory of required header files. So you do not care the location of header files.