Cuál es el objetivo Makefile'.c. o ' para?
Alguien mencionó recientemente el objetivo .c.o
en Makefiles para la compatibilidad cruzada, pero no entiendo su propósito. ¿Alguien puede aclararlo?
2 answers
Es una regla de sufijo anticuada. La forma más actualizada de hacerlo es usar una regla de patrón :
%.o : %.c
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
2012-02-10 19:16:29
Es una regla enlatada para traducir archivos .c
, es decir, módulos C, a archivos objeto .o
. Existe para que no tenga que escribir esta regla usted mismo y está parametrizada por variables Make como CC
(el compilador de C a usar), CFLAGS
(banderas del compilador), etc.
Por lo tanto, si usa esta regla implícita para compilar módulos C y no juega con ninguna variable Make, entonces la persona que construye su código puede especificar un compilador y banderas en la línea de comandos sin editar el Makefile.
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
2012-02-10 19:15:53