Проблемы с каталогами, создающими простой make-файл - PullRequest
0 голосов
/ 08 февраля 2011

Я хочу сделать простой make-файл для проекта C, который имеет следующие каталоги.

 -Project  
   - src 
     - a.c  
     - b.c
     - main.c  
   - headers  
     - a.h  
     - b.h   
   - build  
     - makefile  
     - project.exe 

А вот этот make-файл, который я сделал.

project: a.o b.o main.o
    cc -o sesion0 a.o b.o main.o
a.o: ../src/a.c ../headers/a.h 
b.o: ../src/b.c ../headers/b.h 
main.o: ../src/main.c ../headers/a.h ../headers/b.h 

Но когда я выполняю команду make , мне сообщают, что файл или каталог a.o, b.o и main.o не существуют, а также что нет входных файлов. В конце показывает эту ошибку:

make: *** [project] Error 1

Кто-нибудь знает, почему это происходит или где у меня ошибка? Я не очень хорошо знаю, как управлять каталогами в make-файле.

Спасибо.

1 Ответ

2 голосов
/ 08 февраля 2011

Make имеет встроенные правила для создания xo из xc, но не из ../src/xc Другими словами, пути ввода и вывода должны быть одинаковыми, отличается только расширение файла.

Вы можете исправить это, используя VPATH для поиска в каталоге :

VPATH = ../src:../headers
a.o: a.c a.h 
b.o: b.c b.h 
main.o: main.c a.h b.h 
...