From a5de90c48a1800c865285945aadd019fa07c7ad8 Mon Sep 17 00:00:00 2001 From: aqua Date: Sun, 5 Feb 2023 10:16:20 +0200 Subject: Split Makefile - Makefile: configure, doc and test targets - Makefile.all: info, build and run targets - rules.mk: add base test targets --- i686/toolchain.mk | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'i686') diff --git a/i686/toolchain.mk b/i686/toolchain.mk index ae2fb35..e97443f 100644 --- a/i686/toolchain.mk +++ b/i686/toolchain.mk @@ -3,18 +3,34 @@ 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++ +CCID := $(shell ${CC} --version | head -n1) CFLAGS := -Wall -Wextra -Wpedantic -Wshadow -Wconversion -fanalyzer -ffreestanding -std=gnu11 \ - -mgeneral-regs-only -CFLAGS += $(shell echo ${CONFIG_CFLAGS}) + -mgeneral-regs-only \ + $(shell echo ${CONFIG_CFLAGS}) + +CXX := i686-elf-g++ +CXXID := $(shell ${CXX} --version | head -n1) 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}) + -mgeneral-regs-only -fno-use-cxa-atexit -fno-threadsafe-statics -fno-exceptions -fno-rtti \ + $(shell echo ${CONFIG_CXXFLAGS}) + LD := i686-elf-ld -LDFLAGS := -static -nostdlib -LDFLAGS += $(shell echo ${CONFIG_LDFLAGS}) +LDID := $(shell ${LD} --version | head -n1) +LDFLAGS := -static -nostdlib \ + $(shell echo ${CONFIG_LDFLAGS}) + AR := i686-elf-ar ARFLAGS := -crus + STRIP := i686-elf-strip +# define compiler and flags for test targets +TEST_CXX := g++ +TEST_CXXFLAGS := -Wall -Wextra -Wpedantic -Werror=shadow -Werror=conversion -g -Og \ + $(shell pkg-config --cflags --libs gtest gtest_main gmock) + +# emulator name and flags +QEMU := qemu-system-i386 -accel kvm -machine pc + -- cgit v1.2.1