Me gustaría tener el mismo Makefile para construir en Linux y en Windows. Utilizo el predeterminado GNU make en Linux y el mingw32-make (también GNU make) en Windows.Makefile que se distingue entre Windows y sistemas tipo Unix
Quiero que el Makefile detecte si funciona en Windows o Linux.
Por ejemplo make clean
de comandos en Windows parece:
clean:
del $(DESTDIR_TARGET)
Pero en Linux:
clean:
rm $(DESTDIR_TARGET)
También me gustaría utilizar diferentes separador de directorio en Windows (\
) y Linux (/
).
Es posible detectar el sistema operativo Windows en el Makefile?
PS: no quiero emular Linux en Windows (cygwin etc.)
No es cuestión similar: OS detecting makefile, pero que no encontrar la respuesta aquí.
Windows es capaz de manejar tanto las barras "/" y "\" son equivalentes. – Ency
Si esto es para un proyecto sustancial, me pregunto si valdría la pena dejar que autotools maneje algunas de las cosas de la portabilidad. – Cascabel
@Jefromi: autotools asume un conjunto de herramientas básico de UNIX (sh, m4, sed, rm, ...). @tomp: también podría instalarlos en Windows (desde MSYS o GnuWin) y gastar sus esfuerzos en los problemas de portabilidad más desafiantes. – ephemient