diff options
Diffstat (limited to 'i686/toolchain.mk')
-rw-r--r-- | i686/toolchain.mk | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/i686/toolchain.mk b/i686/toolchain.mk index 93c5f6d..791966b 100644 --- a/i686/toolchain.mk +++ b/i686/toolchain.mk @@ -2,34 +2,38 @@ ARCH=i686 # define compiler, linker, archiver and strip and their flags # FIXME: cpp threadsafe statics -AS := i686-elf-as +${ARCH}_AS := i686-elf-as -CC := i686-elf-gcc -CCID := $(shell ${CC} --version | head -n1) -CFLAGS := -Wall -Wextra -Wpedantic -Werror=shadow -Wconversion -fanalyzer -ffreestanding -std=gnu11 \ - -mgeneral-regs-only \ - $(shell echo ${CONFIG_CFLAGS}) +${ARCH}_CC := i686-elf-gcc +${ARCH}_CCID := $(shell ${${ARCH}_CC} --version | head -n1) +${ARCH}_CFLAGS := -Wall -Wextra -Wpedantic -Werror=shadow -Wconversion -fanalyzer -ffreestanding -std=gnu11 \ + -mgeneral-regs-only \ + $(shell echo ${CONFIG_CFLAGS}) -CXX := i686-elf-g++ -CXXID := $(shell ${CXX} --version | head -n1) -CXXFLAGS := -Wall -Wextra -Wpedantic -Werror=shadow -Wconversion -ffreestanding -std=c++17 \ - -mgeneral-regs-only -fno-use-cxa-atexit -fno-threadsafe-statics -fno-exceptions -fno-rtti \ - $(shell echo ${CONFIG_CXXFLAGS}) +${ARCH}_CXX := i686-elf-g++ +${ARCH}_CXXID := $(shell ${${ARCH}_CXX} --version | head -n1) +${ARCH}_CXXFLAGS := -Wall -Wextra -Wpedantic -Werror=shadow -Wconversion -ffreestanding -std=c++17 \ + -mgeneral-regs-only -fno-use-cxa-atexit -fno-threadsafe-statics -fno-exceptions -fno-rtti \ + $(shell echo ${CONFIG_CXXFLAGS}) -LD := i686-elf-ld -LDID := $(shell ${LD} --version | head -n1) -LDFLAGS := -static -nostdlib \ - $(shell echo ${CONFIG_LDFLAGS}) +${ARCH}_LD := i686-elf-ld +${ARCH}_LDID := $(shell ${${ARCH}_LD} --version | head -n1) +${ARCH}_LDFLAGS := -static -nostdlib \ + $(shell echo ${CONFIG_LDFLAGS}) -AR := i686-elf-ar -ARFLAGS := -crus +${ARCH}_AR := i686-elf-ar +${ARCH}_ARFLAGS := -crus -STRIP := i686-elf-strip +${ARCH}_STRIP := i686-elf-strip # define compiler and flags for test targets -TEST_CXX := g++ -TEST_CXXFLAGS := -Wall -Wextra -Wpedantic -Werror=shadow -Wconversion -g -Og \ - $(shell pkg-config --cflags --libs gtest gtest_main gmock) +HOST_CC := gcc +HOST_CFLAGS := -Wall -Wextra -Wpedantic -Werror=shadow -Wconversion \ + ${CFLAGS} +HOST_CXX := g++ +HOST_CXXFLAGS := -Wall -Wextra -Wpedantic -Werror=shadow -Wconversion -g -Og \ + $(shell pkg-config --cflags --libs gtest gtest_main gmock) \ + ${CXXFLAGS} # emulator name and flags QEMU := qemu-system-i386 -accel kvm -machine pc |