我有一个带有宏的C文件,为了编译它,我使用gcc file.c -D和(我要编译的代码部分的宏).我写信问你,我如何能让makefile管理有条件的编译,为了编译makefile决定是创建第一个文件还是第二个文件(文件c的两个MACRO)
你可以调用一个 Makefile
带参数。
make action argument=something
那么你的 Makefile
可以接受并传播这个参数。
CC = gcc
CFLAGS += -std=c11 -pedantic -Wall
action: $(argument)
$(CC) $(CFLAGS) $(argument) -o demo
clean:
rm -f demo
比如说你有两个文件: file1.c
和 file2.c
,你可以打电话
make action argument=file1.c
或
make action argument=file2.c
来决定是创建第一个文件还是第二个文件。