diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2021-03-30 22:49:06 +0300 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2021-03-30 22:49:06 +0300 |
commit | 6eefbd0e736c3334e9b1b8141feb0430a5f247c1 (patch) | |
tree | 8866b0cc2b555016e23fabaa869ddc54036a1c0e /arch/i686 | |
parent | Move MemoryAllocator to libk (diff) | |
download | kernel.cpp-master.tar.xz |
Diffstat (limited to 'arch/i686')
-rw-r--r-- | arch/i686/toolchain.mk | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/arch/i686/toolchain.mk b/arch/i686/toolchain.mk new file mode 100644 index 0000000..c6349e8 --- /dev/null +++ b/arch/i686/toolchain.mk @@ -0,0 +1,42 @@ +# x86 toolchain +# - 32-bit X86: Pentium-Pro and above +# +# To check targets supported by llvm, see 'llc --version' +TARGET := i686-elf + +NM := llvm-nm +SED := sed + +AS := clang +AS_FLAGS := -nostdlib -Wall -Wextra + +AR := llvm-ar +AR_FLAGS := --format=gnu + +LD := ld.lld +LD_FLAGS := -nostdlib -T linker.ld + +CXX := clang++ +CXX_FLAGS := -std=c++20 -g -O3 -flto=full \ + -static -ffreestanding -fno-common -nostdinc -nostdinc++ \ + -fno-use-cxa-atexit -fno-rtti -fno-exceptions -fno-non-call-exceptions \ + -Wall -Wextra -Werror=pedantic \ + -Werror=date-time \ + -Werror=shadow-all \ + -Wold-style-cast -Wconversion \ + -Wconsumed +TEST_CXX := clang++ +TEST_CXX_FLAGS := -std=c++20 -Wall -Wextra -Werror=pedantic +CXX_INCLUDE := $(prefix)/libk $(prefix)/src $(prefix)/drivers +CXX_INCLUDE := $(addprefix -I, $(CXX_INCLUDE)) +SYSTEM_INCLUDE := $(prefix)/grub +SYSTEM_INCLUDE := $(addprefix -isystem, $(SYSTEM_INCLUDE)) +CXX_INCLUDE := $(CXX_INCLUDE) $(SYSTEM_INCLUDE) + +# +GRUB_MKRESCUE := grub-mkrescue +GRUB_FILE := grub-file +GRUB_SCRIPT := grub-script-check + +EMU := qemu-system-i386 -cdrom + |