Ubuntu下makefile的使用工程示例

 新建工程文件

新建一个工程文件夹,新建各个库工程文件和主工程文件,如下图所示:

 其中myadd、mysub、mymul、mydiv是库工程,mycalc是主工程,dll是动态库文件夹,lib是静态库文件夹,include是头文件文件夹。每个工程文件中都有makefile文件可以直接编译生成库文件,其中myadd/mysub编译生成静态库文件,mymul/mydiv编译生成动态库文件,mycalc调用库文件编译生成可执行文件。

makefile文件

一个工程中的源文件有很多,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个shell脚本一样,也可以执行操作系统的命令makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。

生成静态库的makefile

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu中新建一个Makefile文件可以通过以下步骤进行操作: 1. 打开终端,进入你想要创建Makefile文件的目录。 2. 使用文本编辑器(如vi、nano等)创建一个新的文件,文件名为"Makefile"(注意大小写)。 3. 在Makefile文件中,你可以按照自己的需求定义规则和命令来编译和构建你的项目。 4. 保存并关闭文件。 以下是一个简单的Makefile文件的示例: ``` # 定义变量 CC = gcc CFLAGS = -Wall -g # 定义目标和依赖关系 target: main.o utils.o $(CC) $(CFLAGS) -o target main.o utils.o main.o: main.c $(CC) $(CFLAGS) -c main.c utils.o: utils.c $(CC) $(CFLAGS) -c utils.c # 清理生成的文件 clean: rm -f target *.o ``` 在这个示例中,我们定义了一个目标"target",它依赖于"main.o"和"utils.o"两个文件。我们使用变量"CC"和"CFLAGS"来指定编译器和编译选项。然后,我们定义了编译每个源文件的规则,并使用这些规则来构建目标。最后,我们定义了一个"clean"规则,用于清理生成的文件。 请注意,Makefile文件的语法是严格的,需要使用Tab键来缩进命令。保存Makefile文件后,你可以在终端中使用"make"命令来执行Makefile文件中定义的规则。例如,使用"make target"命令将编译并构建目标文件。 希望这个示例能帮助你在Ubuntu中创建Makefile文件。如果你有任何其他问题,请随时提问。 #### 引用[.reference_title] - *1* *3* [Ubuntu下学习Makefile](https://blog.csdn.net/Security_/article/details/130008199)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Ubuntumakefile使用工程示例](https://blog.csdn.net/m0_38072758/article/details/125536922)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值