gpt4 book ai didi

makefile - makefile 符号 $@ 和 $< 是什么意思?

转载 作者:行者123 更新时间:2023-12-03 03:57:28 24 4
gpt4 key购买 nike

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 $@

$@有什么作用?和$<具体做什么?

最佳答案

$@是正在生成的目标的名称,$<第一个先决条件(通常是源文件)。您可以在 GNU Make manual 中找到所有这些特殊变量的列表。 .

例如,考虑以下声明:

all: library.cpp main.cpp

在这种情况下:

  • $@计算结果为 all
  • $<计算结果为 library.cpp
  • $^计算结果为 library.cpp main.cpp

关于makefile - makefile 符号 $@ 和 $< 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3220277/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com