9496c5c15c1bd17d8f3fe36a210dad3ebadb19fc
[lunaix-os.git] / lunaix-os / makeinc / toolchain.mkinc
1 CC := i686-elf-gcc
2 AS := i686-elf-as
3 AR := i686-elf-ar
4
5
6 ARCH_OPT := -D__ARCH_IA32
7 O := -O2
8 W := -Wall -Wextra -Wno-unknown-pragmas \
9                 -Wno-unused-function \
10                 -Wno-unused-variable\
11                 -Wno-unused-but-set-variable \
12                 -Wno-unused-parameter \
13                 -Wno-discarded-qualifiers\
14                 -Werror=incompatible-pointer-types
15
16 OFLAGS := -fno-gcse\
17                   -fno-gcse-lm\
18                   -fno-cse-follow-jumps\
19                   -fno-cse-skip-blocks\
20                   -fno-optimize-strlen\
21                   -fno-inline-functions-called-once \
22                   -fno-inline-functions \
23                   -fno-inline-small-functions \
24                   -fno-indirect-inlining
25
26 CFLAGS := -std=gnu99 -ffreestanding $(OFLAGS) $(W) $(ARCH_OPT)
27
28 ifeq ($(BUILD_MODE),debug)
29         O = -Og
30         CFLAGS += -g
31 endif
32
33 CFLAGS += $(O)
34
35 LDFLAGS := -ffreestanding $(O) -nostdlib -lgcc
36
37 MKFLAGS := --no-print-directory