【2025-08-09】Makefile

41 阅读1分钟

直接编译

全部一起编译
g++ main.cpp factorial.cpp printhello.cpp -o main
分开编译

生成*.o文件。

g++ main.cpp -c
g++ factorial.cpp -c

链接在一起。

g++ *.o -o main

Makefile文件

文件名
Makefile
注释方式

井号

#
编译方式

如果名字不叫Makefile

make -f xxx

如果名字就叫Makefile

make
执行完make再执行make
make: `hello` is up to date

查看到各个.cpp文件的更新时间都早于hello的生成时间

版本一

生成的可执行程序是hello,hello的生成是依赖于三个cpp文件。
用g++的命令生成这个目标hello

hello: main.cpp printhello.cpp factorial.cpp
    g++ -o hello main.cpp printhello.cpp factorial.cpp

g++前边需要有tab符。

版本二

  • 定义一个变量叫CXX,指定编译器。
  • TARGET是目标
CXX = g++
TARGET = hello
OBJ = main.o printhello.o factorial.o