Makefile入门

Makefile是一个非常聪明的批处理文件。

一、Makefile的简单使用:

创建一个名称为Makefile的文件(不带扩展名),用Editplus编辑器写入以下内容:

#文件生成规则
ipl.bin : ipl.nas Makefile
  ../../tolset/z_tools/nask.exe ipl.nas ipl.bin ipl.lst
helloos.img : ipl.bin Makefile
  ../../tolset/z_tools/edimg.exe imgin:../../tolset/z_tools/fdimg0at.tek \
    wbinimg src:ipl.bin len:512 from:0 to:0 imgout:helloos.img

Makefile文件说明:

#井号行注释。
"ipl.bin : ipl.nas Makefile",此行是说:如果要制作文件ipl.bin,要
先检查ipl.nas和Makefile这两个文件是否存在,如果都存在,Make工具
就会自动执行下一行命令,即:
../../tolset/z_tools/nask.exe ipl.nas ipl.bin ipl.lst
也就是自动生成ipl.bin文件。

编辑一个make.bat文件,里面就一行代码:

..\..\tolset\z_tools\make.exe %1 %2 %3 %4 %5 %6 %7 %8 %9

此时调用make.bat就可以运行了。

//生成ipl.bin的命令:
make -r ipl.bin
//生成helloos.img的命令:
make -r helloos.img

//运行报错:

E:\techdoc\30dayOS\code\day02\helloos5>..\..\tolset\z_tools\make.exe -r ipl.bin
Makefile:3: *** missing separator.  Stop.

E:\techdoc\30dayOS\code\day02\helloos5>

//修复:

Editplus>>Tools>>Preferences
File>>Settings& syntax,点击Tab/Indent按钮
将Tab size设置为:4
取消对勾:Inser spaces instead of tab
顺序点击按钮:Apply,OK
将Makefile文件中的所有行前空格修改为Tab键,OK。

再次运行命令,OK!


E:\techdoc\30dayOS\code\day02\helloos5>make -r ipl.bin

E:\techdoc\30dayOS\code\day02\helloos5>..\..\tolset\z_tools\make.exe -r ipl.bin
../../tolset/z_tools/nask.exe ipl.nas ipl.bin ipl.lst

E:\techdoc\30dayOS\code\day02\helloos5>make -r helloos.img

E:\techdoc\30dayOS\code\day02\helloos5>..\..\tolset\z_tools\make.exe -r helloos.img
../../tolset/z_tools/edimg.exe imgin:../../tolset/z_tools/fdimg0at.tek \
        wbinimg src:ipl.bin len:512 from:0 to:0 imgout:helloos.img

E:\techdoc\30dayOS\code\day02\helloos5>

查看到目录下的文件已生成:

ipl.bin
helloos.img

Makefile文件编写和简单使用完成。

二、Makefile的高级用法:

删除ipl.bin和helloos.img文件后,再次运行"make -r helloos.img"命令,会先自动生成"ipl.bin"文件,再生成"helloos.img"文件,OK

E:\techdoc\30dayOS\code\day02\helloos5>make -r helloos.img

E:\techdoc\30dayOS\code\day02\helloos5>..\..\tolset\z_tools\make.exe -r helloos.img
../../tolset/z_tools/nask.exe ipl.nas ipl.bin ipl.lst
../../tolset/z_tools/edimg.exe imgin:../../tolset/z_tools/fdimg0at.tek \
        wbinimg src:ipl.bin len:512 from:0 to:0 imgout:helloos.img

E:\techdoc\30dayOS\code\day02\helloos5>

不删除ipl.bin和helloos.img文件,再次运行"make -r helloos.img"命令,会提示:“`helloos.img’ is up to date”,已是最新版本的’helloos.img’文件,不用再次运行。

E:\techdoc\30dayOS\code\day02\helloos5>make -r helloos.img

E:\techdoc\30dayOS\code\day02\helloos5>..\..\tolset\z_tools\make.exe -r helloos.img
..\..\tolset\z_tools\make.exe: `helloos.img' is up to date.

E:\techdoc\30dayOS\code\day02\helloos5>

ipl.nas新增一行显示信息"How are you!",再次运行"make -r helloos.img"命令,make重新生成了新的ipl.bin和helloos.img文件,OK

E:\techdoc\30dayOS\code\day02\helloos5>make -r helloos.img

E:\techdoc\30dayOS\code\day02\helloos5>..\..\tolset\z_tools\make.exe -r helloos.img
../../tolset/z_tools/nask.exe ipl.nas ipl.bin ipl.lst
../../tolset/z_tools/edimg.exe imgin:../../tolset/z_tools/fdimg0at.tek \
        wbinimg src:ipl.bin len:512 from:0 to:0 imgout:helloos.img

E:\techdoc\30dayOS\code\day02\helloos5>

查看文件目录:

E:\techdoc\30dayOS\code\day02\helloos5 的目录

2023-08-31  08:52    <DIR>          .
2023-08-31  08:52    <DIR>          ..
2023-08-31  08:53         1,474,560 helloos.img
2023-08-31  08:53               512 ipl.bin
2023-08-31  08:53             5,855 ipl.lst
2023-08-31  07:45             1,335 ipl.nas
2023-08-31  07:05                56 make.bat
2023-08-31  08:53               744 Makefile
               6 个文件      1,483,062 字节
               2 个目录 61,602,693,120 可用字节

E:\techdoc\30dayOS\code\day02\helloos5>

(全文完)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ycjnx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值