refactor: restructure the user space stuff.
[lunaix-os.git] / lunaix-os / makeinc / toolchain.mkinc
diff --git a/lunaix-os/makeinc/toolchain.mkinc b/lunaix-os/makeinc/toolchain.mkinc
new file mode 100644 (file)
index 0000000..42fae9f
--- /dev/null
@@ -0,0 +1,29 @@
+CC := i686-elf-gcc
+AS := i686-elf-as
+AR := i686-elf-ar
+
+
+ARCH_OPT := -D__ARCH_IA32
+O := -O2
+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
+
+MKFLAGS := --no-print-directory
\ No newline at end of file