Правила GNU Make Pattern в Windows

Правила GNU Make Pattern в Windows

Я заинтересован в использовании GNU Make на Windows. Я создал небольшой Makefile, используя Pattern Rule:

all: abcd.o

%.o : %.c
    echo hi

Однако, когда я пытаюсь сделать все,

D:\test>"C:\Program Files (x86)\GnuWin32\bin\make" -f Makefile.txt
make: *** No rule to make target `abcd.o', needed by `all'.  Stop.

Я устанавливаю GNU Make изэтот репозиторий.документациячто я нашел, описывает, что этот Makefile должен работать.

D:\test>"C:\Program Files (x86)\GnuWin32\bin\make" --version
GNU Make 3.81

Как использовать шаблонные правила в файлах GNU Makefile в Windows?

решение1

сделать: *** Нет правила сделать цель abcd.o', needed by«все». Стоп.

Ваш make-файл содержит:

all: abcd.o

%.o : %.c
    echo hi

Это сработает только в том случае, если файл abcd.cсуществует или может быть создан (по другому правилу).


Таким образом, правило вида

%.o : %.c ; recipe…

указывает, как сделать файл нет,с другим файлом nc в качестве предварительного условия, при условии, что nc существует или может быть создан.

Источник10.5.1 Введение в правила шаблонов


дальнейшее чтение

решение2

Файл abcd.c должен существовать.

Связанный контент