Я пытаюсь использовать vpath в моем Makefile, чтобы избежать префикса каждого исходного файла с именем каталога.Но я не могу заставить его работать должным образом.
Вот Makefile:
CC=gcc -Wall
vpath %.h include
vpath %.c src
all: main.c Event.o Macros.h
$(CC) $< Event.o -o test/a.out
Event.o: Event.c Event.h Macros.h
$(CC) -c $< -o $@
Каталог src включен правильно.т.е. файл Event.c найден gcc.Но и Event.h, и Macros .h - нет.Я получаю сообщение об ошибке в gcc, в котором говорится, что оба файла не были найдены при компиляции Event.c.
Я пытался изменить директиву #include в моем C-файле на каждую из них одновременно.
#include "Event.h" /* doesnt work */
#include <Event.h> /* doesnt work */
#include "../include/Event.h" /* works */
Не могли бы вы помочь мне с этой проблемой?Я действительно хочу избегать использования имен каталогов перед каждым исходным файлом, так как мой настоящий Makefile больше этого.