30 lines
530 B
Makefile
30 lines
530 B
Makefile
|
|
HOS = hos
|
|
MKISOFS = genisoimage
|
|
ISO = $(HOS).iso
|
|
QEMU = qemu-system-x86_64
|
|
|
|
.PHONY: kernel clean qemu iso
|
|
|
|
# default target: build the kernel and ISO image
|
|
all: kernel iso
|
|
|
|
# build the kernel
|
|
kernel:
|
|
make -C kernel
|
|
|
|
# build the ISO image
|
|
iso: $(ISO)
|
|
|
|
$(ISO): kernel
|
|
cp kernel/$(HOS) iso/boot
|
|
$(MKISOFS) -R -b boot/grub/stage2_eltorito -no-emul-boot \
|
|
-boot-load-size 4 -boot-info-table -o $(ISO) iso
|
|
|
|
clean:
|
|
make -C kernel clean
|
|
-rm -f $(ISO) iso/boot/$(HOS)
|
|
|
|
qemu: $(ISO)
|
|
$(QEMU) -cdrom $(ISO) -boot d -m 384 -localtime
|