Насколько подобный/отличающийся гну, делают, Microsoft nmake и posix стандарт делают?

Насколько подобный/отличающийся гну, делают, Microsoft nmake и posix стандарт делают?

Очевидно, там похож на вещи "который ОС?", "который компилятор?" и, "который компоновщик?", но я обращаюсь конкретно к синтаксису, семантике и параметрам командной строки самих make-файлов.

Если я пишу, что make-файлы на основе руководств для гну делают, каковы самые важные проблемы мобильности, о которых я должен знать?

23
задан Steve314 17 February 2010 в 03:37
поделиться

1 ответ

GNU Make и POSIX Make имеют общее ядро, так что GNU Make понимает make-файлы, предназначенные для POSIX Make, и интерпретирует их одинаково - за очень немногими исключениями. Однако многие файлы GNU Makefile используют функции, доступные только в GNU Make. Иногда это делается намеренно и осознанно; иногда это не так (а «иногда нет» - проблема). Я менее знаком с Microsoft nmake; Я считаю, что он, вероятно, будет близок к семантике POSIX Make в своей основе, но у него будет свой собственный расходящийся набор расширений.

Вообще говоря, программы вроде autoconf близки к переносимым файлам Makefile.

Главное, чего следует остерегаться при использовании GNU Make, - это все нотации расширенных функций для преобразования имен файлов (макросов) в полезные значения. Хотя они, несомненно, полезны, они также являются ловушкой для переносимости.

Обозначения "% .x" для правил суффиксов не определены POSIX - они распознаются как общее расширение:

Интерпретация целей, содержащих символы '%' и '"' определяется реализацией.

11
ответ дан 29 November 2019 в 03:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: