-CC := i686-elf-gcc
-AS := i686-elf-as
-AR := i686-elf-ar
+CC := $(CX_PREFIX)gcc
+CC := $(CX_PREFIX)gcc
+AS := $(CX_PREFIX)as
+AR := $(CX_PREFIX)ar
+LBUILD ?= $(shell realpath ./scripts/build-tools/luna_build.py)
-
-ARCH_OPT := -D__ARCH_IA32
O := -O2
-W := -Wall -Wextra -Wno-unknown-pragmas \
+W := -Wall -Wextra -Werror \
+ -Wno-unknown-pragmas \
-Wno-unused-function \
-Wno-unused-variable\
-Wno-unused-but-set-variable \
-fno-cse-skip-blocks\
-fno-optimize-strlen\
-fno-inline-functions-called-once \
- -fno-inline-functions \
-fno-inline-small-functions \
- -fno-indirect-inlining
+ -fno-indirect-inlining\
+ -fno-omit-frame-pointer
+
+CFLAGS := -std=gnu99 $(OFLAGS) $(W)
+
+ifeq ($(MODE),debug)
+ O = -Og
+ CFLAGS += -g
+endif
+
+CFLAGS += $(O)
-CFLAGS := -std=gnu99 -ffreestanding $(O) $(OFLAGS) $(W) $(ARCH_OPT)
-LDFLAGS := -ffreestanding $(O) -nostdlib -lgcc
+LDFLAGS := $(O)
MKFLAGS := --no-print-directory
\ No newline at end of file