Makefile的简单语法

Makefile的基本语法:


target: 依赖(文件或者target)
命令

命令必须在target后另起一行,并用Tab缩进。

例子:
编译单个文件main.o


main.o: main.cpp
g++ -c -Wall main.cpp

为了使Makefile可读性和易用性增加,可以在Makefile中定义变量,例如我定义的


PROJECT_NAME=AlgorithmLearning
CC=g++
CFLAGS=-c -Wall

这样,target声明就可以使用如下:


main.o: main.cpp
$(CC) $(CFLAGS) main.cpp

以上是编译单个文件的target声明,编译多个文件,可以使用:

““
build: (编译文件1target) (编译文件2target)…
@echo “编译完成”

““
这样会声称多个文件的.o文件以及一个可执行的二进制文件,在此我又创建了一个target run来执行这个可执行文件:


run:
@echo "正在执行$(PROJECT_NAME)"
@./$(PROJECT_NAME)""

在Makefile中,我还创建了一些功能target:
build:编译工程
run:运行可执行文件
clean:清除编译生成的.o和可执行二进制文件
clean_o_file:清除.o文件
具体代码可在github查看

这里所写的Makefile只是简单的非动态的。

你可能感兴趣的:(C++个人学习)