mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-27 02:00:41 +00:00
de7cf52227
will be used for exposing a list of generic menu settings to WIMP menus and other such things (already used by the Apple port in tihs way)
170 lines
3.8 KiB
Makefile
170 lines
3.8 KiB
Makefile
TARGET = retroarch.js
|
|
|
|
OBJ = frontend/platform/platform_emscripten.o \
|
|
frontend/frontend.o \
|
|
retroarch.o \
|
|
file.o \
|
|
file_path.o \
|
|
driver.o \
|
|
conf/config_file.o \
|
|
settings.o \
|
|
settings_data.o \
|
|
hash.o \
|
|
dynamic.o \
|
|
dynamic_dummy.o \
|
|
message_queue.o \
|
|
rewind.o \
|
|
movie.o \
|
|
gfx/gfx_common.o \
|
|
input/input_common.o \
|
|
input/rwebinput_input.o \
|
|
core_options.o \
|
|
patch.o \
|
|
compat/compat.o \
|
|
compat/rxml/rxml.o \
|
|
screenshot.o \
|
|
cheats.o \
|
|
audio/utils.o \
|
|
audio/rwebaudio.o \
|
|
input/overlay.o \
|
|
fifo_buffer.o \
|
|
gfx/scaler/scaler.o \
|
|
gfx/scaler/pixconv.o \
|
|
gfx/scaler/scaler_int.o \
|
|
gfx/scaler/scaler_filter.o \
|
|
gfx/state_tracker.o \
|
|
gfx/shader_parse.o \
|
|
gfx/fonts/fonts.o \
|
|
gfx/fonts/bitmapfont.o \
|
|
gfx/image/image.o \
|
|
audio/resampler.o \
|
|
audio/sinc.o \
|
|
audio/cc_resampler.o \
|
|
audio/null.o \
|
|
performance.o \
|
|
frontend/info/core_info.o \
|
|
camera/rwebcam.o
|
|
|
|
HAVE_OPENGL = 1
|
|
HAVE_RGUI = 1
|
|
HAVE_SDL = 0
|
|
HAVE_ZLIB = 1
|
|
HAVE_FBO = 1
|
|
WANT_MINIZ = 1
|
|
MEMORY = 67108864
|
|
LTO = 0
|
|
# XXX: setting this to 1/2 currently crashes Firefox nightly
|
|
PRECISE_F32 = 0
|
|
|
|
ifneq ($(NATIVE_ZLIB),)
|
|
WANT_MINIZ = 0
|
|
endif
|
|
|
|
libretro = libretro_emscripten.bc
|
|
|
|
LIBS =
|
|
DEFINES = -DHAVE_SCREENSHOTS -DHAVE_CAMERA -DHAVE_NULLAUDIO -DHAVE_BSV_MOVIE -DRARCH_INTERNAL -DHAVE_CC_RESAMPLER
|
|
LDFLAGS = -L. -s TOTAL_MEMORY=$(MEMORY) -s OUTLINING_LIMIT=50000 --js-library emscripten/library_rwebaudio.js --js-library emscripten/library_rwebinput.js --js-library emscripten/library_rwebcam.js --no-heap-copy
|
|
|
|
ifeq ($(PERF_TEST), 1)
|
|
DEFINES += -DPERF_TEST
|
|
endif
|
|
|
|
ifeq ($(HAVE_RGUI), 1)
|
|
DEFINES += -DHAVE_MENU -DHAVE_RGUI
|
|
OBJ += frontend/menu/menu_input_line_cb.o frontend/menu/menu_common.o frontend/menu/menu_navigation.o frontend/menu/file_list.o frontend/menu/disp/rgui.o frontend/menu/history.o
|
|
HAVE_MENU_COMMON = 1
|
|
endif
|
|
|
|
ifeq ($(HAVE_MENU_COMMON), 1)
|
|
OBJ += frontend/menu/backend/menu_common_backend.o
|
|
endif
|
|
|
|
ifeq ($(HAVE_SDL), 1)
|
|
OBJ += input/sdl_input.o
|
|
LIBS += -lSDL
|
|
DEFINES += -ISDL -DHAVE_SDL
|
|
endif
|
|
|
|
ifeq ($(HAVE_OPENGL), 1)
|
|
OBJ += gfx/gl.o gfx/math/matrix.o gfx/fonts/gl_font.o gfx/fonts/gl_raster_font.o gfx/gfx_context.o gfx/context/emscriptenegl_ctx.o gfx/shader_glsl.o gfx/glsym/rglgen.o gfx/glsym/glsym_es2.o
|
|
DEFINES += -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_EGL -DHAVE_OVERLAY -DHAVE_GLSL
|
|
endif
|
|
|
|
ifeq ($(HAVE_ZLIB), 1)
|
|
OBJ += gfx/rpng/rpng.o file_extract.o
|
|
DEFINES += -DHAVE_ZLIB
|
|
ifeq ($(WANT_MINIZ), 1)
|
|
OBJ += deps/miniz/miniz.o
|
|
DEFINES += -DWANT_MINIZ
|
|
else
|
|
LIBS += -lz
|
|
DEFINES += -DHAVE_ZLIB_DEFLATE
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(HAVE_FBO), 1)
|
|
DEFINES += -DHAVE_FBO
|
|
endif
|
|
|
|
ifneq ($(V), 1)
|
|
Q := @
|
|
endif
|
|
|
|
ifeq ($(DEBUG), 1)
|
|
LDFLAGS += -O0 -g
|
|
CFLAGS += -O0 -g
|
|
else
|
|
LDFLAGS += -O2
|
|
# 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 += -Wall -Wno-unused-result -Wno-unused-variable -I. -std=gnu99
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJ)
|
|
@$(if $(Q), $(shell echo echo LD $@),)
|
|
$(Q)$(LD) -o $@ $(OBJ) $(libretro) $(LIBS) $(LDFLAGS)
|
|
|
|
%.o: %.c
|
|
@$(if $(Q), $(shell echo echo CC $<),)
|
|
$(Q)$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
|
|
|
|
%.o: %.cpp
|
|
@$(if $(Q), $(shell echo echo CXX $<),)
|
|
$(Q)$(CXX) $(CXXFLAGS) $(DEFINES) -c -o $@ $<
|
|
|
|
clean:
|
|
rm -f *.o
|
|
rm -f deps/miniz/*.o
|
|
rm -f frontend/*.o
|
|
rm -f frontend/menu/*.o
|
|
rm -f frontend/menu/disp/*.o
|
|
rm -f audio/*.o
|
|
rm -f audio/xaudio-c/*.o
|
|
rm -f compat/*.o
|
|
rm -f compat/rxml/*.o
|
|
rm -f conf/*.o
|
|
rm -f gfx/scaler/*.o
|
|
rm -f gfx/*.o
|
|
rm -f gfx/d3d9/*.o
|
|
rm -f gfx/context/*.o
|
|
rm -f gfx/math/*.o
|
|
rm -f gfx/fonts/*.o
|
|
rm -f gfx/py_state/*.o
|
|
rm -f gfx/rpng/*.o
|
|
rm -f gfx/glsym/*.o
|
|
rm -f record/*.o
|
|
rm -f input/*.o
|
|
rm -f tools/*.o
|
|
rm -f $(TARGET)
|
|
|
|
.PHONY: all clean
|
|
|