mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-27 18:20:27 +00:00
65c6caf5a6
This adds '--disable-menu' which will disable all of the menu drivers including Qt. This will also allow disabling only rgui and not the other menu drivers.
107 lines
2.6 KiB
Makefile
107 lines
2.6 KiB
Makefile
TARGET := retroarch.js
|
|
|
|
EOPT = USE_ZLIB=1 # Emscripten specific options
|
|
EOPTS = $(addprefix -s $(EMPTY), $(EOPT)) # Add '-s ' to each option
|
|
|
|
PTHREAD = 0
|
|
OS = Emscripten
|
|
OBJ :=
|
|
DEFINES := -DRARCH_INTERNAL -DHAVE_MAIN -s USE_PTHREADS=$(PTHREAD)
|
|
DEFINES += -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_GLSL -DHAVE_FILTERS_BUILTIN -DHAVE_STB_FONT
|
|
|
|
HAVE_OVERLAY = 1
|
|
HAVE_CC_RESAMPLER = 1
|
|
HAVE_EGL = 1
|
|
HAVE_OPENGLES = 1
|
|
HAVE_RJPEG = 0
|
|
HAVE_RPNG = 1
|
|
HAVE_EMSCRIPTEN = 1
|
|
HAVE_MENU = 1
|
|
HAVE_RGUI = 1
|
|
HAVE_SDL = 0
|
|
HAVE_SDL2 = 0
|
|
HAVE_ZLIB = 1
|
|
WANT_ZLIB = 1
|
|
HAVE_SHADERPIPELINE = 1
|
|
HAVE_STATIC_VIDEO_FILTERS = 1
|
|
HAVE_STATIC_AUDIO_FILTERS = 1
|
|
MEMORY = 536870912
|
|
HAVE_STB_FONT = 1
|
|
|
|
PRECISE_F32 = 1
|
|
|
|
OBJDIR := obj-emscripten
|
|
|
|
ifneq ($(NATIVE_ZLIB),)
|
|
WANT_ZLIB = 0
|
|
endif
|
|
|
|
#if you compile with SDL2 flag add this Emscripten flag "-s USE_SDL=2" to LDFLAGS:
|
|
|
|
LIBS := -s USE_ZLIB=1
|
|
LDFLAGS := -L. --no-heap-copy -s USE_ZLIB=1 -s TOTAL_MEMORY=$(MEMORY) -s NO_EXIT_RUNTIME=0 -s FULL_ES2=1 -s BINARYEN_TRAP_MODE=\"clamp\" \
|
|
-s EXPORTED_FUNCTIONS="['_main', '_malloc', '_cmd_savefiles', '_cmd_save_state', '_cmd_load_state', '_cmd_take_screenshot']" \
|
|
--js-library emscripten/library_rwebaudio.js \
|
|
--js-library emscripten/library_rwebcam.js
|
|
ifneq ($(PTHREAD), 0)
|
|
LDFLAGS += -s USE_PTHREADS=$(PTHREAD) -s PTHREAD_POOL_SIZE=2
|
|
endif
|
|
|
|
ifeq ($(ASYNC), 1)
|
|
LDFLAGS += -s ASYNCIFY=$(ASYNC)
|
|
endif
|
|
|
|
ifeq ($(HAVE_SDL2), 1)
|
|
LIBS += -s USE_SDL=2
|
|
DEFINES += -DHAVE_SDL2
|
|
endif
|
|
|
|
include Makefile.common
|
|
|
|
CFLAGS += $(DEF_FLAGS) -Ideps/libz -Ideps -Ideps/stb
|
|
libretro = libretro_emscripten.bc
|
|
|
|
ifneq ($(V), 1)
|
|
Q := @
|
|
endif
|
|
|
|
ifeq ($(DEBUG), 1)
|
|
LDFLAGS += -O0 -g
|
|
CFLAGS += -O0 -g
|
|
else
|
|
LDFLAGS += -O2 -s WASM=1
|
|
# WARNING: some optimizations can break some cores (ex: LTO breaks tyrquake)
|
|
LDFLAGS += -s PRECISE_F32=$(PRECISE_F32)
|
|
ifeq ($(LTO), 1)
|
|
LDFLAGS += --llvm-lto 3
|
|
endif
|
|
CFLAGS += -O2
|
|
endif
|
|
|
|
CFLAGS += -DHAVE_RPNG -Wall -I. -Ilibretro-common/include -std=gnu99 -s USE_ZLIB=1 \
|
|
-s EXPORTED_FUNCTIONS="['_main', '_malloc', '_cmd_savefiles', '_cmd_save_state', '_cmd_take_screenshot']"
|
|
|
|
RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ))
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(RARCH_OBJ) $(libretro)
|
|
@$(if $(Q), $(shell echo echo LD $@),)
|
|
$(Q)$(LD) -o $@ $(RARCH_OBJ) $(libretro) $(LIBS) $(LDFLAGS)
|
|
|
|
$(OBJDIR)/%.o: %.c
|
|
@mkdir -p $(dir $@)
|
|
@$(if $(Q), $(shell echo echo CC $<),)
|
|
$(Q)$(CC) $(CFLAGS) $(DEFINES) $(EOPTS) -c -o $@ $<
|
|
|
|
$(OBJDIR)/%.o: %.cpp
|
|
@mkdir -p $(dir $@)
|
|
@$(if $(Q), $(shell echo echo CXX $<),)
|
|
$(Q)$(CXX) $(CXXFLAGS) $(DEFINES) $(EOPTS) -c -o $@ $<
|
|
|
|
clean:
|
|
rm -rf $(OBJDIR)
|
|
rm -f $(TARGET)
|
|
|
|
.PHONY: all clean
|