我已经通过 从命令行传递附加变量链接到 make。
我有一个使用 makefile 在 Linux 和 Windows 上编译的项目。在 Windows 中它使用 gcc 而在 Linux 中它使用gcc
ie 的 ARM 版本armv7-linux-gcc
。我想使用一个命令行变量来告诉makefile根据Windows或Linux使用哪个编译器。
例如在 Windows 中它应该有这样的东西:
CC= gcc
CFLAGS= -c -D COMPILE_FOR_WINDOWS
对于 Linux:
CC = armv7-linux-gcc
CFLAGS = -c -D COMPILE_FOR_LINUX
这些预处理器定义 COMPILE_FOR_WINDOWS 和 COMPILE_FOR_LINUX 存在于代码库中并且不能更改。
同样对于 make clean 它应该为 Windows 和 Linux 清理。我不能假设构建它的人会安装 Cygwin,因此不能rm
用于删除文件。