我正在学习 Makefile,但我似乎无法弄清楚为什么这条规则会生成没有扩展名的可执行文件而不是
.o
文件。
CC = clang
CFLAGS=-c
%.o: %.c
$(CC) $(CFLAGS) %.c
我已经尝试过 GNU make 文档,但这也没有帮助。
我尝试使用其他自动变量,但也没有用。
CC = clang
%.o: %.c
$(CC) $< -c
这也行不通,我尝试过的所有操作都生成了一个没有扩展名的可执行文件。
CC = clang
%.o: %.c
$(CC) %.c -o %.o
我需要这样的规则:
假设我要编译
c_filename.c
:
$ make c_filename
生成的文件应该是
c_filename.o