makefile的使用简易入门|linux

在进行程序编写时,很多不同功能的模块编译有着前后顺序,动辄改动中间一个就需要编译剩余部分,而手动一个个编译非常耗时耗力,所以makefile时一个很好的解决办法

问题起因:

在进行基于lubuntu的简单操作系统编写时,bochs命令需要master.img,而master.img的构建需要boot.bin,boot.bin则是由汇编boot.asm翻译过来二进制文件,而修改boot.asm就需要重新翻译成boot.bin,boot.bin改变之后就需要重新构建master.img,进而影响bochs的执行,所以想到了makefile

开始:

首先先摆上例子,以例子展开讲解:

在当前目录新建文件命名为makefile

bochs: master.img
    bochs
master.img: boot.bin
    [ -f master.img ] || bximage -q -hd=16 -mode=create -sectsize=512 -imgmode=flat master.img
    dd if=boot.bin of=master.img bs=512 count=1 conv=notrunc
boot.bin: boot.asm
    nasm -f bin boot.asm -o boot.bin
clean:
    rm -rf boot.bin master.img

橙色为要生成的文件,红色为生成此文件的前提,绿色是为了生成文件时会执行的语句

例如在命令行中输入make boot.bin,则会执行语句:nasm -f bin boot.asm -o boot.bin

在此次操作中,要想执行make boot.bin,当前目录中必须有boot.asm,且没有boot.bin(或者boot.asm的修改时间比已经有的boot.bin要新)则执行:boot.bin的生成语句

clean一般用于清除所有的已生成文件

如有错误,敬请指出 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值