, кажется, что делают не разрешает символ подстановки% перед вызовом функции оболочки, в случаях, как это одна:решительность Makefile подстановочные% внутри функции оболочки
%.exe: $(shell cat %.txt)
gcc $? -o [email protected]
если я печатаю это на раковине:
$ make test.exe
shell жалуется, что не может найти «% .txt», но я ожидал, что он найдет «test.txt».
есть ли способ обхода?
спасибо!
Вы можете уточнить на то, что вы пытаетесь достичь с помощью этого правила? – maxschlepzig
для каждого исполняемого файла X есть файл X.txt, в котором перечислены все его исходные зависимости. Я хочу, чтобы «make» помещал содержимое этого файла в целевые зависимости. – cd1
Расширение $ (shell ...) происходит очень рано; ваша ошибка происходит до того, как даже начнется поиск целей. Пожалуйста, прочитайте главу «вторичное расширение» в документации GNU Make, как указано ниже. – MarcH