diff --git a/Makefile b/Makefile
index 763b4ea..958997e 100644
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,7 @@ BIN_NAME= bin/tic80
3RD_PARTY = ../3rd-party
DUKTAPE_LIB = $(3RD_PARTY)/duktape-2.2.0/src
+PRE_BUILT = $(3RD_PARTY)/pre-built
RM= rm -f
@@ -17,7 +18,7 @@ INCLUDES= \
-Iinclude
MINGW_LINKER_FLAGS= \
- -Llib/mingw \
+ -L$(PRE_BUILT)/mingw \
-lmingw32 \
-lSDL2main \
-lSDL2 \
@@ -41,14 +42,14 @@ LINUX_LIBS= \
LINUX64_LIBS= \
$(LINUX_LIBS) \
- -Llib/linux64
+ -L$(PRE_BUILT)/linux64
LINUX32_LIBS= \
$(LINUX_LIBS) \
- -Llib/linux32
+ -L$(PRE_BUILT)/linux32
LINUX_ARM_LIBS= \
- -Llib/arm
+ -L$(PRE_BUILT)/arm
LINUX_LINKER_LTO_FLAGS= \
-D_GNU_SOURCE \
@@ -80,11 +81,11 @@ EMS_OPT= \
-s TOTAL_MEMORY=67108864 \
--llvm-lto 1 \
--memory-init-file 0 \
- --pre-js lib/emscripten/prejs.js \
+ --pre-js build/html/prejs.js \
-s 'EXTRA_EXPORTED_RUNTIME_METHODS=["writeArrayToMemory"]'
EMS_LINKER_FLAGS= \
- -Llib/emscripten \
+ -L$(PRE_BUILT)/emscripten \
-llua \
-lgif \
-lz
@@ -96,7 +97,7 @@ MACOSX_OPT= \
-D_GNU_SOURCE
MACOSX_LIBS= \
- -Llib/macos \
+ -L$(PRE_BUILT)/macos \
-L/usr/local/lib \
-lSDL2 -lm -liconv -lobjc -llua -lz -lgif \
-Wl,-framework,CoreAudio \
@@ -283,7 +284,7 @@ TIC80_A = bin/libtic80.a
TIC80_DLL = bin/tic80.dll
$(TIC80_DLL): $(TIC80_O)
- $(CC) $(OPT) -shared $(TIC80_O) -Llib/mingw -llua -lgif -Wl,--out-implib,$(TIC80_A) -o $@
+ $(CC) $(OPT) -shared $(TIC80_O) -L$(PRE_BUILT)/mingw -llua -lgif -Wl,--out-implib,$(TIC80_A) -o $@
emscripten:
$(EMS_CC) $(SOURCES) $(TIC80_SRC) $(OPT) $(INCLUDES) $(EMS_OPT) $(EMS_LINKER_FLAGS) -o build/html/tic.js
@@ -333,7 +334,7 @@ macosx-pro:
$(eval OPT += $(OPT_PRO))
make macosx OPT="$(OPT)"
-bin/res.o: lib/mingw/res.rc lib/mingw/icon.ico
+bin/res.o: build/mingw/res.rc build/mingw/icon.ico
windres $< $@
BIN2TXT= tools/bin2txt/bin2txt
diff --git a/build/android/jni/SDL2/Android.mk b/build/android/jni/SDL2/Android.mk
index 0b0b878..db19fcf 100644
--- a/build/android/jni/SDL2/Android.mk
+++ b/build/android/jni/SDL2/Android.mk
@@ -2,5 +2,5 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := SDL2
-LOCAL_SRC_FILES := ../../../../lib/android/sdl2/$(TARGET_ARCH_ABI)/libSDL2.so
+LOCAL_SRC_FILES := ../../../../../3rd-party/pre-built/android/sdl2/$(TARGET_ARCH_ABI)/libSDL2.so
include $(PREBUILT_SHARED_LIBRARY)
\ No newline at end of file
diff --git a/build/android/jni/gif/Android.mk b/build/android/jni/gif/Android.mk
index 80e5ca0..60c457c 100644
--- a/build/android/jni/gif/Android.mk
+++ b/build/android/jni/gif/Android.mk
@@ -2,5 +2,5 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := gif
-LOCAL_SRC_FILES := ../../../../lib/android/gif/$(TARGET_ARCH_ABI)/libgif.so
+LOCAL_SRC_FILES := ../../../../../3rd-party/pre-built/android/gif/$(TARGET_ARCH_ABI)/libgif.so
include $(PREBUILT_SHARED_LIBRARY)
\ No newline at end of file
diff --git a/build/android/jni/lua/Android.mk b/build/android/jni/lua/Android.mk
index 29251d0..7b4529a 100644
--- a/build/android/jni/lua/Android.mk
+++ b/build/android/jni/lua/Android.mk
@@ -2,5 +2,5 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := lua
-LOCAL_SRC_FILES := ../../../../lib/android/lua/$(TARGET_ARCH_ABI)/liblua.so
+LOCAL_SRC_FILES := ../../../../../3rd-party/pre-built/android/lua/$(TARGET_ARCH_ABI)/liblua.so
include $(PREBUILT_SHARED_LIBRARY)
\ No newline at end of file
diff --git a/build/android/jni/zlib/Android.mk b/build/android/jni/zlib/Android.mk
index b30e2f9..2f7be55 100644
--- a/build/android/jni/zlib/Android.mk
+++ b/build/android/jni/zlib/Android.mk
@@ -2,5 +2,5 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := z
-LOCAL_SRC_FILES := ../../../../lib/android/zlib/$(TARGET_ARCH_ABI)/libz.so
+LOCAL_SRC_FILES := ../../../../../3rd-party/pre-built/android/zlib/$(TARGET_ARCH_ABI)/libz.so
include $(PREBUILT_SHARED_LIBRARY)
\ No newline at end of file
diff --git a/lib/emscripten/prejs.js b/build/html/prejs.js
similarity index 100%
rename from lib/emscripten/prejs.js
rename to build/html/prejs.js
diff --git a/lib/mingw/icon.ico b/build/mingw/icon.ico
similarity index 100%
rename from lib/mingw/icon.ico
rename to build/mingw/icon.ico
diff --git a/lib/mingw/res.rc b/build/mingw/res.rc
similarity index 100%
rename from lib/mingw/res.rc
rename to build/mingw/res.rc
diff --git a/lib/windows/icon.ico b/build/windows/tic/icon.ico
similarity index 100%
rename from lib/windows/icon.ico
rename to build/windows/tic/icon.ico
diff --git a/lib/windows/resource.h b/build/windows/tic/resource.h
similarity index 100%
rename from lib/windows/resource.h
rename to build/windows/tic/resource.h
diff --git a/lib/windows/tic.rc b/build/windows/tic/tic.rc
similarity index 100%
rename from lib/windows/tic.rc
rename to build/windows/tic/tic.rc
diff --git a/build/windows/tic/tic.vcxproj b/build/windows/tic/tic.vcxproj
index 8767df0..02f4c3a 100644
--- a/build/windows/tic/tic.vcxproj
+++ b/build/windows/tic/tic.vcxproj
@@ -82,13 +82,13 @@
-
+
-
+
-
+
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}
diff --git a/build/windows/tic/tic.vcxproj.filters b/build/windows/tic/tic.vcxproj.filters
index d64fadc..3993fda 100644
--- a/build/windows/tic/tic.vcxproj.filters
+++ b/build/windows/tic/tic.vcxproj.filters
@@ -92,17 +92,17 @@
-
+
res
-
+
res
-
+
res
diff --git a/lib/android/gif/armeabi-v7a/libgif.so b/lib/android/gif/armeabi-v7a/libgif.so
deleted file mode 100644
index 8ebe968..0000000
Binary files a/lib/android/gif/armeabi-v7a/libgif.so and /dev/null differ
diff --git a/lib/android/gif/armeabi/libgif.so b/lib/android/gif/armeabi/libgif.so
deleted file mode 100644
index de859a8..0000000
Binary files a/lib/android/gif/armeabi/libgif.so and /dev/null differ
diff --git a/lib/android/gif/x86/libgif.so b/lib/android/gif/x86/libgif.so
deleted file mode 100644
index ea32d17..0000000
Binary files a/lib/android/gif/x86/libgif.so and /dev/null differ
diff --git a/lib/android/lua/armeabi-v7a/liblua.so b/lib/android/lua/armeabi-v7a/liblua.so
deleted file mode 100644
index 3df08fd..0000000
Binary files a/lib/android/lua/armeabi-v7a/liblua.so and /dev/null differ
diff --git a/lib/android/lua/armeabi/liblua.so b/lib/android/lua/armeabi/liblua.so
deleted file mode 100644
index 14e8332..0000000
Binary files a/lib/android/lua/armeabi/liblua.so and /dev/null differ
diff --git a/lib/android/lua/x86/liblua.so b/lib/android/lua/x86/liblua.so
deleted file mode 100644
index cd6fe7b..0000000
Binary files a/lib/android/lua/x86/liblua.so and /dev/null differ
diff --git a/lib/android/sdl2/armeabi-v7a/libSDL2.so b/lib/android/sdl2/armeabi-v7a/libSDL2.so
deleted file mode 100644
index 0cc3d3a..0000000
Binary files a/lib/android/sdl2/armeabi-v7a/libSDL2.so and /dev/null differ
diff --git a/lib/android/sdl2/armeabi/libSDL2.so b/lib/android/sdl2/armeabi/libSDL2.so
deleted file mode 100644
index 6762ca2..0000000
Binary files a/lib/android/sdl2/armeabi/libSDL2.so and /dev/null differ
diff --git a/lib/android/sdl2/x86/libSDL2.so b/lib/android/sdl2/x86/libSDL2.so
deleted file mode 100644
index 4fa624f..0000000
Binary files a/lib/android/sdl2/x86/libSDL2.so and /dev/null differ
diff --git a/lib/android/zlib/armeabi-v7a/libz.so b/lib/android/zlib/armeabi-v7a/libz.so
deleted file mode 100644
index a69d870..0000000
Binary files a/lib/android/zlib/armeabi-v7a/libz.so and /dev/null differ
diff --git a/lib/android/zlib/armeabi/libz.so b/lib/android/zlib/armeabi/libz.so
deleted file mode 100644
index 96a91e0..0000000
Binary files a/lib/android/zlib/armeabi/libz.so and /dev/null differ
diff --git a/lib/android/zlib/x86/libz.so b/lib/android/zlib/x86/libz.so
deleted file mode 100644
index b40aacb..0000000
Binary files a/lib/android/zlib/x86/libz.so and /dev/null differ
diff --git a/lib/arm/libSDL2.a b/lib/arm/libSDL2.a
deleted file mode 100644
index 02a95eb..0000000
Binary files a/lib/arm/libSDL2.a and /dev/null differ
diff --git a/lib/arm/libgif.a b/lib/arm/libgif.a
deleted file mode 100644
index 90eb837..0000000
Binary files a/lib/arm/libgif.a and /dev/null differ
diff --git a/lib/arm/liblua.a b/lib/arm/liblua.a
deleted file mode 100644
index 2c6dc96..0000000
Binary files a/lib/arm/liblua.a and /dev/null differ
diff --git a/lib/emscripten/libgif.a b/lib/emscripten/libgif.a
deleted file mode 100644
index 618f493..0000000
Binary files a/lib/emscripten/libgif.a and /dev/null differ
diff --git a/lib/emscripten/liblua.a b/lib/emscripten/liblua.a
deleted file mode 100644
index 6beb143..0000000
Binary files a/lib/emscripten/liblua.a and /dev/null differ
diff --git a/lib/emscripten/libz.a b/lib/emscripten/libz.a
deleted file mode 100644
index e5c1424..0000000
Binary files a/lib/emscripten/libz.a and /dev/null differ
diff --git a/lib/linux32/libSDL2.a b/lib/linux32/libSDL2.a
deleted file mode 100644
index b007add..0000000
Binary files a/lib/linux32/libSDL2.a and /dev/null differ
diff --git a/lib/linux32/libgif.a b/lib/linux32/libgif.a
deleted file mode 100644
index ca74fd5..0000000
Binary files a/lib/linux32/libgif.a and /dev/null differ
diff --git a/lib/linux32/liblua.a b/lib/linux32/liblua.a
deleted file mode 100644
index 5689c94..0000000
Binary files a/lib/linux32/liblua.a and /dev/null differ
diff --git a/lib/linux64/libSDL2.a b/lib/linux64/libSDL2.a
deleted file mode 100644
index 06bddc6..0000000
Binary files a/lib/linux64/libSDL2.a and /dev/null differ
diff --git a/lib/linux64/libgif.a b/lib/linux64/libgif.a
deleted file mode 100644
index b359c4b..0000000
Binary files a/lib/linux64/libgif.a and /dev/null differ
diff --git a/lib/linux64/liblua.a b/lib/linux64/liblua.a
deleted file mode 100644
index 8dbb6ee..0000000
Binary files a/lib/linux64/liblua.a and /dev/null differ
diff --git a/lib/linux64/libz.a b/lib/linux64/libz.a
deleted file mode 100644
index 111619a..0000000
Binary files a/lib/linux64/libz.a and /dev/null differ
diff --git a/lib/macos/libSDL2.a b/lib/macos/libSDL2.a
deleted file mode 100644
index dcf31e1..0000000
Binary files a/lib/macos/libSDL2.a and /dev/null differ
diff --git a/lib/macos/libgif.a b/lib/macos/libgif.a
deleted file mode 100644
index c5132cf..0000000
Binary files a/lib/macos/libgif.a and /dev/null differ
diff --git a/lib/macos/liblua.a b/lib/macos/liblua.a
deleted file mode 100644
index d35fb06..0000000
Binary files a/lib/macos/liblua.a and /dev/null differ
diff --git a/lib/mingw/libgif.a b/lib/mingw/libgif.a
deleted file mode 100644
index ddfcb8f..0000000
Binary files a/lib/mingw/libgif.a and /dev/null differ
diff --git a/lib/mingw/liblua.a b/lib/mingw/liblua.a
deleted file mode 100644
index f9b1324..0000000
Binary files a/lib/mingw/liblua.a and /dev/null differ
diff --git a/lib/mingw/libz.a b/lib/mingw/libz.a
deleted file mode 100644
index af38e75..0000000
Binary files a/lib/mingw/libz.a and /dev/null differ