# # Toolchain # CONFIG_CFLAGS="-g -Og" CONFIG_CXXFLAGS="-g -Og" CONFIG_LDFLAGS="" # end of Toolchain # # Target # CONFIG_ARCH_i686=y # end of Target # # Devices # CONFIG_PIC_8259=y CONFIG_UART_16550=y CONFIG_VGA_TEXT_MODE=y CONFIG_KB_PS2=y # end of Devices # toolchain.mk ARCH=i686 # define compiler, linker, archiver and strip and their flags # FIXME: cpp threadsafe statics AS := i686-elf-as CC := i686-elf-gcc CXX := i686-elf-g++ CFLAGS := -Wall -Wextra -Wpedantic -Wshadow -Wconversion -fanalyzer -ffreestanding -std=gnu11 \ -mgeneral-regs-only CFLAGS += $(shell echo ${CONFIG_CFLAGS}) CXXFLAGS := -Wall -Wextra -Wpedantic -Wshadow -Wconversion -ffreestanding -std=c++17 \ -mgeneral-regs-only -fno-use-cxa-atexit -fno-threadsafe-statics -fno-exceptions -fno-rtti CXXFLAGS += $(shell echo ${CONFIG_CXXFLAGS}) LD := i686-elf-ld LDFLAGS := -static -nostdlib LDFLAGS += $(shell echo ${CONFIG_LDFLAGS}) AR := i686-elf-ar ARFLAGS := -crus STRIP := i686-elf-strip