summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2024-04-20 20:33:14 -0400
committerIan Moffett <ian@osmora.org>2024-04-20 20:33:14 -0400
commit6f0d77ec8df53bd24745c566271a6f487872bbef (patch)
tree50744266910995bef403f7ca5f017ff6dd91f0ee
parent3a126f7ee62f9e53013320ae16450a2e2b833f28 (diff)
build: Fixup .iso creation
The .iso should be created after every invocation of 'make' Signed-off-by: Ian Moffett <ian@osmora.org>
-rw-r--r--Makefile.in37
1 files 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/