mirror of
https://github.com/bjornbytes/lovr.git
synced 2024-07-04 13:33:34 +00:00
85 lines
3.1 KiB
Plaintext
85 lines
3.1 KiB
Plaintext
include_rules
|
|
|
|
# core
|
|
SRC += src/main.c
|
|
SRC += src/core/arr.c
|
|
SRC += src/core/fs.c
|
|
SRC_@(GPU) += src/core/gpu_@(GPU_BACKEND).c
|
|
SRC += src/core/maf.c
|
|
SRC += src/core/map.c
|
|
SRC += src/core/os_$(PLATFORM).c
|
|
SRC += src/core/png.c
|
|
SRC += src/core/ref.c
|
|
SRC += src/core/utf.c
|
|
SRC += src/core/util.c
|
|
SRC += src/core/zip.c
|
|
|
|
# modules
|
|
SRC_@(AUDIO) += src/modules/audio/*.c
|
|
SRC_@(DATA) += src/modules/data/*.c
|
|
SRC_@(EVENT) += src/modules/event/*.c
|
|
SRC_@(FILESYSTEM) += src/modules/filesystem/*.c
|
|
SRC_@(GRAPHICS) += src/modules/graphics/*.c
|
|
SRC_@(HEADSET) += src/modules/headset/headset.c
|
|
SRC_@(HEADSET)@(SIMULATOR) += src/modules/headset/headset_desktop.c
|
|
SRC_@(HEADSET)@(OPENVR) += src/modules/headset/headset_openvr.c
|
|
SRC_@(HEADSET)@(OPENXR) += src/modules/headset/headset_openxr.c
|
|
SRC_@(HEADSET)@(OCULUS) += src/modules/headset/headset_oculus.c
|
|
SRC_@(HEADSET)@(VRAPI) += src/modules/headset/headset_vrapi.c
|
|
SRC_@(HEADSET)@(WEBVR) += src/modules/headset/headset_webvr.c
|
|
SRC_@(HEADSET)@(WEBXR) += src/modules/headset/headset_webxr.c
|
|
SRC_@(HEADSET)@(LEAP) += src/modules/headset/headset_leap.c
|
|
SRC_@(MATH) += src/modules/math/*.c
|
|
SRC_@(PHYSICS) += src/modules/physics/*.c
|
|
SRC_@(THREAD) += src/modules/thread/*.c
|
|
SRC_@(TIMER) += src/modules/timer/*.c
|
|
|
|
# lib
|
|
SRC += src/lib/stb/*.c
|
|
SRC_@(DATA) += src/lib/jsmn/jsmn.c
|
|
SRC_@(GRAPHICS) += src/lib/glad/glad.c
|
|
SRC_@(MATH) += src/lib/noise1234/noise1234.c
|
|
SRC_@(THREAD) += src/lib/tinycthread/tinycthread.c
|
|
|
|
# api
|
|
SRC += src/api/api.c
|
|
SRC += src/api/l_lovr.c
|
|
SRC_@(AUDIO) += src/api/l_audio*.c
|
|
SRC_@(DATA) += src/api/l_data*.c
|
|
SRC_@(EVENT) += src/api/l_event*.c
|
|
SRC_@(FILESYSTEM) += src/api/l_filesystem*.c
|
|
SRC_@(GRAPHICS) += src/api/l_graphics*.c
|
|
SRC_@(HEADSET) += src/api/l_headset*.c
|
|
SRC_@(MATH) += src/api/l_math*.c
|
|
SRC_@(PHYSICS) += src/api/l_physics*.c
|
|
SRC_@(THREAD) += src/api/l_thread*.c
|
|
SRC_@(TIMER) += src/api/l_timer*.c
|
|
SRC_@(JSON) += src/lib/lua-cjson/*.c
|
|
SRC_@(ENET) += src/lib/lua-enet/*.c
|
|
|
|
# resources
|
|
RES += src/resources/boot.lua
|
|
RES += src/resources/VarelaRound.ttf
|
|
RES_@(OPENVR) += src/resources/*.json
|
|
SRC_@(GRAPHICS) += src/resources/shaders.c
|
|
|
|
## build:
|
|
# 1 [XD] resources -> bin headers
|
|
# 2 [CC] compile .c -> .o
|
|
# 3 [LD] link .o -> exe
|
|
# 4 [CP] copy external libs -> libs folder
|
|
|
|
: foreach $(RES) $(RES_y) |> !xd |> %f.h
|
|
: foreach $(SRC) $(SRC_y) $(SRC_yy) | src/resources/*.h |> !cc |> .obj/%B.o
|
|
: .obj/*.o $(STATIC_LIBS) $(STATIC_LIBS_y) |> !ld |> $(PREFIX)lovr$(SUFFIX) | $(EXTRAS) $(EXTRAS_y)
|
|
: foreach $(LIBS) |> !cp |> $(LIB)/%b
|
|
|
|
# Android packaging
|
|
ifeq ($(PLATFORM),android)
|
|
: $(ROOT)/src/resources/LoadLibraries.java |> javac -classpath $(JAR) -d . %f |> org/lovr/app/LoadLibraries.class
|
|
: $(ROOT)/org/lovr/app/LoadLibraries.class |> dx --dex --output=%o %f |> classes.dex
|
|
: $(ROOT)/src/resources/AndroidManifest.xml | $(LIB)/*.so classes.dex |> aapt package -F %o -M %f -I $(JAR) && zip -qu0 tmp/lovr.unaligned.apk $(LIB)/*.so classes.dex |> tmp/lovr.unaligned.apk
|
|
: tmp/lovr.unaligned.apk |> $(TOOLS)/zipalign -f 4 %f %o |> tmp/lovr.unsigned.apk
|
|
: tmp/lovr.unsigned.apk |> $(TOOLS)/apksigner sign --ks @(ANDROID_KEYSTORE) --ks-pass @(ANDROID_KEYSTORE_PASS) --out %o %f |> lovr.apk
|
|
endif
|