mirror of
https://github.com/mkxp-z/mkxp-z.git
synced 2025-08-23 15:23:44 +02:00
180 lines
5.5 KiB
Text
180 lines
5.5 KiB
Text
ifeq ($(platform),win64)
|
|
MKXPZ_SYSTEM = windows
|
|
MKXPZ_CPU_FAMILY = x86_64
|
|
MKXPZ_CPU = x86_64
|
|
MKXPZ_ENDIAN = little
|
|
else ifeq ($(platform),win32)
|
|
MKXPZ_SYSTEM = windows
|
|
MKXPZ_CPU_FAMILY = x86
|
|
MKXPZ_CPU = i686
|
|
MKXPZ_ENDIAN = little
|
|
else ifeq ($(platform),win64)
|
|
MKXPZ_SYSTEM = windows
|
|
MKXPZ_CPU_FAMILY = x86_64
|
|
MKXPZ_CPU = x86_64
|
|
MKXPZ_ENDIAN = little
|
|
else ifeq ($(platform),win32)
|
|
MKXPZ_SYSTEM = windows
|
|
MKXPZ_CPU_FAMILY = x86
|
|
MKXPZ_CPU = i686
|
|
MKXPZ_ENDIAN = little
|
|
else ifeq ($(platform),unix)
|
|
MKXPZ_SYSTEM = linux
|
|
ifeq ($(ARCH),x86)
|
|
MKXPZ_CPU_FAMILY = x86
|
|
MKXPZ_CPU = i686
|
|
MKXPZ_ENDIAN = little
|
|
else
|
|
MKXPZ_CPU_FAMILY = x86_64
|
|
MKXPZ_CPU = x86_64
|
|
MKXPZ_ENDIAN = little
|
|
endif
|
|
else ifeq ($(platform),osx)
|
|
MKXPZ_SYSTEM = darwin
|
|
ifeq ($(ARCH),arm)
|
|
MKXPZ_CPU_FAMILY = arm64
|
|
MKXPZ_CPU = generic-armv8-a
|
|
MKXPZ_ENDIAN = little
|
|
else
|
|
MKXPZ_CPU_FAMILY = x86_64
|
|
MKXPZ_CPU = x86_64
|
|
MKXPZ_ENDIAN = little
|
|
endif
|
|
else ifeq ($(platform),android-arm)
|
|
MKXPZ_SYSTEM = android
|
|
MKXPZ_SUFFIX = android
|
|
MKXPZ_ARCH_CMAKE = armv7-a
|
|
MKXPZ_CPU_FAMILY = armv7
|
|
MKXPZ_CPU = generic-armv7-a
|
|
MKXPZ_ENDIAN = little
|
|
CC = $(ANDROID_NDK_CLANG)/bin/armv7a-linux-androideabi21-clang
|
|
CXX = $(ANDROID_NDK_CLANG)/bin/armv7a-linux-androideabi21-clang++
|
|
AR = $(ANDROID_NDK_LLVM)/bin/llvm-ar
|
|
else ifeq ($(platform),android-arm64)
|
|
MKXPZ_SYSTEM = android
|
|
MKXPZ_SUFFIX = android
|
|
MKXPZ_ARCH_CMAKE = aarch64
|
|
MKXPZ_CPU_FAMILY = arm64
|
|
MKXPZ_CPU = generic-armv8-a
|
|
MKXPZ_ENDIAN = little
|
|
CC = $(ANDROID_NDK_CLANG)/bin/aarch64-linux-android21-clang
|
|
CXX = $(ANDROID_NDK_CLANG)/bin/aarch64-linux-android21-clang++
|
|
AR = $(ANDROID_NDK_LLVM)/bin/llvm-ar
|
|
else ifeq ($(platform),android-x86)
|
|
MKXPZ_SYSTEM = android
|
|
MKXPZ_SUFFIX = android
|
|
MKXPZ_ARCH_CMAKE = i686
|
|
MKXPZ_CPU_FAMILY = x86
|
|
MKXPZ_CPU = i686
|
|
MKXPZ_ENDIAN = little
|
|
CC = $(ANDROID_NDK_CLANG)/bin/i686-linux-android21-clang
|
|
CXX = $(ANDROID_NDK_CLANG)/bin/i686-linux-android21-clang++
|
|
AR = $(ANDROID_NDK_LLVM)/bin/llvm-ar
|
|
else ifeq ($(platform),android-x86_64)
|
|
MKXPZ_SYSTEM = android
|
|
MKXPZ_SUFFIX = android
|
|
MKXPZ_ARCH_CMAKE = x86_64
|
|
MKXPZ_CPU_FAMILY = x86_64
|
|
MKXPZ_CPU = x86_64
|
|
MKXPZ_ENDIAN = little
|
|
CC = $(ANDROID_NDK_CLANG)/bin/x86_64-linux-android21-clang
|
|
CXX = $(ANDROID_NDK_CLANG)/bin/x86_64-linux-android21-clang++
|
|
AR = $(ANDROID_NDK_LLVM)/bin/llvm-ar
|
|
else ifeq ($(platform),ios-arm64)
|
|
MKXPZ_SYSTEM = darwin
|
|
MKXPZ_SUFFIX = ios
|
|
MKXPZ_CPU_FAMILY = arm64
|
|
MKXPZ_CPU = generic-armv8-a
|
|
MKXPZ_ENDIAN = little
|
|
else ifeq ($(platform),ios9)
|
|
MKXPZ_SYSTEM = darwin
|
|
MKXPZ_SUFFIX = ios
|
|
MKXPZ_CPU_FAMILY = armv7
|
|
MKXPZ_CPU = generic-armv7-a
|
|
MKXPZ_ENDIAN = little
|
|
else ifeq ($(platform),tvos-arm64)
|
|
MKXPZ_SYSTEM = darwin
|
|
MKXPZ_SUFFIX = tvos
|
|
MKXPZ_CPU_FAMILY = arm64
|
|
MKXPZ_CPU = generic-armv8-a
|
|
MKXPZ_ENDIAN = little
|
|
else ifeq ($(platform),libnx)
|
|
MKXPZ_SYSTEM = bare
|
|
MKXPZ_CPU_FAMILY = arm64
|
|
MKXPZ_CPU = cortex-a57
|
|
MKXPZ_ENDIAN = little
|
|
else ifeq ($(platform),gcw0)
|
|
MKXPZ_SYSTEM = linux
|
|
MKXPZ_CPU_FAMILY = mips
|
|
MKXPZ_CPU = jz4770
|
|
MKXPZ_ENDIAN = little
|
|
else ifeq ($(platform),miyoo)
|
|
MKXPZ_SYSTEM = linux
|
|
MKXPZ_CPU_FAMILY = armv7
|
|
MKXPZ_CPU = cortex-a7
|
|
MKXPZ_ENDIAN = little
|
|
else ifeq ($(platform),retrofw)
|
|
MKXPZ_SYSTEM = linux
|
|
MKXPZ_CPU_FAMILY = mips
|
|
MKXPZ_CPU = jz4760
|
|
MKXPZ_ENDIAN = little
|
|
else ifeq ($(platform),emscripten)
|
|
MKXPZ_SYSTEM = emscripten
|
|
MKXPZ_CPU_FAMILY = wasm32
|
|
MKXPZ_CPU = wasm32
|
|
MKXPZ_ENDIAN = little
|
|
else
|
|
$(error unknown platform '$(platform)')
|
|
endif
|
|
|
|
ifeq ($(MKXPZ_LTO),)
|
|
MKXPZ_LTO = true
|
|
endif
|
|
|
|
ifeq ($(MKXPZ_PLATFORM),windows)
|
|
MKXPZ_EXTENSION = dll
|
|
else ifeq ($(MKXPZ_PLATFORM),linux)
|
|
MKXPZ_EXTENSION = so
|
|
else ifeq ($(MKXPZ_PLATFORM),darwin)
|
|
MKXPZ_EXTENSION = dylib
|
|
else
|
|
MKXPZ_EXTENSION = a
|
|
endif
|
|
|
|
ifeq ($(MKXPZ_PLATFORM),emscripten)
|
|
MKXPZ_EXTENSION_COPY = bc
|
|
else
|
|
MKXPZ_EXTENSION_COPY = $(MKXPZ_EXTENSION)
|
|
endif
|
|
|
|
MKXPZ_BUILD_OUTPUT = mkxp-z_libretro.$(MKXPZ_EXTENSION)
|
|
ifeq ($(MKXPZ_SUFFIX),)
|
|
MKXPZ_BUILD_OUTPUT_COPY = mkxp-z_libretro.$(MKXPZ_EXTENSION_COPY)
|
|
else
|
|
MKXPZ_BUILD_OUTPUT_COPY = mkxp-z_libretro_$(MKXPZ_SUFFIX).$(MKXPZ_EXTENSION_COPY)
|
|
endif
|
|
|
|
MKXPZ_BUILD_DIR = build
|
|
MKXPZ_CROSS_FILE = cross.ini
|
|
|
|
$(MKXPZ_BUILD_OUTPUT_COPY): $(MKXPZ_BUILD_DIR)/$(MKXPZ_BUILD_OUTPUT)
|
|
cp $(MKXPZ_BUILD_DIR)/$(MKXPZ_BUILD_OUTPUT) $(MKXPZ_BUILD_OUTPUT_COPY)
|
|
|
|
$(MKXPZ_BUILD_DIR)/$(MKXPZ_BUILD_OUTPUT): $(MKXPZ_BUILD_DIR)/build.ini
|
|
cd $(MKXPZ_BUILD_DIR) && CLICOLOR_FORCE=1 ninja -v
|
|
|
|
$(MKXPZ_BUILD_DIR)/build.ini: $(MKXPZ_CROSS_FILE)
|
|
CLICOLOR_FORCE=1 meson setup $(MKXPZ_BUILD_DIR) --cross-file $(MKXPZ_CROSS_FILE) -Dlibretro=true -Demscripten_threaded=false -Db_lto=$(MKXPZ_LTO)
|
|
|
|
$(MKXPZ_CROSS_FILE):
|
|
echo "[binaries]" > $(MKXPZ_CROSS_FILE)
|
|
echo "c = '$(CC)'" >> $(MKXPZ_CROSS_FILE)
|
|
echo "cpp = '$(CXX)'" >> $(MKXPZ_CROSS_FILE)
|
|
echo "ar = '$(AR)'" >> $(MKXPZ_CROSS_FILE)
|
|
echo "[host_machine]" >> $(MKXPZ_CROSS_FILE)
|
|
echo "system = '$(MKXPZ_SYSTEM)'" >> $(MKXPZ_CROSS_FILE)
|
|
echo "cpu_family = '$(MKXPZ_CPU_FAMILY)'" >> $(MKXPZ_CROSS_FILE)
|
|
echo "cpu = '$(MKXPZ_CPU)'" >> $(MKXPZ_CROSS_FILE)
|
|
echo "endian = '$(MKXPZ_ENDIAN)'" >> $(MKXPZ_CROSS_FILE)
|
|
if [ -n '$(MKXPZ_ARCH_CMAKE)' ]; then echo "[cmake]" >> $(MKXPZ_CROSS_FILE); fi
|
|
if [ -n '$(MKXPZ_ARCH_CMAKE)' ]; then echo "CMAKE_SYSTEM_PROCESSOR = '$(MKXPZ_ARCH_CMAKE)'" >> $(MKXPZ_CROSS_FILE); fi
|