mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-07 08:36:02 -10:00
Open supported external media in the fullscreen menu viewer and keep image confirmation there across all four menu drivers. Disable the legacy imageviewer core in normal build configurations while preserving its sources and Griffin guard.
266 lines
6.1 KiB
Makefile
266 lines
6.1 KiB
Makefile
#########################
|
|
## Toolchain variables ##
|
|
#########################
|
|
|
|
# Default toolchain directory
|
|
TOOLCHAIN_DIR=/opt/retrofw-toolchain
|
|
|
|
# All toolchain-related variables may be
|
|
# overridden via the command line
|
|
ifdef RETROFW_CC
|
|
CC = $(GCW0_CC)
|
|
else
|
|
CC = $(TOOLCHAIN_DIR)/usr/bin/mipsel-linux-gcc
|
|
endif
|
|
|
|
ifdef RETROFW_CXX
|
|
CXX = $(GCW0_CXX)
|
|
else
|
|
CXX = $(TOOLCHAIN_DIR)/usr/bin/mipsel-linux-g++
|
|
endif
|
|
|
|
ifdef RETROFW_STRIP
|
|
STRIP = $(GCW0_STRIP)
|
|
else
|
|
STRIP = $(TOOLCHAIN_DIR)/usr/bin/mipsel-linux-strip
|
|
endif
|
|
|
|
GCW0_SDL_CONFIG ?= $(TOOLCHAIN_DIR)/usr/mipsel-buildroot-linux-uclibc/sysroot/usr/bin/sdl-config
|
|
GCW0_FREETYPE_CONFIG ?= $(TOOLCHAIN_DIR)/usr/mipsel-buildroot-linux-uclibc/sysroot/usr/bin/freetype-config
|
|
#GCW0_MK_SQUASH_FS ?= $(TOOLCHAIN_DIR)/usr/bin/mksquashfs
|
|
GCW0_MK_SQUASH_FS ?= mksquashfs
|
|
|
|
GCW0_INC_DIR ?= $(TOOLCHAIN_DIR)/usr/mipsel-buildroot-linux-uclibc/sysroot/usr/include
|
|
GCW0_LIB_DIR ?= $(TOOLCHAIN_DIR)/usr/mipsel-buildroot-linux-uclibc/sysroot/usr/lib
|
|
|
|
#########################
|
|
#########################
|
|
|
|
PACKAGE_NAME = retroarch
|
|
RETROFW = 1
|
|
|
|
DEBUG ?= 0
|
|
|
|
DINGUX = 1
|
|
HAVE_SCREENSHOTS = 0
|
|
HAVE_REWIND = 1
|
|
HAVE_7ZIP = 1
|
|
HAVE_RZSTD = 1
|
|
HAVE_AL = 0
|
|
# ALSA freezes when switching back from menu
|
|
HAVE_ALSA = 0
|
|
HAVE_DSP_FILTER = 1
|
|
HAVE_VIDEO_FILTER = 1
|
|
HAVE_STATIC_VIDEO_FILTERS = 1
|
|
HAVE_STATIC_AUDIO_FILTERS = 1
|
|
HAVE_FILTERS_BUILTIN = 1
|
|
# the cleanroom crypto, keychain and TLS client (HAVE_OPENSSL linked a
|
|
# library no backend used)
|
|
HAVE_CRYPTO = 1
|
|
HAVE_KEYCHAIN = 1
|
|
HAVE_RETROSSL = 1
|
|
HAVE_C99 = 1
|
|
HAVE_CC = 1
|
|
HAVE_CC_RESAMPLER = 1
|
|
HAVE_CHD = 1
|
|
HAVE_RCHD = 1
|
|
HAVE_COMMAND = 0
|
|
HAVE_CXX = 1
|
|
HAVE_RMP3 = 1
|
|
HAVE_DYNAMIC = 1
|
|
HAVE_EGL = 0
|
|
HAVE_FREETYPE = 0
|
|
HAVE_GDI = 1
|
|
HAVE_GETADDRINFO = 0
|
|
HAVE_GETOPT_LONG = 1
|
|
HAVE_GLSL = 0
|
|
HAVE_HID = 0
|
|
HAVE_RMODTRACKER = 1
|
|
HAVE_IMAGEVIEWER = 0
|
|
HAVE_LANGEXTRA = 0
|
|
HAVE_LIBRETRODB = 1
|
|
HAVE_MENU = 1
|
|
HAVE_MENU_COMMON = 1
|
|
HAVE_GFX_WIDGETS = 0
|
|
HAVE_MMAP = 1
|
|
HAVE_OPENDINGUX_FBDEV = 0
|
|
HAVE_OPENGL = 0
|
|
HAVE_OPENGL1 = 0
|
|
HAVE_OPENGLES = 0
|
|
HAVE_OPENGLES3 = 0
|
|
HAVE_OPENGL_CORE = 0
|
|
HAVE_OPENSSL = 0
|
|
HAVE_OVERLAY = 0
|
|
HAVE_RBMP = 1
|
|
HAVE_RJPEG = 1
|
|
HAVE_RPILED = 0
|
|
HAVE_RPNG = 1
|
|
HAVE_RWEBP = 1
|
|
HAVE_RDDS = 1
|
|
HAVE_RUNAHEAD = 0
|
|
HAVE_SDL_DINGUX = 1
|
|
HAVE_SHADERPIPELINE = 0
|
|
HAVE_STB_IMAGE = 1
|
|
HAVE_RVORBIS = 1
|
|
HAVE_STDIN_CMD = 0
|
|
HAVE_THREADS = 1
|
|
HAVE_UDEV = 0
|
|
HAVE_RGUI = 1
|
|
HAVE_MATERIALUI = 0
|
|
HAVE_XMB = 0
|
|
HAVE_OZONE = 0
|
|
HAVE_CONFIGFILE = 1
|
|
HAVE_PATCH = 1
|
|
HAVE_XDELTA = 0 # disabled because <lzma.h> isn't available (or we haven't figured out how to install it)
|
|
HAVE_CHEATS = 1
|
|
HAVE_CHEEVOS = 0
|
|
HAVE_LIBSHAKE = 0
|
|
HAVE_CORE_INFO_CACHE = 1
|
|
HAVE_OSS =1
|
|
|
|
OS = Linux
|
|
TARGET = retroarch
|
|
OPK_NAME = retroarch_retrofw.opk
|
|
|
|
OBJ :=
|
|
LINK := $(CXX)
|
|
DEF_FLAGS := -march=mips32 -mtune=mips32 -mhard-float -fomit-frame-pointer
|
|
DEF_FLAGS += -mplt -mno-shared
|
|
DEF_FLAGS += -ffunction-sections -fdata-sections
|
|
DEF_FLAGS += -I. -Ideps -DDINGUX=1 -DRETROFW=1 -MMD
|
|
DEF_FLAGS += -Wall -Wno-unused-variable -flto
|
|
DEF_FLAGS += -std=gnu99 -D_GNU_SOURCE
|
|
LIBS := -ldl -lrt -pthread
|
|
CFLAGS :=
|
|
CXXFLAGS := -fno-exceptions -fno-rtti -std=c++11 -D__STDC_CONSTANT_MACROS
|
|
ASFLAGS :=
|
|
LDFLAGS := -Wl,--gc-sections
|
|
INCLUDE_DIRS = -I$(GCW0_INC_DIR)
|
|
LIBRARY_DIRS = -L$(GCW0_LIB_DIR)
|
|
DEFINES := -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -UHAVE_STATIC_DUMMY
|
|
DEFINES += -DHAVE_C99=1 -DHAVE_CXX=1
|
|
DEFINES += -DHAVE_GETOPT_LONG=1 -DHAVE_DYNAMIC=1
|
|
DEFINES += -DHAVE_FILTERS_BUILTIN
|
|
DEFINES += -DHAVE_OSS=1
|
|
|
|
SDL_DINGUX_CFLAGS := $(shell $(GCW0_SDL_CONFIG) --cflags)
|
|
SDL_DINGUX_LIBS := $(shell $(GCW0_SDL_CONFIG) --libs)
|
|
FREETYPE_CFLAGS := $(shell $(GCW0_FREETYPE_CONFIG) --cflags)
|
|
FREETYPE_LIBS := $(shell $(GCW0_FREETYPE_CONFIG) --libs)
|
|
MMAP_LIBS = -lc
|
|
|
|
OBJDIR_BASE := obj-unix
|
|
|
|
ifeq ($(DEBUG), 1)
|
|
OBJDIR := $(OBJDIR_BASE)/debug
|
|
DEF_FLAGS += -O0 -g -DDEBUG -D_DEBUG
|
|
else
|
|
OBJDIR := $(OBJDIR_BASE)/release
|
|
DEF_FLAGS += -O2 -DNDEBUG
|
|
endif
|
|
|
|
include Makefile.common
|
|
|
|
DEF_FLAGS += $(INCLUDE_DIRS)
|
|
LDFLAGS += $(CFLAGS) $(CXXFLAGS) $(DEF_FLAGS)
|
|
CFLAGS += $(DEF_FLAGS)
|
|
CXXFLAGS += $(DEF_FLAGS)
|
|
|
|
HEADERS = $(wildcard */*/*.h) $(wildcard */*.h) $(wildcard *.h)
|
|
|
|
ifneq ($(V),1)
|
|
Q := @
|
|
endif
|
|
|
|
RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ))
|
|
|
|
define DESKTOP_ENTRY
|
|
[Desktop Entry]
|
|
Name=RetroArch
|
|
Comment=Frontend for emulators, game engines
|
|
Exec=retroarch
|
|
Terminal=false
|
|
Type=Application
|
|
StartupNotify=true
|
|
Icon=retroarch
|
|
Categories=emulators;
|
|
X-OD-NeedsDownscaling=true
|
|
endef
|
|
export DESKTOP_ENTRY
|
|
|
|
all: $(TARGET) opk
|
|
|
|
define INFO
|
|
ASFLAGS: $(ASFLAGS)
|
|
CC: $(CC)
|
|
CFLAGS: $(CFLAGS)
|
|
CPPFLAGS: $(CPPFLAGS)
|
|
CXX: $(CXX)
|
|
CXXFLAGS: $(CXXFLAGS)
|
|
DEFINES: $(DEFINES)
|
|
LDFLAGS: $(LDFLAGS)
|
|
LIBRARY_DIRS: $(LIBRARY_DIRS)
|
|
LIBS: $(LIBS)
|
|
LINK: $(LINK)
|
|
OBJCFLAGS: $(OBJCFLAGS)
|
|
RARCH_OBJ: $(RARCH_OBJ)
|
|
endef
|
|
export INFO
|
|
|
|
info:
|
|
ifneq ($(V),1)
|
|
@echo "$$INFO"
|
|
endif
|
|
|
|
-include $(RARCH_OBJ:.o=.d)
|
|
|
|
SYMBOL_MAP := -Wl,-Map=output.map
|
|
|
|
$(TARGET): $(RARCH_OBJ)
|
|
@$(if $(Q), $(shell echo echo LD $@),)
|
|
$(Q)$(LINK) -o $@ $(RARCH_OBJ) $(LIBS) $(LDFLAGS) $(LIBRARY_DIRS)
|
|
|
|
$(OBJDIR)/%.o: %.c
|
|
@mkdir -p $(dir $@)
|
|
@$(if $(Q), $(shell echo echo CC $<),)
|
|
$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) $(DEFINES) -c -o $@ $<
|
|
|
|
$(OBJDIR)/%.o: %.cpp
|
|
@mkdir -p $(dir $@)
|
|
@$(if $(Q), $(shell echo echo CXX $<),)
|
|
$(Q)$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) -MMD -c -o $@ $<
|
|
|
|
$(OBJDIR)/%.o: %.m
|
|
@mkdir -p $(dir $@)
|
|
@$(if $(Q), $(shell echo echo OBJC $<),)
|
|
$(Q)$(CXX) $(OBJCFLAGS) $(DEFINES) -MMD -c -o $@ $<
|
|
|
|
$(OBJDIR)/%.o: %.S $(HEADERS)
|
|
@mkdir -p $(dir $@)
|
|
@$(if $(Q), $(shell echo echo AS $<),)
|
|
$(Q)$(CC) $(CFLAGS) $(ASFLAGS) $(DEFINES) -c -o $@ $<
|
|
|
|
clean:
|
|
@$(if $(Q), echo $@,)
|
|
$(Q)rm -rf $(OBJDIR_BASE)
|
|
$(Q)rm -f $(TARGET)
|
|
$(Q)rm -f *.d
|
|
$(Q)rm -rf $(OPK_NAME)
|
|
|
|
opk: $(TARGET)
|
|
echo "$$DESKTOP_ENTRY" > default.retrofw.desktop
|
|
rm -f $(OPK_NAME)
|
|
cp media/ico_src/icon32.png retroarch.png
|
|
chmod +x retroarch
|
|
chmod 777 retroarch
|
|
ifeq ($(STRIP_BIN),1)
|
|
$(STRIP) --strip-unneeded retroarch
|
|
endif
|
|
$(GCW0_MK_SQUASH_FS) retroarch default.retrofw.desktop retroarch.png $(OPK_NAME) -all-root -no-xattrs -noappend -no-exports
|
|
rm -f default.retrofw.desktop retroarch.png
|
|
|
|
.PHONY: all clean opk
|
|
|
|
print-%:
|
|
@echo '$*=$($*)'
|