Makefile语法

make通过Makefile来组织软件项目的编译

基本语法

Makefile的基本语法如下:

复制代码
目标:依赖项
	编译命令

比如,如下一个示例

复制代码
test: chacha20.cpp test.cpp
	g++ test.cpp chacha20.cpp -o test -lsodium

表示生成目标文件test,依赖项为chacha20.cpp和test.cpp文件,执行命令为

g++ test.cpp chacha20.cpp -o test -lsodium

编译生成test可执行文件

源代码目录包含chacha20.cpp, test.cpp文件和Makefile文件

在目录下执行

$ make

系统会自动执行命令

g++ test.cpp chacha20.cpp -o test -lsodium

生成可执行文件test

变量赋值

可以在Makefile中使用变量,如下

复制代码
CC = g++
SRCS = test.cpp chacha20.cpp
FLAGS = -lsodium
OUTPUT_FILE = test

test: $(SRCS)
	$(CC) $(SRCS) -o $(OUTPUT_FILE) $(FLAGS)

clean:
	rm test

通过变量来指定编译的工具(g++),源代码文件(SRCS),编译选项(FLAGS),输出文件(OUTPUT_FILE)等,然后在执行命令中可以用这些参数来替代相应位置。

增加了clean选项,表示清理编译输出,在这里就是删除生成的test文件,当执行

$ make clean

之后,程序会清除输出文件

相关推荐
yuanyuan2o21 天前
从最小项目开始的 CMake 教程
c语言·开发语言·arm开发·c++·makefile·make·cmake
李日灐12 天前
< 6 > Linux 自动化构建工具:makefile 详解 + 进度条实战小项目
linux·运维·服务器·后端·自动化·进度条·makefile
送外卖的CV工程师25 天前
STM32+Makefile编译+OpenOCD 烧录调试
stm32·单片机·嵌入式硬件·makefile·调试·烧录·openocd
zhang-ge25 天前
Makefile调试技巧:打印信息与变量调试
makefile
送外卖的CV工程师1 个月前
STM32 CubeMX Makefile 工程编译 入门指南
stm32·单片机·嵌入式硬件·学习·makefile·stm32cubemx
H Journey1 个月前
C++之 CMake、CMakeLists.txt、Makefile
开发语言·c++·makefile·cmake
【骠姚校尉】1 个月前
Makefile核心教程(六) --- 一文吃透 Makefile 通配符
linux·makefile·通配符·核心教程
阿昭L1 个月前
Windows通用的C/C++工程CMakeLists
c语言·c++·windows·makefile·cmake
数字IC那些事儿1 个月前
CMakeLists.txt 语法解释
makefile·system c