mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-07 08:36:02 -10:00
The webOS ipk packaging - the icon, its build script, the aarch64 repack script and the notes - lives under pkg/webos with the other platforms' packaging. Makefile.webos stages and packages the ipk there, the webOS workflow collects its artifacts from there, and the Homebrew Channel manifest takes its icon from pkg/webos on master.
474 lines
13 KiB
Makefile
474 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_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 pkg/webos/*.ipk
|
|
$(Q)rm -rf pkg/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 pkg/webos/dist
|
|
mkdir -p pkg/webos/dist/lib
|
|
ifeq ($(SET_ELF_INTERPRETER), 1)
|
|
patchelf --set-interpreter $(ELF_INTERPRETER) $(TARGET)
|
|
endif
|
|
echo "$$APPINFO" > pkg/webos/dist/appinfo.json
|
|
# BSD cp (macOS) has no -t; put the destination last.
|
|
cp -vf $(TARGET) pkg/webos/icon160.png pkg/webos/dist/
|
|
cp -vf $(WEBOS_USR_LIB_DIR)/libstdc++.so.6 pkg/webos/dist/lib/
|
|
ifeq ($(HAVE_XKBCOMMON), 1)
|
|
cp -vf $(WEBOS_USR_LIB_DIR)/libxkbcommon.so.0 pkg/webos/dist/lib/
|
|
endif
|
|
cp -vf $(WEBOS_LIB_DIR)/libatomic.so.1 pkg/webos/dist/lib/
|
|
ifeq ($(ADD_SDL2_LIB), 1)
|
|
cp -vf SDL/lib/libSDL2-2.0.so.0 pkg/webos/dist/lib/
|
|
endif
|
|
ifeq ($(ADD_SDL3_LIB), 1)
|
|
cp -vf SDL3/lib/libSDL3.so.0 pkg/webos/dist/lib/
|
|
endif
|
|
ifneq ($(DEBUG), 1)
|
|
$(STRIP) pkg/webos/dist/$(TARGET)
|
|
endif
|
|
cd pkg/webos && ares-package dist $(ARES_PACKAGE_ARGS)
|
|
ifeq ($(REPACK_64_IPK_FOR_MENU), 1)
|
|
./pkg/webos/patch-aarch64-in-ipk.sh pkg/webos/$(APP_PACKAGE_NAME)_$(IPK_VERSION)_$(IPK_ARCH).ipk
|
|
rm pkg/webos/$(APP_PACKAGE_NAME)_$(IPK_VERSION)_$(IPK_ARCH).ipk
|
|
mv pkg/webos/$(APP_PACKAGE_NAME)_$(IPK_VERSION)_$(IPK_ARCH)-patched.ipk pkg/webos/$(APP_PACKAGE_NAME)_$(IPK_VERSION)_$(IPK_ARCH).ipk
|
|
endif
|
|
|
|
install: ipk
|
|
ares-install pkg/webos/$(APP_PACKAGE_NAME)_$(IPK_VERSION)_$(ARCH).ipk
|
|
|
|
launch: install
|
|
ares-launch $(APP_PACKAGE_NAME)
|
|
|
|
.PHONY: all clean prebuild ipk
|
|
|
|
print-%:
|
|
@echo '$*=$($*)'
|