c++ - 如何为 makefile 创建目标

标签 c++ makefile

 Hello:
   g++ Hello.cc dep.o -o Hello

 dep.o: dep.cc dep.h
        g++ -c dep.cc

我正在尝试这个 makefile,但我希望目标是“make Hello”。我应该如何修改我的生成文件?当我输入“make”时它起作用了。

最佳答案

您需要递归地添加所有依赖项:

Hello: Hello.cc dep.o
        g++ -o $@ $+

dep.o: dep.cc dep.h
        g++ -c -o $@ $<

Hello.o 添加一个单独的编译阶段可能会更好,但我会坚持使用问题规定的格式。您可能还应该将 $(CXXFLAGS)$(LDFLAGS) 分别添加到编译和链接阶段,并将 g++ 替换为 $(CXX).

关于c++ - 如何为 makefile 创建目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7733691/

相关文章:

c++ - 如何重新解释特殊字符 'source code'

gfortran 编译器的 Vim 错误格式

makefile - 当我使用使用 Clang 编译的构建工具包时,QMake 添加了额外的 "-std=gnu++11",它覆盖了我的 .pro 标志添加 "-std=c++17"

c - 使用 nmake 和 microsoft 编译器构建多目录项目

c++ - 将 C++ 添加到复杂的 C 生成文件

C++模板设计问题

c++ - 单例模式与工厂模式的争议

c++ - bind<void>(ref(acc), _1) 是什么意思?

c++ - 我的通用模板应该使用 T 还是 T&&?

macos - CUDA 5.0、CMake 和 Make 在 OSX 10.8.3 上失败