From 6f0d77ec8df53bd24745c566271a6f487872bbef Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Sat, 20 Apr 2024 20:33:14 -0400 Subject: build: Fixup .iso creation The .iso should be created after every invocation of 'make' Signed-off-by: Ian Moffett --- Makefile.in | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/Makefile.in b/Makefile.in index 7cc093a..eb53811 100644 --- a/Makefile.in +++ b/Makefile.in @@ -72,7 +72,7 @@ override KERNEL_ASMOBJECTS = $(KERNEL_ASMFILES:.S=.S.o) override KERNEL_HEADER_DEPS = $(KERNEL_CFILES:.c=.d) .PHONY: all -all: base lib userland base/boot/hyra-kernel +all: base lib userland base/boot/hyra-kernel iso rm -f sys/include/machine rm -rf iso_root @@ -103,6 +103,26 @@ run: cross: bash tools/cross.sh $(ARCH) +.PHONY: iso +iso: ramfs + mkdir -p iso_root/boot/ + mkdir -p iso_root/EFI/BOOT/ + cp stand/limine/BOOTX64.EFI iso_root/EFI/BOOT/ + cp conf/limine.cfg stand/limine/limine-bios.sys \ + stand/limine/limine-bios-cd.bin stand/limine/limine-uefi-cd.bin iso_root/ + cp base/boot/* iso_root/boot/ + mv initramfs.tar iso_root/boot/ + xorriso -as mkisofs -b limine-bios-cd.bin -no-emul-boot -boot-load-size 4\ + -boot-info-table --efi-boot limine-uefi-cd.bin -efi-boot-part \ + --efi-boot-image --protective-msdos-label iso_root -o Hyra.iso > /dev/null + stand/limine/limine bios-install Hyra.iso + $(PROMPT) " ISO " $(shell pwd)/Hyra.iso + +.PHONY: ramfs +ramfs: + cd base/; tar -cvf ../initramfs.tar * --format=ustar &> /dev/null + $(PROMPT) " RAMFS " $(shell pwd)/initramfs.tar + .PHONY: clean distclean: make clean @@ -128,21 +148,6 @@ base/boot/hyra-kernel: $(KERNEL_OBJECTS) $(KERNEL_ASMOBJECTS) $(CC) -c $(KERNEL_CFLAGS) $(KERNEL_DEFINES) sys/kern/ksyms.c -o sys/kern/ksyms.o $(LD) $(KERNEL_LDFLAGS) $(KERNEL_OBJECTS) $(KERNEL_ASMOBJECTS) \ sys/kern/ksyms.o -o base/boot/hyra-kernel - cd base/; tar -cvf ../initramfs.tar * --format=ustar &> /dev/null - $(PROMPT) " RAMFS " $(shell pwd)/initramfs.tar - # === Building ISO === - mkdir -p iso_root/boot/ - mkdir -p iso_root/EFI/BOOT/ - cp stand/limine/BOOTX64.EFI iso_root/EFI/BOOT/ - cp conf/limine.cfg stand/limine/limine-bios.sys \ - stand/limine/limine-bios-cd.bin stand/limine/limine-uefi-cd.bin iso_root/ - cp base/boot/* iso_root/boot/ - mv initramfs.tar iso_root/boot/ - xorriso -as mkisofs -b limine-bios-cd.bin -no-emul-boot -boot-load-size 4\ - -boot-info-table --efi-boot limine-uefi-cd.bin -efi-boot-part \ - --efi-boot-image --protective-msdos-label iso_root -o Hyra.iso > /dev/null - stand/limine/limine bios-install Hyra.iso - $(PROMPT) " ISO " $(shell pwd)/Hyra.iso -include $(KERNEL_HEADER_DEPS) %.o: %.c sys/include/machine/ -- cgit v1.2.3