Я конвертирую Makefile (работающий в linux bash), чтобы запустить его в консоли Windows PowerShell.Я использую GNU Make 4.2.1.У меня проблема с преобразованием команды rm bash в эквивалент PowerShell
Например, в этом простом make-файле
clean:
powershell " Remove-Item -ErrorAction Ignore aaa.txt"
powershell " Remove-Item -ErrorAction Ignore bbb.txt"
, если aaa.txt не существует,ошибка возникает даже с флагом ErrorAction
Ignore
и, очевидно, второе действие (удаление bbb.txt) не выполняется.Следующее сообщение печатается make: *** [makefile: 2: clean] Ошибка 1 .
Почему это не работает? (я читал, что Ignore не добавляет сообщение об ошибке в автоматическую переменную $ Error)
Какиепараметр, который я должен использовать в команде Remove-Item?
Для информации, если я запусту следующий файл mybat.bat , он отлично работает, даже еслиесли файл aaa.txt не существует, файл bbb.txt удаляется.
powershell " Remove-Item -ErrorAction Ignore aaa.txt"
powershell " Remove-Item -ErrorAction Ignore bbb.txt"
Rq: powershell " Remove-Item -ErrorAction Ignore aaa.txt, bbb.txt"
работает в этом простом случае, но это не хорошее решение, потому что я использую makefile, который вызывает многоmakefile в разных каталогах.