Подтвердить что ты не робот

Насколько подобны/разные gnu make, microsoft nmake и posix standard make?

Как похожи/разные gnu make, microsoft nmake и posix standard делают?

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

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

4b9b3361

Ответ 1

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

Вообще говоря, что такие программы, как autoconf, близки к портативным Makefiles.

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

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

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

Ответ 2

Возникает вопрос о синтаксисе make файла, который не является обычным (или, казалось бы, определенным) в GNU Make. Я получил блестящий ответ, который указал на некоторые ключевые функции и синтаксис NMAKE, отличные от GNU Make: fooobar.com/info/16913707/...