You can't do that with Makefile. Makefile processes only source files, so you can provide flags in Makefile on source file granularity only. In other words, gcc is invoked on source files, and headers are not mentioned in gcc invocations.

However, you can instruct gcc to adjust warnings in different files:

Pass -isystem <dir> flag to gcc - this will make gcc treat headers located dir as system headers. gcc by default does not issue any warnings in system headers.