changed compilation chain : separation between printer and linker