[/tmp/root] : ls -R .: header src ./header: class ./header/class: a.h other.h ./src: foo.c [/tmp/root] : cat ./header/class/a.h #include "class/other.h" [/tmp/root] : cat ./header/class/other.h foo! [/tmp/root] : gcc -E -I /tmp/root/header src/foo.c # 1 "src/foo.c" # 1 "" # 1 "" # 1 "src/foo.c" # 1 "/tmp/root/header/class/a.h" 1 # 1 "/tmp/root/header/class/other.h" 1 foo! # 1 "/tmp/root/header/class/a.h" 2 # 1 "src/foo.c" 2 [/tmp/root] :