aboutsummaryrefslogtreecommitdiff
path: root/i686
diff options
context:
space:
mode:
Diffstat (limited to 'i686')
-rw-r--r--i686/Makefile4
-rw-r--r--i686/toolchain.mk46
2 files changed, 27 insertions, 23 deletions
diff --git a/i686/Makefile b/i686/Makefile
index 9aa0ed1..0a19955 100644
--- a/i686/Makefile
+++ b/i686/Makefile
@@ -1,8 +1,8 @@
include ../Makefile.config
INCLUDES := -isystem../grub
-CFLAGS += ${INCLUDES}
-CXXFLAGS += ${INCLUDES}
+${ARCH}_CFLAGS += ${INCLUDES}
+${ARCH}_CXXFLAGS += ${INCLUDES}
arch.SRCS = boot.S init.s \
gdt.c lgdt.c \
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