makefile 常用语法

使用makefile语法编译生成可执行文件

假设我们在linux环境下有如下几个c文件


我们先创建一个.mk文件


makefile文件编译代码多种多样,我们贴出几种方式代码来简化过程,然后编写如下代码

myapp:main.o plus.o minus.o multi.o divi.o
        gcc main.o plus.o minus.o divi.o -o myapp
main.o:main.c
        gcc -c main.c
plus.o:plus.c
        gcc -c plus.c
minus.o:minus.c
        gcc -c minus.c
multi.o:multi.c
        gcc -c multi.c
divi.o:divi.c
        gcc -c divi.c
objects=main.o plus.o minus.o multi.o divi.o
myapp:$(objects)
        gcc $(objects) -o myapp
#通配符
%.o:%.c
        gcc -c $^ -o $@
#找到所有的.c文件 并且放到变量里
#wildcard 列出当前目录下所有符合条件的文件名
sources=$(wildcard *.c)
#patsubst 将.c替换为.o
objects=$(patsubst %.c,%.o,$(sources))
myapp:$(objects)
        gcc $^ -o $@
%.o:%.c
        gcc -c $^ -o $@

保存文件并退出,然后在执行命令 make




此时就生成了可执行文件myapp,最后执行 ./myapp



这样我们的可执行文件就生成了
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android游戏开发实践(1)之NDK与JNI开发02 承接上篇Android游戏开发实践(1)之NDK与JNI...
    AlphaGL阅读 3,812评论 0 24
  • 最近工作编译程序一直在用别人写的Makefile,但是没有系统的学习过,趁着放假学一波 0x00 Makefile...
    MachinePlay阅读 1,245评论 0 0
  • 首先你必须登录以下网址进行注册 Svn ⬇️⬇️⬇️⬇️⬇️http://code.taobao.org/ 创建一...
    你瞅誰阅读 801评论 1 4
  • 今年宅家品茶的辰光不多,冷落了心爱的西施壶。 年末了,摆开了小木桌阳台上呡几口大红袍,沏茶倒茶难得...
    紫魅青衣阅读 700评论 1 2
  • 01 我们纽卡华人有个妈妈群,里面经常聊一些育儿加八卦。进群的妈妈多了,是非也就多了。 里面有一个妈妈,应该40多...
    Crystal_双城记阅读 688评论 0 2