feat: add release build option
This commit is contained in:
+54
-1
@@ -227,6 +227,59 @@ ifeq ($(ARCH),loongarch64)
|
|||||||
endif
|
endif
|
||||||
rm -rf iso_root
|
rm -rf iso_root
|
||||||
|
|
||||||
|
.PHONY: release
|
||||||
|
release: limine/limine kernel ramdisk
|
||||||
|
rm -rf iso_root .release-tmp
|
||||||
|
mkdir -p iso_root/boot
|
||||||
|
cp kernel/bin-$(ARCH)/kernel iso_root/boot/
|
||||||
|
strip iso_root/boot/kernel
|
||||||
|
cp -r programs/bin .release-tmp
|
||||||
|
find .release-tmp -name '*.elf' -exec strip {} +
|
||||||
|
./scripts/mkramdisk.sh .release-tmp iso_root/boot/ramdisk.tar
|
||||||
|
rm -rf .release-tmp
|
||||||
|
mkdir -p iso_root/boot/limine
|
||||||
|
cp limine.conf iso_root/boot/limine/
|
||||||
|
mkdir -p iso_root/EFI/BOOT
|
||||||
|
ifeq ($(ARCH),x86_64)
|
||||||
|
cp limine/limine-bios.sys limine/limine-bios-cd.bin limine/limine-uefi-cd.bin iso_root/boot/limine/
|
||||||
|
cp limine/BOOTX64.EFI iso_root/EFI/BOOT/
|
||||||
|
cp limine/BOOTIA32.EFI iso_root/EFI/BOOT/
|
||||||
|
xorriso -as mkisofs -R -r -J -b boot/limine/limine-bios-cd.bin \
|
||||||
|
-no-emul-boot -boot-load-size 4 -boot-info-table -hfsplus \
|
||||||
|
-apm-block-size 2048 --efi-boot boot/limine/limine-uefi-cd.bin \
|
||||||
|
-efi-boot-part --efi-boot-image --protective-msdos-label \
|
||||||
|
iso_root -o $(IMAGE_NAME).iso
|
||||||
|
./limine/limine bios-install $(IMAGE_NAME).iso
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),aarch64)
|
||||||
|
cp limine/limine-uefi-cd.bin iso_root/boot/limine/
|
||||||
|
cp limine/BOOTAA64.EFI iso_root/EFI/BOOT/
|
||||||
|
xorriso -as mkisofs -R -r -J \
|
||||||
|
-hfsplus -apm-block-size 2048 \
|
||||||
|
--efi-boot boot/limine/limine-uefi-cd.bin \
|
||||||
|
-efi-boot-part --efi-boot-image --protective-msdos-label \
|
||||||
|
iso_root -o $(IMAGE_NAME).iso
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),riscv64)
|
||||||
|
cp limine/limine-uefi-cd.bin iso_root/boot/limine/
|
||||||
|
cp limine/BOOTRISCV64.EFI iso_root/EFI/BOOT/
|
||||||
|
xorriso -as mkisofs -R -r -J \
|
||||||
|
-hfsplus -apm-block-size 2048 \
|
||||||
|
--efi-boot boot/limine/limine-uefi-cd.bin \
|
||||||
|
-efi-boot-part --efi-boot-image --protective-msdos-label \
|
||||||
|
iso_root -o $(IMAGE_NAME).iso
|
||||||
|
endif
|
||||||
|
ifeq ($(ARCH),loongarch64)
|
||||||
|
cp limine/limine-uefi-cd.bin iso_root/boot/limine/
|
||||||
|
cp limine/BOOTLOONGARCH64.EFI iso_root/EFI/BOOT/
|
||||||
|
xorriso -as mkisofs -R -r -J \
|
||||||
|
-hfsplus -apm-block-size 2048 \
|
||||||
|
--efi-boot boot/limine/limine-uefi-cd.bin \
|
||||||
|
-efi-boot-part --efi-boot-image --protective-msdos-label \
|
||||||
|
iso_root -o $(IMAGE_NAME).iso
|
||||||
|
endif
|
||||||
|
rm -rf iso_root
|
||||||
|
|
||||||
$(IMAGE_NAME).hdd: limine/limine kernel ramdisk
|
$(IMAGE_NAME).hdd: limine/limine kernel ramdisk
|
||||||
rm -f $(IMAGE_NAME).hdd
|
rm -f $(IMAGE_NAME).hdd
|
||||||
dd if=/dev/zero bs=1M count=0 seek=64 of=$(IMAGE_NAME).hdd
|
dd if=/dev/zero bs=1M count=0 seek=64 of=$(IMAGE_NAME).hdd
|
||||||
@@ -258,7 +311,7 @@ endif
|
|||||||
clean:
|
clean:
|
||||||
$(MAKE) -C kernel clean
|
$(MAKE) -C kernel clean
|
||||||
# $(MAKE) -C programs clean
|
# $(MAKE) -C programs clean
|
||||||
rm -rf iso_root $(IMAGE_NAME).iso $(IMAGE_NAME).hdd ramdisk.tar
|
rm -rf iso_root .release-tmp $(IMAGE_NAME).iso $(IMAGE_NAME).hdd ramdisk.tar
|
||||||
|
|
||||||
.PHONY: distclean
|
.PHONY: distclean
|
||||||
distclean:
|
distclean:
|
||||||
|
|||||||
BIN
Binary file not shown.
Reference in New Issue
Block a user