Что означает * $ при расширении макросов в make-файле Watcom? - PullRequest
0 голосов
/ 13 марта 2019

У меня есть своеобразный набор make-файлов в устаревшем проекте. Они обрабатываются маркой Watcom, но, похоже, имеют формат файла NMAKE. Я часто сталкиваюсь со следующей конструкцией:

*$(_cmd_run)

$(_cmd_run) - это просто расширение макроса, но в этом случае перед знаком доллара стоит также звездочка. Я не могу найти какую-либо документацию относительно его цели В документации NMAKE нет ничего относительно этого синтаксиса. Я даже пытался найти исходные файлы Open Watcom, но безрезультатно.

Что означает эта звездочка?

1 Ответ

2 голосов
/ 15 марта 2019

Это обходной путь для обработки «длинных» командных строк в DOS, поэтому его можно безопасно отбросить.Из справки WMAKE:

В DOS префикс звездочки (*) заставит Make проверить длину аргумента команды.Если он слишком длинный (> 126 символов), он примет аргумент команды и поместит его во временную переменную среды, а затем выполнит команду с аргументом "@env_var".

...