在Linux系统中,Makefile是一个非常重要的工具,它可以帮助我们自动化编译和链接程序,Makefile文件通常包含了一系列的规则,用于描述如何从源代码文件生成可执行文件或者库文件,下面我们来详细介绍如何在Linux系统中新建一个Makefile文件。
创建Makefile文件
1、打开终端,进入到你的项目目录下。
2、在项目目录下,输入以下命令创建一个新的Makefile文件:
touch Makefile
3、使用文本编辑器打开刚刚创建的Makefile文件,例如使用vim编辑器:
vim Makefile
编写Makefile文件内容
1、在Makefile文件中,首先定义一些基本变量,例如项目的名称、编译器等:
定义项目名称 PROJECT_NAME = my_project 定义编译器 CC = gcc CFLAGS = -Wall -g
2、编写规则,规则通常包括目标文件(通常是可执行文件或者库文件)、依赖文件以及编译选项。
目标文件 TARGET = $(PROJECT_NAME).out 源文件列表 SRCS = main.c foo.c bar.c 静态库文件 LIBS = libfoo.a libbar.a 对象文件后缀名 OBJS = $(SRCS:.c=.o) 可执行文件后缀名 EXE = $(PROJECT_NAME).out 默认目标 all: $(TARGET) $(EXE) 链接目标文件,生成可执行文件或库文件 $(TARGET): $(OBJS) $(LIBS) $(CC) $(CFLAGS) -o $@ $^ $(LIBS) 生成对象文件 %.o: %.c $(OBJS) $(CC) $(CFLAGS) -c $< -o $@ 清除生成的对象文件和可执行文件 clean: rm -f $(OBJS) $(EXE) $(TARGET)
保存并退出文本编辑器,在vim编辑器中,可以按下Esc
,然后输入:wq
,最后按回车键保存并退出,如果你使用的是其他文本编辑器,请参考相应的文档进行操作。
使用Makefile编译项目
1、在终端中,进入到你的项目目录下。
2、在项目目录下,输入以下命令开始编译项目:
make clean all
这个命令会先清除之前生成的对象文件和可执行文件,然后重新编译整个项目,如果一切顺利,你将在当前目录下看到生成的可执行文件和库文件。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/257702.html