70ef37bf9c989ad716a2719e2cb722f7fa127ea8
[lunaix-os.git] / lunaix-os / makeinc / toolchain.mkinc
1 CC := i686-elf-gcc
2 AS := i686-elf-as
3 AR := i686-elf-ar
4 PY := python
5
6
7 ARCH_OPT := -D__ARCH_IA32
8 O := -O2
9 W := -Wall -Wextra -Werror -Wno-unknown-pragmas \
10                 -Wno-unused-function \
11                 -Wno-unused-variable\
12                 -Wno-unused-but-set-variable \
13                 -Wno-unused-parameter \
14                 -Wno-discarded-qualifiers\
15                 -Werror=incompatible-pointer-types
16
17 OFLAGS := -fno-gcse\
18                   -fno-gcse-lm\
19                   -fno-cse-follow-jumps\
20                   -fno-cse-skip-blocks\
21                   -fno-optimize-strlen\
22                   -fno-inline-functions-called-once \
23                   -fno-inline-small-functions \
24                   -fno-indirect-inlining
25
26 CFLAGS := -std=gnu99 -ffreestanding -MMD $(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