* Make the ksym table built-in with kernel image, thus remove the need
[lunaix-os.git] / lunaix-os / makeinc / toolchain.mkinc
1 CC := $(CX_PREFIX)gcc
2 CC := $(CX_PREFIX)gcc
3 AS := $(CX_PREFIX)as
4 AR := $(CX_PREFIX)ar
5
6 STRIP_OSDEP_CC := -ffreestanding -fno-pie
7 STRIP_OSDEP_LD := -nostdlib -nolibc -z noexecstack -no-pie -Wl,--build-id=none
8
9 ARCH_OPT := -m32 -D__ARCH_IA32
10 O := -O2
11 W := -Wall -Wextra -Werror \
12                 -Wno-unknown-pragmas \
13                 -Wno-unused-function \
14                 -Wno-unused-variable\
15                 -Wno-unused-but-set-variable \
16                 -Wno-unused-parameter \
17                 -Wno-discarded-qualifiers\
18                 -Werror=incompatible-pointer-types
19
20 OFLAGS := -fno-gcse\
21                   -fno-gcse-lm\
22                   -fno-cse-follow-jumps\
23                   -fno-cse-skip-blocks\
24                   -fno-optimize-strlen\
25                   -fno-inline-functions-called-once \
26                   -fno-inline-small-functions \
27                   -fno-indirect-inlining\
28                   -fno-omit-frame-pointer
29
30 CFLAGS := $(ARCH_OPT) -std=gnu99 $(OFLAGS) $(W)
31
32 ifeq ($(BUILD_MODE),debug)
33         O = -Og
34         CFLAGS += -g
35 endif
36
37 CFLAGS += $(O) $(STRIP_OSDEP_CC)
38
39 LDFLAGS := $(ARCH_OPT) $(O) $(STRIP_OSDEP_LD)
40
41 MKFLAGS := --no-print-directory