CXX := x86_64-elf-g++
CXXFLAGS ?= -O2
-CXXFLAGS := $(CXXFLAGS) -Wall -Wextra -Werror \
+CXXFLAGS := $(CXXFLAGS) -Wall -Wextra -Werror -std=c++20 \
-ffreestanding -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -mno-sse2 -fno-exceptions -fno-rtti
LDFLAGS ?= -O2
-LDFLAGS := $(LDFLAGS) -Wall -Wextra -Werror \
+LDFLAGS := $(LDFLAGS) -Wall -Wextra -Werror -std=c++20 \
-ffreestanding -T linker.ld -z max-page-size=0x1000
LDLIBS := $(LDLIBS) -nostdlib -lgcc
build: $(OUT_DIR)amycros.iso
qemu: build
- qemu-system-x86_64 -cdrom $(OUT_DIR)amycros.iso -monitor stdio $(QEMUFLAGS)
+ qemu-system-x86_64 -cdrom $(OUT_DIR)amycros.iso -monitor stdio -cpu qemu64,pdpe1gb $(QEMUFLAGS)
$(OUT_DIR)amycros.iso: $(OUT_DIR)kernel.elf64 grub.cfg
mkdir -p isodir/boot/grub