@@ -25,18 +25,21 @@ BOOT = $(OUT_DIR)/boot.bin
2525KERNEL_ELF = $(OUT_DIR ) /kernel.elf
2626KERNEL = $(OUT_DIR ) /kernel.bin
2727IMG = $(OUT_DIR ) /disk.img
28+ LITECORE_IMG = $(OUT_DIR ) /LiteCore.img
2829LINKER = $(SRC_DIR ) /kernel.ld
2930
3031CALC_SCRIPT = $(SRC_BOOT ) /config.inc
3132
32- .PHONY : calculate-sectors
33+ .PHONY : all run run-console run-serial clean calculate-sectors
34+ .DEFAULT_GOAL := all
35+
3336calculate-sectors : $(KERNEL )
3437 @echo " Generating $( SRC_BOOT) /config.inc (based on $( KERNEL) size)"
3538 @size=$$(wc -c < $(KERNEL ) ) ; sectors=$$(( (size + 511 ) / 512 )); \
3639 printf " KERNEL_OFFSET EQU 0x10000 ; カーネルをロードするアドレス\nSECTOR_COUNT EQU %s ; 読み込むセクタの数\nSTART_SECTOR EQU 2 ; 開始するセクタ番号\nCYLINDER_NUM EQU 0 ; シリンダ番号\nHEAD_NUM EQU 0 ; ヘッド番号\nCODE_SEGMENT EQU 0x08 ; コードセグメント\nDATA_SEGMENT EQU 0x10 ; データセメント\n" " $$ sectors" > $(SRC_BOOT ) /config.inc
3740
3841
39- all : $(OUT_DIR ) $(IMG )
42+ all : $(OUT_DIR ) $(IMG ) $( LITECORE_IMG )
4043
4144$(OUT_DIR ) :
4245 mkdir -p $(OUT_DIR )
@@ -62,22 +65,21 @@ $(OUT_DIR)/%.o: $(SRC_KERNEL)/%.asm
6265 mkdir -p $(dir $@ )
6366 $(NASM ) -f elf32 $< -o $@
6467
65- src/ext2.img :
66- @echo " Creating ext2 .img (2MB)..."
67- @python3 tools/mk_ext2_image.py src/ext2.img 2048 example/
68+ $( LITECORE_IMG ) :
69+ @echo " Creating LiteCore .img (2MB ext2 filesystem )..."
70+ @python3 tools/mk_ext2_image.py $( LITECORE_IMG ) 2048 tree
6871
69- run : $(IMG ) src/ext2.img
72+ run : $(IMG ) $( LITECORE_IMG )
7073 make all
71- $(QEMU ) $(QEMU_FLAGS ) -drive file=$(IMG ) ,format=raw,if=floppy -drive file=src/ext2.img ,format=raw,if=ide
74+ $(QEMU ) $(QEMU_FLAGS ) -drive file=$(IMG ) ,format=raw,if=floppy -drive file=$( LITECORE_IMG ) ,format=raw,if=ide
7275
73- run-console : $(IMG ) src/ext2.img
76+ run-console : $(IMG ) $( LITECORE_IMG )
7477 make all
75- $(QEMU ) $(CONSOLE ) -drive file=$(IMG ) ,format=raw,if=floppy -drive file=src/ext2.img,format=raw,if=ide
76- run-serial : $(IMG ) src/ext2.img
78+ $(QEMU ) $(CONSOLE ) -drive file=$(IMG ) ,format=raw,if=floppy -drive file=$(LITECORE_IMG ) ,format=raw,if=ide
79+
80+ run-serial : $(IMG ) $(LITECORE_IMG )
7781 make all
78- $(QEMU ) $(QEMU_SERIAL ) -drive file=$(IMG ) ,format=raw,if=floppy -drive file=src/ext2.img ,format=raw,if=ide
82+ $(QEMU ) $(QEMU_SERIAL ) -drive file=$(IMG ) ,format=raw,if=floppy -drive file=$( LITECORE_IMG ) ,format=raw,if=ide
7983
8084clean :
8185 rm -rf $(OUT_DIR )
82-
83- .PHONY : all run clean
0 commit comments