Make-файл nmake для Размещения объектных файлов в отдельный каталог

У меня есть все свои исходные файлы в папке Source, make-файл находится в папке Makefile, и я хочу, чтобы все объектные файлы были помещены в папку Objects. Это - проект C, я продолжаю работать. Все эти три папки находятся в папке под названием Проект.

Папка проекта содержит: Исходные Объекты Make-файла

Я пытаюсь выяснить способ заставить make-файл компилировать источник от папки Source, я попытался использовать:

...
SOURCE_DIR=..\Source
OUTPUT_DIR=..\Objects
.c.obj:
    $(CC) $(SOURCE_DIR)\$*.c /Fo$(OUTPUT_DIR)\$*.obj
...  

но это не работает, я заканчиваю с сообщением об ошибке который, поскольку, в то время как говорит, не знают, как сделать myfile.obj

6
задан 2 June 2009 в 10:18
поделиться

2 ответа

Попробуйте это:

SOURCE_DIR=..\Source
OUTPUT_DIR=..\Objects
{$(SOURCE_DIR)}.c{$(OUTPUT_DIR)}.obj:
    $(CC) $* /Fo$<

Как здесь объяснено: http://msdn.microsoft.com/en-us/library/hk9ztb8x.aspx

6
ответ дан 17 December 2019 в 00:13
поделиться

Если в буквальном смысле слова не знают, как сделать myfile.obj, а не не знают, как сделать ..\Objects\myfile.obj, то ваша проблема где-то в другом месте - что-то в makefile запрашивает объектный файл в текущем каталоге.

Какое правило нужно собрать myfile.obj? Я бы догадался, что в этом правиле вы не можете указать $(OUTPUT_DIR)\myfile.obj в качестве зависимости.

0
ответ дан 17 December 2019 в 00:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: