小编Min*_*ang的帖子

目标".cpp.o:"在Makefile中意味着什么?

我正在学习GNU makefile.我看到了这个页面:http://mrbook.org/blog/tutorials/make/

在本文的最后,我发现了这个:

CC=g++
CFLAGS=-c -Wall
LDFLAGS=
SOURCES=main.cpp hello.cpp factorial.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=hello

all: $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS) 
    $(CC) $(LDFLAGS) $(OBJECTS) -o $@

.cpp.o:
    $(CC) $(CFLAGS) $< -o $@
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释OBJECT变量中的内容以及目标的.cpp.o:含义(也在$<其中)?

当我使用类似的东西时我也发现:

SRC = $(wildcard $(SRC_DIR)*.c)
SRC_OBJS = $(patsubst %.c, %.o, $(SRC))
Run Code Online (Sandbox Code Playgroud)

并使用"$(SRC_OBJS)"作为目标,它将为每个所需对象编译所有对象.这不会发生在第一个.有什么不同?

makefile

3
推荐指数
1
解决办法
6243
查看次数

标签 统计

makefile ×1