这是示例:
%.o : %.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
据我了解,此规则查找所有 c 源文件 *.c 并将它们编译为目标文件 *.o。当我只想将文件编译成目标文件时,如何定义“全部”规则?
另外,如果我想构建一个可执行文件,我该如何破坏链接规则?就像是:
TARGET = bsort
CPPFLAGS = -g -Wall
LFLAGS =
all: $(TARGET)
$(TARGET): ???
$(CC) $(LFLAGS) %.o -o $(TARGET)
%.o : %.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
所以,我试图让两个使用模式规则的makefile,一个makefile编译成目标文件,另一个makefile构建成可执行文件。我的项目通常有多个源文件和头文件。