diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b2388ea
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,25 @@
+ARCH=x64
+PROFILE=Debug
+NAME=samcraft
+OUTDIR=$(ARCH)/$(PROFILE)
+BINARY=$(OUTDIR)/$(NAME)
+OBJDIR=$(NAME)/$(OUTDIR)
+
+CC=gcc
+LD=ld
+CFLAGS=-O3
+LDFLAGS=-lraylib
+
+CFILES=$(shell cd $(NAME) && find -L * -type f -name '*.c')
+OBJ=$(addprefix $(OBJDIR)/, $(CFILES:.c=.obj))
+
+$(BINARY): $(OBJ) Makefile
+ mkdir -p $(OUTDIR)
+ $(LD) $(LDFLAGS) $(OBJ) -o $@
+
+$(OBJDIR)/%.obj: $(NAME)/%.c
+ mkdir -p $(OBJDIR)
+ $(CC) $(CFLAGS) -c $< -o $@
+
+clean:
+ rm -rf $(OBJ) $(BINARY)
diff --git a/samcraft/x64/Debug/chunk.obj b/samcraft/x64/Debug/chunk.obj
deleted file mode 100644
index 8a48a65..0000000
Binary files a/samcraft/x64/Debug/chunk.obj and /dev/null differ
diff --git a/samcraft/x64/Debug/main.obj b/samcraft/x64/Debug/main.obj
deleted file mode 100644
index 7926034..0000000
Binary files a/samcraft/x64/Debug/main.obj and /dev/null differ
diff --git a/samcraft/x64/Debug/samcraft.exe.recipe b/samcraft/x64/Debug/samcraft.exe.recipe
deleted file mode 100644
index b714dcf..0000000
--- a/samcraft/x64/Debug/samcraft.exe.recipe
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- C:\Users\sam\source\repos\samcraft\x64\Debug\samcraft.exe
-
-
-
-
-
-
\ No newline at end of file
diff --git a/samcraft/x64/Debug/samcraft.ilk b/samcraft/x64/Debug/samcraft.ilk
deleted file mode 100644
index 87ac9e0..0000000
Binary files a/samcraft/x64/Debug/samcraft.ilk and /dev/null differ
diff --git a/samcraft/x64/Debug/samcraft.log b/samcraft/x64/Debug/samcraft.log
deleted file mode 100644
index ac25826..0000000
--- a/samcraft/x64/Debug/samcraft.log
+++ /dev/null
@@ -1,5 +0,0 @@
- main.c
-C:\Users\sam\source\repos\samcraft\samcraft\main.c(19,17): warning C4133: '=': incompatible types - from 'Mesh *' to 'float *'
- samcraft.vcxproj -> C:\Users\sam\source\repos\samcraft\x64\Debug\samcraft.exe
- 'pwsh.exe' is not recognized as an internal or external command,
- operable program or batch file.
diff --git a/samcraft/x64/Debug/samcraft.tlog/CL.command.1.tlog b/samcraft/x64/Debug/samcraft.tlog/CL.command.1.tlog
deleted file mode 100644
index 843cc47..0000000
Binary files a/samcraft/x64/Debug/samcraft.tlog/CL.command.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Debug/samcraft.tlog/CL.read.1.tlog b/samcraft/x64/Debug/samcraft.tlog/CL.read.1.tlog
deleted file mode 100644
index 5ba9452..0000000
Binary files a/samcraft/x64/Debug/samcraft.tlog/CL.read.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Debug/samcraft.tlog/CL.write.1.tlog b/samcraft/x64/Debug/samcraft.tlog/CL.write.1.tlog
deleted file mode 100644
index 015d1ba..0000000
Binary files a/samcraft/x64/Debug/samcraft.tlog/CL.write.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Debug/samcraft.tlog/Cl.items.tlog b/samcraft/x64/Debug/samcraft.tlog/Cl.items.tlog
deleted file mode 100644
index fa62355..0000000
--- a/samcraft/x64/Debug/samcraft.tlog/Cl.items.tlog
+++ /dev/null
@@ -1,2 +0,0 @@
-C:\Users\sam\source\repos\samcraft\samcraft\chunk.c;C:\Users\sam\source\repos\samcraft\samcraft\x64\Debug\chunk.obj
-C:\Users\sam\source\repos\samcraft\samcraft\main.c;C:\Users\sam\source\repos\samcraft\samcraft\x64\Debug\main.obj
diff --git a/samcraft/x64/Debug/samcraft.tlog/link.command.1.tlog b/samcraft/x64/Debug/samcraft.tlog/link.command.1.tlog
deleted file mode 100644
index 8c77ee8..0000000
Binary files a/samcraft/x64/Debug/samcraft.tlog/link.command.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Debug/samcraft.tlog/link.read.1.tlog b/samcraft/x64/Debug/samcraft.tlog/link.read.1.tlog
deleted file mode 100644
index 6d363f3..0000000
Binary files a/samcraft/x64/Debug/samcraft.tlog/link.read.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Debug/samcraft.tlog/link.write.1.tlog b/samcraft/x64/Debug/samcraft.tlog/link.write.1.tlog
deleted file mode 100644
index b0eedbb..0000000
Binary files a/samcraft/x64/Debug/samcraft.tlog/link.write.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Debug/samcraft.tlog/samcraft.lastbuildstate b/samcraft/x64/Debug/samcraft.tlog/samcraft.lastbuildstate
deleted file mode 100644
index 845cd36..0000000
--- a/samcraft/x64/Debug/samcraft.tlog/samcraft.lastbuildstate
+++ /dev/null
@@ -1,2 +0,0 @@
-PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.38.33130:TargetPlatformVersion=10.0.22621.0:VcpkgTriplet=x64-windows:
-Debug|x64|C:\Users\sam\source\repos\samcraft\|
diff --git a/samcraft/x64/Debug/samcraft.tlog/samcraft.write.1u.tlog b/samcraft/x64/Debug/samcraft.tlog/samcraft.write.1u.tlog
deleted file mode 100644
index 90f75b2..0000000
Binary files a/samcraft/x64/Debug/samcraft.tlog/samcraft.write.1u.tlog and /dev/null differ
diff --git a/samcraft/x64/Debug/samcraft.vcxproj.FileListAbsolute.txt b/samcraft/x64/Debug/samcraft.vcxproj.FileListAbsolute.txt
deleted file mode 100644
index d42bc4f..0000000
--- a/samcraft/x64/Debug/samcraft.vcxproj.FileListAbsolute.txt
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\sam\source\repos\samcraft\samcraft\x64\Debug\samcraft.vcxproj.CopyComplete
diff --git a/samcraft/x64/Debug/vc143.idb b/samcraft/x64/Debug/vc143.idb
deleted file mode 100644
index eb7af65..0000000
Binary files a/samcraft/x64/Debug/vc143.idb and /dev/null differ
diff --git a/samcraft/x64/Debug/vc143.pdb b/samcraft/x64/Debug/vc143.pdb
deleted file mode 100644
index fc0b64c..0000000
Binary files a/samcraft/x64/Debug/vc143.pdb and /dev/null differ
diff --git a/samcraft/x64/Debug/vcpkg.applocal.log b/samcraft/x64/Debug/vcpkg.applocal.log
deleted file mode 100644
index ad3fbfc..0000000
--- a/samcraft/x64/Debug/vcpkg.applocal.log
+++ /dev/null
@@ -1,2 +0,0 @@
-
-C:\Users\sam\source\repos\samcraft\x64\Debug\raylib.dll
diff --git a/samcraft/x64/Release/chunk.obj b/samcraft/x64/Release/chunk.obj
deleted file mode 100644
index 168d01d..0000000
Binary files a/samcraft/x64/Release/chunk.obj and /dev/null differ
diff --git a/samcraft/x64/Release/main.obj b/samcraft/x64/Release/main.obj
deleted file mode 100644
index f6b9d9b..0000000
Binary files a/samcraft/x64/Release/main.obj and /dev/null differ
diff --git a/samcraft/x64/Release/samcraft.exe.recipe b/samcraft/x64/Release/samcraft.exe.recipe
deleted file mode 100644
index 6415c92..0000000
--- a/samcraft/x64/Release/samcraft.exe.recipe
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- C:\Users\sam\source\repos\samcraft\x64\Release\samcraft.exe
-
-
-
-
-
-
\ No newline at end of file
diff --git a/samcraft/x64/Release/samcraft.iobj b/samcraft/x64/Release/samcraft.iobj
deleted file mode 100644
index c528bba..0000000
Binary files a/samcraft/x64/Release/samcraft.iobj and /dev/null differ
diff --git a/samcraft/x64/Release/samcraft.ipdb b/samcraft/x64/Release/samcraft.ipdb
deleted file mode 100644
index 4f63466..0000000
Binary files a/samcraft/x64/Release/samcraft.ipdb and /dev/null differ
diff --git a/samcraft/x64/Release/samcraft.log b/samcraft/x64/Release/samcraft.log
deleted file mode 100644
index f62f246..0000000
--- a/samcraft/x64/Release/samcraft.log
+++ /dev/null
@@ -1,10 +0,0 @@
- main.c
-C:\Users\sam\source\repos\samcraft\samcraft\main.c(19,17): warning C4133: '=': incompatible types - from 'Mesh *' to 'float *'
- Generating code
- 1 of 10 functions (10.0%) were compiled, the rest were copied from previous compilation.
- 0 functions were new in current compilation
- 0 functions had inline decision re-evaluated but remain unchanged
- Finished generating code
- samcraft.vcxproj -> C:\Users\sam\source\repos\samcraft\x64\Release\samcraft.exe
- 'pwsh.exe' is not recognized as an internal or external command,
- operable program or batch file.
diff --git a/samcraft/x64/Release/samcraft.tlog/CL.command.1.tlog b/samcraft/x64/Release/samcraft.tlog/CL.command.1.tlog
deleted file mode 100644
index c90f76f..0000000
Binary files a/samcraft/x64/Release/samcraft.tlog/CL.command.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Release/samcraft.tlog/CL.read.1.tlog b/samcraft/x64/Release/samcraft.tlog/CL.read.1.tlog
deleted file mode 100644
index 5ba9452..0000000
Binary files a/samcraft/x64/Release/samcraft.tlog/CL.read.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Release/samcraft.tlog/CL.write.1.tlog b/samcraft/x64/Release/samcraft.tlog/CL.write.1.tlog
deleted file mode 100644
index ac4130b..0000000
Binary files a/samcraft/x64/Release/samcraft.tlog/CL.write.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Release/samcraft.tlog/Cl.items.tlog b/samcraft/x64/Release/samcraft.tlog/Cl.items.tlog
deleted file mode 100644
index 6edde14..0000000
--- a/samcraft/x64/Release/samcraft.tlog/Cl.items.tlog
+++ /dev/null
@@ -1,2 +0,0 @@
-C:\Users\sam\source\repos\samcraft\samcraft\chunk.c;C:\Users\sam\source\repos\samcraft\samcraft\x64\Release\chunk.obj
-C:\Users\sam\source\repos\samcraft\samcraft\main.c;C:\Users\sam\source\repos\samcraft\samcraft\x64\Release\main.obj
diff --git a/samcraft/x64/Release/samcraft.tlog/link.command.1.tlog b/samcraft/x64/Release/samcraft.tlog/link.command.1.tlog
deleted file mode 100644
index 3c65387..0000000
Binary files a/samcraft/x64/Release/samcraft.tlog/link.command.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Release/samcraft.tlog/link.read.1.tlog b/samcraft/x64/Release/samcraft.tlog/link.read.1.tlog
deleted file mode 100644
index 706cadc..0000000
Binary files a/samcraft/x64/Release/samcraft.tlog/link.read.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Release/samcraft.tlog/link.write.1.tlog b/samcraft/x64/Release/samcraft.tlog/link.write.1.tlog
deleted file mode 100644
index b555b56..0000000
Binary files a/samcraft/x64/Release/samcraft.tlog/link.write.1.tlog and /dev/null differ
diff --git a/samcraft/x64/Release/samcraft.tlog/samcraft.lastbuildstate b/samcraft/x64/Release/samcraft.tlog/samcraft.lastbuildstate
deleted file mode 100644
index 8d3267b..0000000
--- a/samcraft/x64/Release/samcraft.tlog/samcraft.lastbuildstate
+++ /dev/null
@@ -1,2 +0,0 @@
-PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.38.33130:TargetPlatformVersion=10.0.22621.0:VcpkgTriplet=x64-windows:
-Release|x64|C:\Users\sam\source\repos\samcraft\|
diff --git a/samcraft/x64/Release/samcraft.tlog/samcraft.write.1u.tlog b/samcraft/x64/Release/samcraft.tlog/samcraft.write.1u.tlog
deleted file mode 100644
index 5bba3a6..0000000
Binary files a/samcraft/x64/Release/samcraft.tlog/samcraft.write.1u.tlog and /dev/null differ
diff --git a/samcraft/x64/Release/samcraft.vcxproj.FileListAbsolute.txt b/samcraft/x64/Release/samcraft.vcxproj.FileListAbsolute.txt
deleted file mode 100644
index e13b878..0000000
--- a/samcraft/x64/Release/samcraft.vcxproj.FileListAbsolute.txt
+++ /dev/null
@@ -1 +0,0 @@
-C:\Users\sam\source\repos\samcraft\samcraft\x64\Release\samcraft.vcxproj.CopyComplete
diff --git a/samcraft/x64/Release/vc143.pdb b/samcraft/x64/Release/vc143.pdb
deleted file mode 100644
index 41d9d7b..0000000
Binary files a/samcraft/x64/Release/vc143.pdb and /dev/null differ
diff --git a/samcraft/x64/Release/vcpkg.applocal.log b/samcraft/x64/Release/vcpkg.applocal.log
deleted file mode 100644
index a359c71..0000000
--- a/samcraft/x64/Release/vcpkg.applocal.log
+++ /dev/null
@@ -1,2 +0,0 @@
-
-C:\Users\sam\source\repos\samcraft\x64\Release\raylib.dll
diff --git a/x64/Debug/raylib.dll b/x64/Debug/raylib.dll
deleted file mode 100644
index 1758fd5..0000000
Binary files a/x64/Debug/raylib.dll and /dev/null differ
diff --git a/x64/Debug/samcraft.exe b/x64/Debug/samcraft.exe
deleted file mode 100644
index 67e8145..0000000
Binary files a/x64/Debug/samcraft.exe and /dev/null differ
diff --git a/x64/Debug/samcraft.pdb b/x64/Debug/samcraft.pdb
deleted file mode 100644
index 85474a0..0000000
Binary files a/x64/Debug/samcraft.pdb and /dev/null differ
diff --git a/x64/Release/raylib.dll b/x64/Release/raylib.dll
deleted file mode 100644
index 12f48bb..0000000
Binary files a/x64/Release/raylib.dll and /dev/null differ
diff --git a/x64/Release/samcraft.exe b/x64/Release/samcraft.exe
deleted file mode 100644
index db00314..0000000
Binary files a/x64/Release/samcraft.exe and /dev/null differ
diff --git a/x64/Release/samcraft.pdb b/x64/Release/samcraft.pdb
deleted file mode 100644
index a8d51e2..0000000
Binary files a/x64/Release/samcraft.pdb and /dev/null differ