Правила паттернов NMake

Привет, я решил попробовать и научиться создавать программы с помощью командной строки и make-файлов, вместо того чтобы полагаться на Visual Studio, чтобы сделать это для меня. После ознакомления с процессом компиляции в файлы .obj и компоновки я перешел на NMake. Я написал основной make-файл, чтобы попытаться скомпилировать исходные файлы, расположенные в нескольких папках, в файлы .obj, связать каждую папку файлов .obj с файлами .lib, а затем связать файлы .lib с файлом .exe.

CC=cl /c /EHsc /Fo
LIB=lib /OUT:
LINKER=link /OUT:
EXEC_NAME=Test.exe
DEL=del
MAKE=nmake
OUT=.\out

all: $(OUT)\*.lib
$(LINKER)$(EXEC_NAME) *.lib

clean:
$(DEL) $(OUT)

rebuild:
$(MAKE) clean
$(MAKE) all

$(OUT)%.lib: $(OUT)\%\*.obj
$(LIB)%.lib $(OUT)%\*.obj

%(OUT)\%\:
$(CC)$(OUT)\%\ .\%\*.cpp

Когда я пытаюсь запустить его с nmake all это говорит мне: NMAKE : fatal error U1073: don't know how to make '.\out\*.lib'

Заранее спасибо.

6

Решение

Этот вопрос по понятным причинам игнорировался в течение полутора лет, но в последнее время привлек 4 отзыва.

На самом деле ни один вопрос не сформулирован, но подразумеваемый вопрос: Почему не могу nmake следовать правилам% -pattern в моем make-файле?

Ответ на это MS nmake вообще не поддерживает правила% -шаблонов. Документация MS nmake и его правила вывода легко найти.

GNU make и некоторые другие инструменты поддержки make Правила% -шаблонов. Makefile здесь также потерпит неудачу в GNU make из-за явных ошибок.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]