mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-07 08:36:02 -10:00
rslc is the slang compiler everywhere. ./configure --enable-glslang --enable-spirv_cross links the system's glslang and SPIRV-Cross next to it when both are found, and only then does Settings > Drivers offer a Shader Compiler choice between the two: one setting read per stage picks the path, with nothing copied. The MSVC 2010 project builds Vulkan and rslc. Samples that used the vendored copies run on rslc or the system's SPIRV-Cross.
475 lines
13 KiB
Makefile
475 lines
13 KiB
Makefile
include version.all
|
|
|
|
ifneq ($(filter $(CROSS_COMPILE),arm-webos-linux-gnueabi- aarch64-webos-linux-gnu-),$(CROSS_COMPILE))
|
|
$(error You need webOS toolchain to build this. See https://github.com/webosbrew/native-toolchain)
|
|
endif
|
|
|
|
ifdef SDKTARGETSYSROOT
|
|
$(warning "OE-based toolchain isn't supported anymore. Please use https://github.com/webosbrew/native-toolchain")
|
|
STAGING_DIR = $(SDKTARGETSYSROOT)
|
|
else ifndef STAGING_DIR
|
|
$(error "Can't find buildroot based toolchain. Please use https://github.com/webosbrew/native-toolchain")
|
|
endif
|
|
|
|
WEBOS_FREETYPE_CONFIG ?= $(STAGING_DIR)/usr/bin/freetype-config
|
|
|
|
WEBOS_INC_DIR ?= $(STAGING_DIR)/usr/include
|
|
WEBOS_USR_LIB_DIR ?= $(STAGING_DIR)/usr/lib
|
|
WEBOS_LIB_DIR ?= $(STAGING_DIR)/lib
|
|
|
|
ADD_SDL2_LIB ?= 0
|
|
ADD_SDL3_LIB ?= 0
|
|
SDL2_PREBUILT_ARCHIVE ?= https://github.com/webosbrew/SDL-webOS/releases/download/release-2.30.12-webos.5/SDL2-2.30.12-webos-abi.tar.gz
|
|
SDL3_PREBUILT_ARCHIVE ?= https://github.com/webosbrew/SDL-webOS/releases/download/release-3.4.16-webos.5/SDL3-3.4.16-webos.5.tar.gz
|
|
64TO32_BRIDGE_DIR ?= /media/developer/apps/usr/palm/applications/org.webosbrew.bridge-64to32
|
|
ELF_INTERPRETER_BIN ?= /lib/ld-linux-aarch64.so.1
|
|
SET_ELF_INTERPRETER ?= 0
|
|
REPACK_64_IPK_FOR_MENU ?= 0
|
|
SET_BUILD_ID ?= 0
|
|
|
|
#########################
|
|
#########################
|
|
|
|
APP_PACKAGE_NAME ?= com.retroarch.webos
|
|
ARES_PACKAGE_ARGS ?=
|
|
IPK_VERSION := $(shell grep '\#define PACKAGE_VERSION' version.all | sed -E 's/.*"([0-9]+\.[0-9]+\.[0-9]+)".*/\1/')
|
|
|
|
WEBOS = 1
|
|
DEBUG ?= 0
|
|
|
|
HAVE_CLOUDSYNC = 1
|
|
HAVE_SCREENSHOTS = 1
|
|
HAVE_REWIND = 1
|
|
HAVE_7ZIP = 1
|
|
HAVE_ACCESSIBILITY = 1
|
|
HAVE_AL = 0
|
|
HAVE_ALSA ?= 1
|
|
HAVE_ANGLE = 0
|
|
HAVE_AUDIOIO = 0
|
|
HAVE_AUDIOMIXER = 1
|
|
HAVE_BLISSBOX = 0
|
|
HAVE_BSV_MOVIE = 1
|
|
HAVE_RFLAC = 1
|
|
HAVE_DSP_FILTER = 1
|
|
HAVE_VIDEO_FILTER = 1
|
|
HAVE_STATIC_VIDEO_FILTERS = 1
|
|
HAVE_STATIC_AUDIO_FILTERS = 1
|
|
HAVE_FILTERS_BUILTIN = 1
|
|
# The cleanroom network stack, as on the desktop builds: the crypto,
|
|
# the encrypted keychain, the TLS 1.2/1.3 client and the SMB2/3 client
|
|
# with Kerberos; plus the NFSv3/v4 client. Needs nothing but sockets.
|
|
HAVE_CRYPTO = 1
|
|
HAVE_KEYCHAIN = 1
|
|
HAVE_RETROSSL = 1
|
|
HAVE_RETROSMB = 1
|
|
HAVE_RETRONFS = 1
|
|
HAVE_C99 = 1
|
|
HAVE_CC = 1
|
|
HAVE_CC_RESAMPLER = 1
|
|
HAVE_NEAREST_RESAMPLER = 1
|
|
HAVE_CHD = 1
|
|
# Read CHD images with the built-in reader rather than libchdr. Keep
|
|
# this on its own line: make keeps the whitespace before a trailing
|
|
# comment, and Makefile.common tests this with ifeq, which compares the
|
|
# string -- "1 " is not "1" and the flag silently does nothing.
|
|
HAVE_RCHD = 1
|
|
HAVE_COMMAND = 1
|
|
HAVE_CXX = 1
|
|
HAVE_RMP3 = 1
|
|
HAVE_DYNAMIC = 1
|
|
HAVE_DYLIB = 1
|
|
HAVE_EGL ?= 0
|
|
HAVE_FREETYPE ?= 1
|
|
HAVE_GDI = 0
|
|
HAVE_GETADDRINFO = 1
|
|
HAVE_GETOPT_LONG = 1
|
|
HAVE_GLSL ?= 1
|
|
HAVE_HID = 1
|
|
HAVE_RMODTRACKER = 1
|
|
HAVE_IMAGEVIEWER = 0
|
|
HAVE_XKBCOMMON ?= 0
|
|
HAVE_LANGEXTRA = 1
|
|
HAVE_LIBRETRODB = 1
|
|
HAVE_MENU = 1
|
|
HAVE_MENU_COMMON = 1
|
|
HAVE_NEON = 0
|
|
HAVE_NETWORKING = 1
|
|
HAVE_IFINFO = 1
|
|
HAVE_NETWORK_CMD = 1
|
|
HAVE_NETPLAYDISCOVERY = 1
|
|
HAVE_NETWORKGAMEPAD = 1
|
|
HAVE_GFX_WIDGETS = 1
|
|
HAVE_MMAP = 1
|
|
HAVE_ONLINE_UPDATER = 1
|
|
HAVE_OPENDINGUX_FBDEV = 0
|
|
HAVE_OPENGL = 0
|
|
HAVE_OPENGL1 = 0
|
|
HAVE_OPENGL_CORE = 0
|
|
HAVE_OPENGLES ?= 1
|
|
HAVE_OPENGLES3 ?= 0
|
|
HAVE_OPENGLES3_1 ?= 0
|
|
HAVE_OPENGLES3_2 ?= 0
|
|
HAVE_OPENSSL = 0
|
|
HAVE_OVERLAY = 1
|
|
HAVE_PULSE ?= 1
|
|
HAVE_RBMP = 1
|
|
HAVE_RJPEG = 1
|
|
HAVE_RPILED = 0
|
|
HAVE_RPNG = 1
|
|
HAVE_RWEBP = 1
|
|
HAVE_RDDS = 1
|
|
HAVE_RUNAHEAD = 1
|
|
HAVE_SDL = 0
|
|
HAVE_SDL2 ?= 1
|
|
HAVE_SDL3 ?= 0
|
|
HAVE_SHADERPIPELINE = 1
|
|
HAVE_STB_IMAGE = 1
|
|
HAVE_RVORBIS = 1
|
|
HAVE_STDIN_CMD = 1
|
|
HAVE_THREADS = 1
|
|
HAVE_TINYALSA ?= 0
|
|
ifeq ($(findstring arm64,$(ARCH)),arm64)
|
|
HAVE_UDEV ?= 1
|
|
else
|
|
# udev is only supported on webOS 4 and above
|
|
HAVE_UDEV ?= 0
|
|
endif
|
|
HAVE_RGUI = 1
|
|
HAVE_MATERIALUI = 0
|
|
HAVE_XMB = 1
|
|
HAVE_OZONE = 1
|
|
HAVE_RZSTD = 1
|
|
HAVE_CONFIGFILE = 1
|
|
HAVE_PATCH = 1
|
|
HAVE_CHEATS = 1
|
|
HAVE_CHEEVOS = 1
|
|
HAVE_LIBSHAKE = 1
|
|
HAVE_UPDATE_ASSETS = 1
|
|
HAVE_UPDATE_CORES = 1
|
|
HAVE_UPDATE_CORE_INFO = 1
|
|
HAVE_USERLAND ?= 0
|
|
HAVE_WEBOS_EXTRA_PROTOS ?= 0
|
|
HAVE_CORE_INFO_CACHE = 1
|
|
HAVE_WAYLAND ?= 0
|
|
HAVE_WAYLAND_BACKPORT ?= 1
|
|
HAVE_64TO32BIT_BRIDGE ?= 0
|
|
|
|
OS = Linux
|
|
TARGET = retroarch
|
|
|
|
OBJ :=
|
|
LINK := $(CC)
|
|
DEF_FLAGS += -ffunction-sections -fdata-sections
|
|
DEF_FLAGS += -I. -Ideps -DWEBOS=1 -MMD
|
|
DEF_FLAGS += -Wall -Wno-unused-variable
|
|
LIBS := -ldl -lrt -pthread
|
|
ifeq ($(findstring arm64,$(ARCH)),arm64)
|
|
ARCHFLAGS := -mcpu=cortex-a53
|
|
IPK_ARCH := aarch64
|
|
else
|
|
ARCHFLAGS := -mcpu=cortex-a9 -mtune=cortex-a53 -mfloat-abi=softfp
|
|
HAVE_NEON = 1
|
|
IPK_ARCH := arm
|
|
endif
|
|
CFLAGS := $(ARCHFLAGS)
|
|
CFLAGS += -DWEBOS_APP_ID=\"$(APP_PACKAGE_NAME)\"
|
|
CXXFLAGS := $(ARCHFLAGS) -fno-exceptions -fno-rtti -std=c++11 -D__STDC_CONSTANT_MACROS
|
|
ASFLAGS := $(ARCHFLAGS)
|
|
LDFLAGS := -Wl,-rpath=\$$ORIGIN/lib,--gc-sections
|
|
ifeq ($(SET_BUILD_ID),1)
|
|
LDFLAGS += -Wl,--build-id=sha1
|
|
endif
|
|
ifeq ($(HAVE_64TO32BIT_BRIDGE),1)
|
|
LDFLAGS += -Wl,-rpath=$(64TO32_BRIDGE_DIR)/lib
|
|
endif
|
|
INCLUDE_DIRS = -I$(WEBOS_INC_DIR)
|
|
LIBRARY_DIRS = -L$(WEBOS_USR_LIB_DIR)
|
|
DEFINES := -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -UHAVE_STATIC_DUMMY
|
|
DEFINES += -DHAVE_C99=1 -DHAVE_CXX=1 -D_GNU_SOURCE
|
|
DEFINES += -DHAVE_GETOPT_LONG=1 -DHAVE_DYNAMIC=1
|
|
DEFINES += -DHAVE_FILTERS_BUILTIN
|
|
DEFINES += -DHAVE_NETWORKING -DHAVE_IFINFO -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES
|
|
DEFINES += -DHAVE_NETWORKGAMEPAD
|
|
ifeq ($(HAVE_FREETYPE),1)
|
|
DEFINES += -DHAVE_FREETYPE
|
|
endif
|
|
DEFINES += -DHAVE_UPDATE_CORE_INFO
|
|
EGL_LIBS = -lEGL
|
|
OPENGLES_LIBS = -lGLESv2
|
|
XKBCOMMON_LIBS = -lxkbcommon
|
|
WAYLAND_PROTO_SCRIPT := ./gfx/common/wayland/generate_wayland_protos.sh
|
|
ifeq ($(HAVE_XKBCOMMON), 1)
|
|
DEFINES += -DHAVE_XKBCOMMON=1
|
|
endif
|
|
ifneq (,$(filter 1,$(HAVE_OPENGLES3) $(HAVE_OPENGLES3_1) $(HAVE_OPENGLES3_2)))
|
|
DEFINES += -DHAVE_OPENGLES3
|
|
endif
|
|
ifeq ($(HAVE_OPENGLES3_1),1)
|
|
DEFINES += -DHAVE_OPENGLES3_1
|
|
endif
|
|
ifeq ($(HAVE_OPENGLES3_2),1)
|
|
DEFINES += -DHAVE_OPENGLES3_2
|
|
endif
|
|
ifeq ($(HAVE_WAYLAND),1)
|
|
DEFINES += -DHAVE_WAYLAND=1
|
|
WAYLAND_LIBS += -lwayland-client -lwayland-cursor
|
|
ifeq ($(HAVE_EGL),1)
|
|
WAYLAND_LIBS += -lwayland-egl
|
|
endif
|
|
endif
|
|
ifeq ($(HAVE_WEBOS_EXTRA_PROTOS),1)
|
|
DEFINES += -DHAVE_WEBOS_EXTRA_PROTOS=1
|
|
endif
|
|
ifeq ($(HAVE_USERLAND),1)
|
|
DEFINES += -DHAVE_USERLAND
|
|
WAYLAND_LIBS += -lhelpers
|
|
endif
|
|
ifeq ($(HAVE_UDEV),1)
|
|
UDEV_LIBS = -ludev
|
|
UDEV_CFLAGS = -DHAVE_UDEV
|
|
endif
|
|
ifeq ($(HAVE_ALSA),1)
|
|
DEFINES += -DHAVE_ALSA
|
|
LIBS += -lasound
|
|
ifeq ($(HAVE_TINYALSA),1)
|
|
DEFINES += -DHAVE_TINYALSA
|
|
endif
|
|
endif
|
|
ifeq ($(HAVE_PULSE),1)
|
|
DEFINES += -DHAVE_PULSE
|
|
endif
|
|
ifeq ($(HAVE_SDL2),1)
|
|
DEFINES += -DHAVE_SDL2
|
|
endif
|
|
ifeq ($(HAVE_SDL3),1)
|
|
DEFINES += -DHAVE_SDL3
|
|
endif
|
|
ifeq ($(SET_ELF_INTERPRETER), 1)
|
|
ELF_INTERPRETER ?= $(64TO32_BRIDGE_DIR)$(ELF_INTERPRETER_BIN)
|
|
endif
|
|
|
|
PKG_CONFIG=pkg-config
|
|
|
|
SDL2_CFLAGS := $(shell $(PKG_CONFIG) --cflags sdl2)
|
|
SDL2_LIBS := $(shell $(PKG_CONFIG) --libs sdl2)
|
|
PULSE_LIBS = $(shell $(PKG_CONFIG) --libs libpulse)
|
|
FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
|
|
FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
|
|
FONTCONFIG_CFLAGS := $(shell $(PKG_CONFIG) --cflags fontconfig)
|
|
FONTCONFIG_LIBS := $(shell $(PKG_CONFIG) --libs fontconfig)
|
|
MMAP_LIBS = -lc
|
|
ifeq ($(HAVE_NEON),1)
|
|
NEON_CFLAGS += -mfpu=neon
|
|
NEON_ASFLAGS += -mfpu=neon
|
|
endif
|
|
NETWORKING_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
|
|
|
|
# Only version_git.c reads the commit hash: on every other command
|
|
# line it would make a new commit miss ccache's direct mode.
|
|
ifneq ($(GIT_VERSION),)
|
|
DEFINES := $(filter-out -DGIT_VERSION=%,$(DEFINES))
|
|
$(OBJDIR)/version_git.o: DEFINES += -DGIT_VERSION=$(GIT_VERSION)
|
|
endif
|
|
|
|
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))
|
|
|
|
ifeq ($(findstring arm64,$(ARCH)),arm64)
|
|
IPK_TITLE := RetroArch (64-bit)
|
|
else
|
|
IPK_TITLE := RetroArch
|
|
endif
|
|
|
|
define APPINFO
|
|
{
|
|
"id": "$(APP_PACKAGE_NAME)",
|
|
"version": "$(IPK_VERSION)",
|
|
"vendor": "webosbrew.org",
|
|
"title": "$(IPK_TITLE)",
|
|
"icon": "icon160.png",
|
|
"main": "retroarch",
|
|
"iconColor": "#333333",
|
|
"type": "native",
|
|
"appDescription": "Emulation frontend",
|
|
"cloudgame_active": true,
|
|
"useAllMouseButtons": true,
|
|
"useAllKeyboardKeys": true
|
|
}
|
|
endef
|
|
export APPINFO
|
|
|
|
all: $(TARGET) ipk
|
|
|
|
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
|
|
|
|
prebuild:
|
|
ifeq ($(HAVE_WAYLAND),1)
|
|
@echo "Generating Wayland protocols..."
|
|
@$(SHELL) $(WAYLAND_PROTO_SCRIPT)
|
|
endif
|
|
|
|
$(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 SDL
|
|
$(Q)rm -rf SDL.tmp
|
|
$(Q)rm -f SDL2-prebuilt.tar.gz.tmp
|
|
$(Q)rm -rf SDL3
|
|
$(Q)rm -rf SDL3.tmp
|
|
$(Q)rm -f SDL3-prebuilt.tar.gz.tmp
|
|
$(Q)rm -rf webos/*.ipk
|
|
$(Q)rm -rf webos/dist
|
|
|
|
sdl2: $(TARGET)
|
|
ifeq ($(ADD_SDL2_LIB), 1)
|
|
@if [ ! -f SDL/lib/libSDL2-2.0.so.0 ]; then \
|
|
echo "Downloading SDL2 prebuilt"; \
|
|
rm -rf SDL.tmp SDL2-prebuilt.tar.gz.tmp; \
|
|
mkdir -p SDL.tmp; \
|
|
curl -fsSL --retry 5 --retry-all-errors --retry-delay 5 --connect-timeout 30 \
|
|
-o SDL2-prebuilt.tar.gz.tmp $(SDL2_PREBUILT_ARCHIVE) \
|
|
|| { echo "error: SDL2 prebuilt download failed: $(SDL2_PREBUILT_ARCHIVE)"; \
|
|
rm -rf SDL.tmp SDL2-prebuilt.tar.gz.tmp; exit 1; }; \
|
|
tar -C SDL.tmp -zxf SDL2-prebuilt.tar.gz.tmp \
|
|
|| { echo "error: SDL2 prebuilt archive is corrupt or truncated"; \
|
|
rm -rf SDL.tmp SDL2-prebuilt.tar.gz.tmp; exit 1; }; \
|
|
rm -f SDL2-prebuilt.tar.gz.tmp; \
|
|
mv SDL.tmp SDL; \
|
|
else \
|
|
echo "SDL2 prebuilt already exists, skipping download"; \
|
|
fi
|
|
endif
|
|
|
|
sdl3: $(TARGET)
|
|
ifeq ($(ADD_SDL3_LIB), 1)
|
|
@if [ ! -f SDL3/lib/libSDL3.so.0 ]; then \
|
|
echo "Downloading SDL3 prebuilt"; \
|
|
rm -rf SDL3.tmp SDL3-prebuilt.tar.gz.tmp; \
|
|
mkdir -p SDL3.tmp; \
|
|
curl -fsSL --retry 5 --retry-all-errors --retry-delay 5 --connect-timeout 30 \
|
|
-o SDL3-prebuilt.tar.gz.tmp $(SDL3_PREBUILT_ARCHIVE) \
|
|
|| { echo "error: SDL3 prebuilt download failed: $(SDL3_PREBUILT_ARCHIVE)"; \
|
|
rm -rf SDL3.tmp SDL3-prebuilt.tar.gz.tmp; exit 1; }; \
|
|
tar -C SDL3.tmp -zxf SDL3-prebuilt.tar.gz.tmp \
|
|
|| { echo "error: SDL3 prebuilt archive is corrupt or truncated"; \
|
|
rm -rf SDL3.tmp SDL3-prebuilt.tar.gz.tmp; exit 1; }; \
|
|
rm -f SDL3-prebuilt.tar.gz.tmp; \
|
|
mv SDL3.tmp SDL3; \
|
|
else \
|
|
echo "SDL3 prebuilt already exists, skipping download"; \
|
|
fi
|
|
endif
|
|
|
|
ipk: prebuild $(TARGET) sdl2 sdl3
|
|
rm -rf webos/dist
|
|
mkdir -p webos/dist/lib
|
|
ifeq ($(SET_ELF_INTERPRETER), 1)
|
|
patchelf --set-interpreter $(ELF_INTERPRETER) $(TARGET)
|
|
endif
|
|
echo "$$APPINFO" > webos/dist/appinfo.json
|
|
# BSD cp (macOS) has no -t; put the destination last.
|
|
cp -vf $(TARGET) webos/icon160.png webos/dist/
|
|
cp -vf $(WEBOS_USR_LIB_DIR)/libstdc++.so.6 webos/dist/lib/
|
|
ifeq ($(HAVE_XKBCOMMON), 1)
|
|
cp -vf $(WEBOS_USR_LIB_DIR)/libxkbcommon.so.0 webos/dist/lib/
|
|
endif
|
|
cp -vf $(WEBOS_LIB_DIR)/libatomic.so.1 webos/dist/lib/
|
|
ifeq ($(ADD_SDL2_LIB), 1)
|
|
cp -vf SDL/lib/libSDL2-2.0.so.0 webos/dist/lib/
|
|
endif
|
|
ifeq ($(ADD_SDL3_LIB), 1)
|
|
cp -vf SDL3/lib/libSDL3.so.0 webos/dist/lib/
|
|
endif
|
|
ifneq ($(DEBUG), 1)
|
|
$(STRIP) webos/dist/$(TARGET)
|
|
endif
|
|
cd webos && ares-package dist $(ARES_PACKAGE_ARGS)
|
|
ifeq ($(REPACK_64_IPK_FOR_MENU), 1)
|
|
./webos/patch-aarch64-in-ipk.sh webos/$(APP_PACKAGE_NAME)_$(IPK_VERSION)_$(IPK_ARCH).ipk
|
|
rm webos/$(APP_PACKAGE_NAME)_$(IPK_VERSION)_$(IPK_ARCH).ipk
|
|
mv webos/$(APP_PACKAGE_NAME)_$(IPK_VERSION)_$(IPK_ARCH)-patched.ipk webos/$(APP_PACKAGE_NAME)_$(IPK_VERSION)_$(IPK_ARCH).ipk
|
|
endif
|
|
|
|
install: ipk
|
|
ares-install webos/$(APP_PACKAGE_NAME)_$(IPK_VERSION)_$(ARCH).ipk
|
|
|
|
launch: install
|
|
ares-launch $(APP_PACKAGE_NAME)
|
|
|
|
.PHONY: all clean prebuild ipk
|
|
|
|
print-%:
|
|
@echo '$*=$($*)'
|