¿Qué tan similares / diferentes son gnu make, microsoft nmake y posix standard make?


¿Qué tan similares/diferentes son gnu make, microsoft nmake y posix standard make?

Obviamente hay cosas como "qué sistema operativo?", "which compiler?"y ", que linker?", pero me estoy refiriendo específicamente a la sintaxis, semántica y opciones de línea de comandos de los propios makefiles.

Si escribo makefiles basados en manuales para gnu make, ¿cuáles son los problemas de portabilidad más importantes que debo tener en cuenta?

Author: Steve314, 2010-02-17

1 answers

GNU Make y POSIX Make comparten un núcleo común para que GNU Make entienda los makefiles destinados a POSIX Make y los interprete de la misma manera - con muy pocas excepciones. Sin embargo, muchos Makefiles de GNU utilizan características que solo están disponibles en GNU Make. A veces esto es deliberado y consciente; a veces no lo es (y "a veces no lo es" es un problema). Estoy menos familiarizado con Microsoft nmake; creo que es probable que se acerque a la semántica POSIX Make en su núcleo, pero tendrá su propia conjunto divergente de extensiones.

En términos generales, lo que producen programas como autoconf se acerca a los Makefiles portátiles.

Las principales cosas que debe tener cuidado con el uso de GNU Make son todas las notaciones de funciones extendidas para asignar nombres de archivos (macros) en valores útiles. Mientras que son sin duda útiles, también son una trampa para la portabilidad.

El '%.las notaciones x' para las reglas de sufijo no están definidas por POSIX - se reconocen como comunes extensión:

La interpretación de los destinos que contienen los caracteres '%' y '"' está definida por la implementación.

 10
Author: Jonathan Leffler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-17 23:27:51