2019-06-10 10:41:31 +00:00
|
|
|
ROOT = $(TUP_CWD)
|
|
|
|
|
|
|
|
# Optimization
|
|
|
|
ifeq (@(DEBUG),y)
|
|
|
|
CFLAGS += -g
|
|
|
|
else
|
|
|
|
CFLAGS += -Os
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Warnings
|
|
|
|
# -Wno-typedef-redefinition is for OpenVR
|
|
|
|
# -Wno-unused-parameter is turned off just because it's kinda annoying
|
2019-07-10 23:25:47 +00:00
|
|
|
CFLAGS += -Werror -Wall -Wextra -pedantic -std=c99
|
2019-06-10 10:41:31 +00:00
|
|
|
CFLAGS += -Wno-typedef-redefinition
|
|
|
|
CFLAGS += -Wno-unused-parameter
|
|
|
|
|
|
|
|
# Symbols are manually exported as-needed using the LOVR_EXPORT macro to reduce file size.
|
|
|
|
CFLAGS += -fvisibility=hidden
|
|
|
|
|
|
|
|
# Include paths
|
|
|
|
CFLAGS += -I$(ROOT)/src
|
|
|
|
CFLAGS += -I$(ROOT)/src/core
|
|
|
|
CFLAGS += -I$(ROOT)/src/modules
|
|
|
|
|
|
|
|
# Modules
|
|
|
|
CFLAGS_@(AUDIO) += -DLOVR_ENABLE_AUDIO
|
|
|
|
CFLAGS_@(DATA) += -DLOVR_ENABLE_DATA
|
|
|
|
CFLAGS_@(EVENT) += -DLOVR_ENABLE_EVENT
|
|
|
|
CFLAGS_@(FILESYSTEM) += -DLOVR_ENABLE_FILESYSTEM
|
|
|
|
CFLAGS_@(GRAPHICS) += -DLOVR_ENABLE_GRAPHICS
|
|
|
|
CFLAGS_@(HEADSET) += -DLOVR_ENABLE_HEADSET
|
|
|
|
CFLAGS_@(MATH) += -DLOVR_ENABLE_MATH
|
|
|
|
CFLAGS_@(PHYSICS) += -DLOVR_ENABLE_PHYSICS
|
|
|
|
CFLAGS_@(THREAD) += -DLOVR_ENABLE_THREAD
|
|
|
|
CFLAGS_@(TIMER) += -DLOVR_ENABLE_TIMER
|
|
|
|
CFLAGS_@(JSON) += -DLOVR_ENABLE_JSON
|
|
|
|
CFLAGS_@(ENET) += -DLOVR_ENABLE_ENET
|
|
|
|
|
|
|
|
# Headset backends
|
|
|
|
CFLAGS_@(SIMULATOR) += -DLOVR_USE_DESKTOP_HEADSET
|
|
|
|
CFLAGS_@(OPENVR) += -DLOVR_USE_OPENVR
|
|
|
|
CFLAGS_@(OPENXR) += -DLOVR_USE_OPENXR
|
|
|
|
CFLAGS_@(OCULUS) += -DLOVR_USE_OCULUS
|
2019-06-26 01:19:36 +00:00
|
|
|
CFLAGS_@(OCULUS) += -I@(OCULUS_PATH)/LibOVR/Include
|
2019-06-10 10:41:31 +00:00
|
|
|
CFLAGS_@(VRAPI) += -DLOVR_USE_OCULUS_MOBILE
|
|
|
|
CFLAGS_@(WEBVR) += LOVR_USE_WEBVR
|
|
|
|
CFLAGS_@(LEAP) += LOVR_USE_LEAP
|
|
|
|
|
|
|
|
# SIMD
|
|
|
|
ifeq (@(TUP_ARCH),x86_64)
|
|
|
|
CFLAGS += -DLOVR_USE_SSE
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Lua
|
|
|
|
CFLAGS_@(LUAJIT) += -DLOVR_USE_LUAJIT
|
|
|
|
|
|
|
|
# OpenGL
|
|
|
|
CFLAGS += -DLOVR_@(GL)
|
|
|
|
|
|
|
|
# Libraries
|
|
|
|
CFLAGS += @(LUA_CFLAGS)
|
|
|
|
CFLAGS += @(GLFW_CFLAGS)
|
|
|
|
CFLAGS += @(OPENAL_CFLAGS)
|
|
|
|
CFLAGS += @(PHYSFS_CFLAGS)
|
|
|
|
CFLAGS += @(MSDFGEN_CFLAGS)
|
|
|
|
CFLAGS += @(ODE_CFLAGS)
|
|
|
|
CFLAGS += @(OPENVR_CFLAGS)
|
|
|
|
CFLAGS += @(OPENXR_CFLAGS)
|
|
|
|
CFLAGS += @(ENET_CFLAGS)
|
|
|
|
|
|
|
|
LDFLAGS += @(LUA_LDFLAGS)
|
|
|
|
LDFLAGS += @(GLFW_LDFLAGS)
|
|
|
|
LDFLAGS += @(OPENAL_LDFLAGS)
|
|
|
|
LDFLAGS += @(PHYSFS_LDFLAGS)
|
|
|
|
LDFLAGS += @(MSDFGEN_LDFLAGS)
|
|
|
|
LDFLAGS += @(ODE_LDFLAGS)
|
|
|
|
LDFLAGS += @(OPENVR_LDFLAGS)
|
|
|
|
LDFLAGS += @(OPENXR_LDFLAGS)
|
|
|
|
LDFLAGS += @(ENET_LDFLAGS)
|
|
|
|
|
2019-06-12 02:58:33 +00:00
|
|
|
CFLAGS += @(CFLAGS)
|
|
|
|
LDFLAGS += @(LDFLAGS)
|
|
|
|
|
2019-06-10 10:41:31 +00:00
|
|
|
# Macros
|
|
|
|
!compile = |> ^ CC %f^ @(CC) $(CFLAGS) $(CFLAGS_y) -c %f -o %o |> $(ROOT)/.obj/%B.o $(ROOT)/<objects>
|
|
|
|
!link = |> ^ LD %o^ @(CC) $(LDFLAGS) -o %o |>
|
|
|
|
!embed = |> ^ XD %f^ xxd -i %f > %o |>
|