Если вы не можете / не хотите исправлять исходный файл, вы можете манипулировать структурой каталогов для соответствия, например:
$ cat Makefile
CPPFLAGS = -I.
test: test.o
test.o: http_parser/http_parser.h
http_parser/%.h : %.h
mkdir -p $(@D)
ln -sfr $< $(@D)
Это создаст запрошенную папку и создаст символ c ссылка на существующий файл, который позволит продолжить компиляцию:
$ cat test.c
#include <http_parser/http_parser.h>
int main(int argc, char *argv[])
{
return 0;
}
$ make
mkdir -p http_parser
ln -sfr http_parser.h http_parser
cc -I. -c -o test.o test.c
cc test.o -o test
$ ls -l http_parser
lrwxrwxrwx 1 raspy raspy 16 Mar 11 22:29 http_parser.h -> ../http_parser.h