我注意到在Gnu Make中的隐式规则是变量$(TARGET_ARCH),例如:
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
LINK.o = $(CC) $(LDFLAGS) $(TARGET_ARCH)
Run Code Online (Sandbox Code Playgroud)
我认为交叉编译需要这个变量,但我没有在Gnu Make文档中找到任何关于它的信息.
我正在学习最近编写makefile.我正在阅读的所有文件都告诉我,我必须编写一条规则来执行命令.但我发现以下Makefile可以生成没有任何编译命令的目标文件.为什么?
SOURCES=$(wildcard src/*.c)
OBJECTS=$(patsubst %.c, %.o, $(SOURCES))
all: $(OBJECTS)
Run Code Online (Sandbox Code Playgroud)
当我在终端输入make时,我得到了这个:
cc -c -o xxx.o xxx.c
Run Code Online (Sandbox Code Playgroud)
怎么回事?