GNU/Linux >> Tutoriales Linux >  >> Linux

¿Restringir el comportamiento de Gnu‑make a Posix Make?

¿Hay alguna forma conocida de hacer make de Linux? ¿Rechazar el uso no intencionado de extensiones específicas de GNU-Make en Makefile al editar o usar el Makefile de otros en Linux? Quiero decir, restringir GNU‑Make para que se comporte como make especificado en POSIX y rechazar cualquier extensión específica de GNU‑Make?

El .POSIX el destino especial no es suficiente, de acuerdo con "4.9 Nombres de destino incorporados especiales (gnu.org)". La página de manual no menciona una opción de línea de comando para esto.

Usando otro make la utilidad puede ser una opción.

— Actualización 2018-10-19 —

Todavía no he encontrado una respuesta directa a mi pregunta, pero aquí hay al menos un documento sobre este problema, un documento que no existía en el momento en que tuve esta pregunta: Un tutorial sobre archivos Makefile portátiles (nullprogram.com).

Respuesta aceptada:

Estoy bastante seguro de que no hay forma de deshabilitar las extensiones GNU make. El .POSIX target mejora la compatibilidad pero no deshabilita las extensiones compatibles, como funciones, objetivos de puntos patentados, % patrones en objetivos, etc.

No conozco ninguna implementación de make que se adhiera a las características de POSIX. Por ejemplo, MINIX, Solaris, OpenBSD, todos tienen sus propias extensiones. Al menos podría intentar construir sus programas con estas cuatro implementaciones (suponiendo que sus programas se construyan en todas estas plataformas), lo que le dará una garantía de portabilidad bastante buena en la práctica. Agrega Windows con make utilidad de Visual Studio, además de un puerto de algunas herramientas de shell de Unix, si puede usar un sistema operativo no libre (creo que hay una versión gratuita de VS que sería suficiente).


Linux
  1. ¿Qué es exactamente Posix?

  2. ¿Cómo limpiar las extensiones de archivo?

  3. Bash:Mayús+teclas de flecha ¿Hacer A,b,c,d?

  4. ¿Hacer Tail -f Exit en una tubería rota?

  5. Grep -v ¿Comportamiento inesperado?

Haz música en Linux con Ardor

12 extensiones para tu escritorio GNOME

Hacer un USB persistente de Kali Linux

Bash Select (hacer menús)

Cómo hacer un archivo ejecutable en Linux

PiShrink:reduce el tamaño de las imágenes de Raspberry Pi