blob: c6349e8074f18a16a0787edd5a407fdfb58054d5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
|