summaryrefslogtreecommitdiffhomepage
path: root/dev/boot/amd64-desktop.make
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-23 21:06:27 -0500
committerGitHub <noreply@github.com>2025-11-23 21:06:27 -0500
commit23040fad647634c08697451fc22ee2ca999629c8 (patch)
tree72888f88c7728c82f3f6df1f4f70591de15eab36 /dev/boot/amd64-desktop.make
parente5cc7351f0577b54c528fb827a7c7e6306c3e843 (diff)
parent83d870e58457a1d335a1d9b9966a6a1887cc297b (diff)
Merge pull request #81 from nekernel-org/dev
feat! breaking changes on kernel sources.
Diffstat (limited to 'dev/boot/amd64-desktop.make')
-rw-r--r--dev/boot/amd64-desktop.make159
1 files changed, 0 insertions, 159 deletions
diff --git a/dev/boot/amd64-desktop.make b/dev/boot/amd64-desktop.make
deleted file mode 100644
index 2ddc4659..00000000
--- a/dev/boot/amd64-desktop.make
+++ /dev/null
@@ -1,159 +0,0 @@
-##################################################
-# (c) Amlal El Mahrouss, licensed under the Apache 2.0 license.
-# This is the bootloader makefile.
-##################################################
-
-CC_GNU=x86_64-w64-mingw32-g++
-LD_GNU=x86_64-w64-mingw32-ld
-
-WINDRES=x86_64-w64-mingw32-windres
-
-ADD_FILE=touch
-COPY=cp
-HTTP_GET=wget
-
-# Select this for Windows.
-ifneq ($(findstring CYGWIN_NT-10.0,$(shell uname)), )
-EMU=qemu-system-x86_64w.exe
-else
-# this for NT distributions
-EMU=qemu-system-x86_64
-endif
-
-ifeq ($(NEOS_MODEL), )
-NE_MODEL=-DkMachineModel="\"Kernel\""
-endif
-
-BIOS=OVMF.fd
-IMG=epm-master-1.img
-IMG_2=epm-master-2.img
-
-BOOT=./src/nekernel-esp.img
-
-DISK_DRV =
-
-ifneq ($(ATA_PIO_SUPPORT), )
-DISK_DRV = -D__ATA_PIO__
-endif
-
-ifneq ($(ATA_DMA_SUPPORT), )
-DISK_DRV = -D__ATA_DMA__
-endif
-
-ifneq ($(AHCI_SUPPORT), )
-DISK_DRV = -D__AHCI__
-endif
-
-ifneq ($(DEBUG_SUPPORT), )
-DEBUG_MACRO = -D__DEBUG__
-endif
-
-ifeq ($(shell uname), Darwin)
-EMU_FLAGS=-M q35 -smp 4 -m 8G \
- -bios $(BIOS) -cdrom $(BOOT) -boot d
-endif
-
-ifneq ($(shell uname), Darwin)
-EMU_FLAGS= -smp 4 -m 8G \
- -bios $(BIOS) -M q35 -cdrom $(BOOT) -boot d -accel kvm
-endif
-
-LD_FLAGS=-e BootloaderMain --subsystem=10
-
-STANDALONE_MACRO=-D__BOOTZ_STANDALONE__
-OBJ=obj/*.o
-
-REM=rm
-REM_FLAG=-f
-
-FLAG_ASM=-f win64
-FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -Wall -Wpedantic -Wextra -mno-red-zone -D__NEKERNEL__ -D__BOOTZ__ -DBOOTZ_VEPM_SUPPORT \
- -DEFI_FUNCTION_WRAPPER -I./ -I../kernel $(DISK_DRV) -I../ -c -nostdlib -fno-rtti -fno-exceptions \
- -std=c++20 -DBOOTZ_GPT_SUPPORT -D__HAVE_NE_APIS__ -DZBA_USE_FB -D__NE_AMD64__ -D__NE__ -DNE_AUTO_FORMAT -Wl,--disable-reloc-section
-
-BOOTLOADER=ne_bootz
-KERNEL=ne_kernel
-SYSCHK=chk.efi
-BOOTNET=net.efi
-SCIKIT=libSystem.dll
-DDK=libDDK.dll
-
-.PHONY: invalid-recipe
-invalid-recipe:
- @echo "=== ERROR ==="
- @echo "=> Use make compile-<arch> instead."
-
-.PHONY: all
-all: compile-amd64
- mkdir -p src/root/EFI/BOOT
- $(LD_GNU) $(OBJ) $(LD_FLAGS) -o src/$(BOOTLOADER)
- $(COPY) src/$(BOOTLOADER) src/root/EFI/BOOT/BOOTX64.EFI
- $(COPY) src/$(BOOTLOADER) src/root/EFI/BOOT/BOOTZ.EFI
- $(COPY) ../kernel/$(KERNEL) src/root/$(KERNEL)
- $(COPY) ./modules/SysChk/$(SYSCHK) src/root/$(SYSCHK)
- $(COPY) ./modules/BootNet/$(BOOTNET) src/root/$(BOOTNET)
- $(COPY) ../libSystem/$(SCIKIT) src/root/$(SCIKIT)
- $(COPY) src/$(BOOTLOADER) src/root/$(BOOTLOADER)
- $(COPY) ../libDDK/$(DDK) src/root/$(DDK)
-
-.PHONY: disk
-disk:
- dd if=/dev/zero of=$(BOOT) bs=7M count=100
- mformat -i $(BOOT) -F -v "ESP"
-
-
-ifneq ($(DEBUG_SUPPORT), )
-DEBUG = -D__DEBUG__
-endif
-
-.PHONY: compile-amd64
-compile-amd64:
- $(WINDRES) src/boot_rsrc.rsrc -O coff -o boot_rsrc.o
- $(CC_GNU) $(NE_MODEL) $(STANDALONE_MACRO) $(FLAG_GNU) $(DEBUG) \
- $(wildcard src/HEL/AMD64/*.cc) \
- $(wildcard src/HEL/AMD64/*.S) \
- $(wildcard src/*.cc)
- mv *.o obj/
-
-.PHONY: run-efi-amd64-ahci
-run-efi-amd64-ahci:
- $(EMU) $(EMU_FLAGS) -monitor stdio -hda $(IMG) -s -boot menu=on
-
-.PHONY: run-efi-amd64-ata-pio
-run-efi-amd64-ata-pio:
- $(EMU) $(EMU_FLAGS) -device piix3-ide,id=ide -drive id=disk,file=$(IMG),format=raw,if=none -device ide-hd,drive=disk,bus=ide.0 -s -d int -boot menu=on
-
-.PHONY: run-efi-amd64-ata-dma
-run-efi-amd64-ata-dma:
- $(EMU) $(EMU_FLAGS) -device piix4-ide,id=ide -drive id=disk,file=$(IMG),format=raw,if=none -device ide-hd,drive=disk,bus=ide.0 -s -boot menu=on
-
-.PHONY: run-efi-amd64-ata
-run-efi-amd64-ata: run-efi-amd64-ata-pio
-
-# img_2 is the rescue disk. img is the bootable disk, as provided by the NeKernel specs.
-.PHONY: epm-img
-epm-img:
- qemu-img create -f raw $(IMG) 2G
-
-.PHONY: efi
-efi:
- $(HTTP_GET) https://retrage.github.io/edk2-nightly/bin/DEBUGX64_OVMF.fd -O OVMF.fd
-
-BINS=*.bin
-EXECUTABLES=ne_bootz ne_kernel OVMF.fd
-
-TARGETS=$(REM_FLAG) $(OBJ) $(BIN) $(IMG) $(IMG_2) $(EXECUTABLES)
-
-.PHONY: clean
-clean:
- $(REM) $(TARGETS)
-
-.PHONY: help
-help:
- @echo "=== HELP ==="
- @echo "epm-img: Format a disk using the Explicit Partition Map."
- @echo "gpt-img: Format a disk using the Explicit Partition Map."
- @echo "disk: Format a FAT32 ESP disk."
- @echo "clean: remove bootloader and files."
- @echo "bootloader-amd64: Build bootloader. (PC AMD64)"
- @echo "run-efi-amd64-<ahci, ata>: Run bootloader. (PC AMD64)"