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