30天自制操作系统第二天笔记 Makefile文件

Makefile的作用就是将我们之前所需的make.bat,run.bat,install.bat这些批处理文件整合到一起写入到该文件中,我们直接用Makefile就可以取代这些文件了。
Makefile文件写法非常简单,首先生成一个不带扩展名的Makefile,然后用文本编辑器写入一下内容:




default :
    ../z_tools/make.exe img

# 文件生成方法


ipl.bin : ipl.nas Makefile
    ../z_tools/nask.exe ipl.nas ipl.bin ipl.lst

helloos.img : ipl.bin Makefile
    ../z_tools/edimg.exe   imgin:../z_tools/fdimg0at.tek \
        wbinimg src:ipl.bin len:512 from:0 to:0   imgout:helloos.img

# コマンド

asm :
    ../z_tools/make.exe -r ipl.bin

img :
    ../z_tools/make.exe -r helloos.img

run :
    ../z_tools/make.exe img
    copy helloos.img ..\z_tools\qemu\fdimage0.bin
    ../z_tools/make.exe -C ../z_tools/qemu

install :
    ../z_tools/make.exe img
    ../z_tools/imgtol.com w a: helloos.img

clean :
    -del ipl.bin
    -del ipl.lst

src_only :
    ../z_tools/make.exe clean
    -del helloos.img

井号表示注释
helloos.img : ipl.bin Makefile 表示如果要生成heloos.img文件则需要先检查一下ipl.bin和Makefile这两个文件是否准备好了。如果都准备好了就自动执行下一行。
run :这一段表示可以用这一行代码替换run.bat。我们在!cons中直接用make run命令就可以运行qemu。
clean :这一段表示删除 ipl.bin 和ipl.lst文件
src_only :这一段表示删除源文件以外的所有其他文件。

Makefile的运行需要make.exe,这是gnu项目组的人开发的。