как включить bsd.prog.mk как в GNU, так и в BSD make?

linux #makefile #freebsd

#linux #makefile #freebsd

Вопрос:

Я новичок в мире makeFile, у меня есть основной вопрос.

У меня есть файл make с содержимым.

 .include <bsd.prog.mk>
 

Я получаю сообщение об ошибке при выполнении файла make

  Makefile:: *** missing separator.  Stop.
 

Причина, по которой я получаю ошибку, поскольку я выполняю makefile в среде Linux, а не в системе FreeBSD.

итак, есть ли какой-либо способ включить bsd.prog.mk файл как в Linux, так и в BSD-системах, если Linux его поддерживает, если нет, то какой аналогичный файл следует включить, чтобы поведение MakeFile оставалось неизменным.

Комментарии:

1. Попробуйте bmake, который является портом NetBSD make tool: packages . debian.org/stable/devel/bmake

Ответ №1:

Вам нужна совместимая реализация Make (и системные файлы сборки). Проблема в том, что реализацией Make по умолчанию в большинстве систем GNU / Linux является GNU Make, которая несовместима с FreeBSD.

К счастью, FreeBSD использует bmake в настоящее время, который упакован для большинства систем, если он недоступен в вашей, вы можете скачать его здесь: https://crufty.net/help/sjg/bmake.html (и постройте его сами).

Ответ №2:

Вы можете установить bmake в системах Linux и использовать его, или вы можете установить GNU make в системах BSD и использовать синтаксис GNU make include: https://www.gnu.org/software/make/manual/html_node/Include.html