CC := i686-elf-gcc
AS := i686-elf-as
+AR := i686-elf-ar
+
+ARCH_OPT := -D__ARCH_IA32 -include flags.h
O := -O2
-W := -Wall -Wextra
-CFLAGS := -std=gnu99 -ffreestanding $(O) $(W)
+W := -Wall -Wextra -Wno-unknown-pragmas \
+ -Wno-unused-function \
+ -Wno-unused-variable\
+ -Wno-unused-but-set-variable \
+ -Wno-unused-parameter \
+ -Wno-discarded-qualifiers\
+ -Werror=incompatible-pointer-types
+
+OFLAGS := -fno-gcse\
+ -fno-gcse-lm\
+ -fno-cse-follow-jumps\
+ -fno-cse-skip-blocks\
+ -fno-optimize-strlen\
+ -fno-inline-functions-called-once \
+ -fno-inline-functions \
+ -fno-inline-small-functions \
+ -fno-indirect-inlining
+
+CFLAGS := -std=gnu99 -ffreestanding $(O) $(OFLAGS) $(W) $(ARCH_OPT)
LDFLAGS := -ffreestanding $(O) -nostdlib -lgcc
\ No newline at end of file