gcc -Wp: pass options to the preprocessor. printf, yet without including stdio.h. Additionally, the macro FOO is not defined in the translation unit: int main() {
printf(FOO);
}
gcc, it uses the -Wp option to pass the -D and -include options to the preprocessor so that FOO is defined and stdio.h included. a.out: prog.c gcc -Wp,-DFOO='"Hello world\n"' -Wp,-include,stdio.h $< -o $@