diff --git a/GNUmakefile b/GNUmakefile index 45f2493d..32ee6156 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -154,8 +154,10 @@ MACOS_TARGETS := \ else ifeq ($(UNAME_S),Linux) ifeq ($(HAVE_LINUX_MACOS),1) MACOS_TARGETS := \ - out/macosdebug/tildefriends \ - out/macosrelease/tildefriends + out/macosdebug-arm/tildefriends \ + out/macosrelease-arm/tildefriends \ + out/macosdebug-x86_64/tildefriends \ + out/macosrelease-x86_64/tildefriends else MACOS_TARGETS := endif @@ -176,7 +178,11 @@ BUILD_TYPES += iosdebug iosrelease all: $(IOS_APPS) endif ifeq ($(HAVE_LINUX_MACOS),1) -BUILD_TYPES += macosdebug macosrelease +BUILD_TYPES += \ + macosdebug-arm \ + macosrelease-arm \ + macosdebug-x86_64 \ + macosrelease-x86_64 all: $(IOS_APPS) endif ifeq ($(UNAME_S),Darwin) @@ -198,7 +204,8 @@ DEBUG_TARGETS := \ out/androiddebug-x86_64/tildefriends \ out/androiddebug-x86/tildefriends \ out/armdebug/tildefriends \ - out/macosdebug/tildefriends + out/macosdebug-arm/tildefriends \ + out/macosdebug-x86_64/tildefriends RELEASE_TARGETS := \ out/release/tildefriends \ out/winrelease/tildefriends.exe \ @@ -209,7 +216,8 @@ RELEASE_TARGETS := \ out/androidrelease-x86_64/tildefriends \ out/androidrelease-x86/tildefriends \ out/armrelease/tildefriends \ - out/macosrelease/tildefriends + out/macosrelease-arm/tildefriends \ + out/macosrelease-x86_64/tildefriends ALL_TARGETS = $(DEBUG_TARGETS) $(RELEASE_TARGETS) ANDROID_RELEASE_TARGETS := $(filter-out $(DEBUG_TARGETS),$(ANDROID_TARGETS)) NONANDROID_RELEASE_TARGETS := $(filter-out $(ANDROID_ARM64_TARGETS),$(RELEASE_TARGETS)) @@ -263,9 +271,10 @@ else ifeq ($(UNAME_S),Linux) $(IOS_TARGETS): CFLAGS += -isysroot deps/ios_toolchain/target/SDKs/iPhoneOS18.2.sdk -arch arm64 -DTARGET_OS_IPHONE=1 $(IOS_TARGETS): LDFLAGS += -isysroot deps/ios_toolchain/target/SDKs/iPhoneOS18.2.sdk $(IOS_TARGETS): CC = PATH=$$PATH:deps/ios_toolchain/target/bin LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:deps/ios_toolchain/target/lib deps/ios_toolchain/target/bin/arm-apple-darwin11-clang -$(MACOS_TARGETS): CC = PATH=deps/macos_toolchain/bin:$$PATH deps/macos_toolchain/bin/oa64-clang -$(MACOS_TARGETS): CFLAGS += -arch arm64 -$(MACOS_TARGETS): LDFLAGS += -arch arm64 +$(filter $(BUILD_DIR)/macosdebug-x86_64/%,$(ALL_TARGETS)): CC = PATH=deps/macos_toolchain/bin:$$PATH deps/macos_toolchain/bin/o64-clang +$(filter $(BUILD_DIR)/macosdebug-arm/%,$(ALL_TARGETS)): CC = PATH=deps/macos_toolchain/bin:$$PATH deps/macos_toolchain/bin/oa64-clang +$(filter $(BUILD_DIR)/macosrelease-x86_64/%,$(ALL_TARGETS)): CC = PATH=deps/macos_toolchain/bin:$$PATH deps/macos_toolchain/bin/o64-clang +$(filter $(BUILD_DIR)/macosrelease-arm/%,$(ALL_TARGETS)): CC = PATH=deps/macos_toolchain/bin:$$PATH deps/macos_toolchain/bin/oa64-clang endif $(ANDROID_X86_64_TARGETS): ANDROID_NDK_TARGET_TRIPLE := x86_64-linux-android $(ANDROID_X86_TARGETS): ANDROID_NDK_TARGET_TRIPLE := i686-linux-android @@ -296,8 +305,10 @@ $(IOS_TARGETS): LDFLAGS += -Lout/openssl/ios/ios64-xcrun/usr/local/lib else $(IOS_TARGETS): CFLAGS += -Iout/openssl/$(UNAME_S)/ios64-cross/usr/local/include $(IOS_TARGETS): LDFLAGS += -Lout/openssl/$(UNAME_S)/ios64-cross/usr/local/lib -$(MACOS_TARGETS): CFLAGS += -Iout/openssl/$(UNAME_S)/macos/usr/local/include -$(MACOS_TARGETS): LDFLAGS += -Lout/openssl/$(UNAME_S)/macos/usr/local/lib +$(filter $(BUILD_DIR)/macosdebug-x86_64/%,$(ALL_TARGETS)): CFLAGS += -Iout/openssl/$(UNAME_S)/macos-x86_64/usr/local/include +$(filter $(BUILD_DIR)/macosdebug-arm/%,$(ALL_TARGETS)): CFLAGS += -Iout/openssl/$(UNAME_S)/macos-arm/usr/local/include +$(filter $(BUILD_DIR)/macosdebug-x86_64/%,$(ALL_TARGETS)): LDFLAGS += -Lout/openssl/$(UNAME_S)/macos-x86_64/usr/local/lib +$(filter $(BUILD_DIR)/macosdebug-arm/%,$(ALL_TARGETS)): LDFLAGS += -Lout/openssl/$(UNAME_S)/macos-arm/usr/local/lib endif $(IOSSIM_TARGETS): CFLAGS += -Iout/openssl/ios/iossimulator-xcrun/usr/local/include $(IOSSIM_TARGETS): LDFLAGS += -Lout/openssl/ios/iossimulator-xcrun/usr/local/lib @@ -325,7 +336,7 @@ get_objs = \ $(foreach build_type,androiddebug androidrelease androiddebug-x86 androidrelease-x86 androiddebug-x86_64 androidrelease-x86_64 androiddebug-armv7a androidrelease-armv7a,$(addprefix $(BUILD_DIR)/$(build_type)/,$(addsuffix .o,$(basename $(value $(1)_android))))) \ $(foreach build_type,androiddebug androidrelease androiddebug-x86 androidrelease-x86 androiddebug-x86_64 androidrelease-x86_64 androiddebug-armv7a androidrelease-armv7a,$(addprefix $(BUILD_DIR)/$(build_type)/,$(addsuffix .o,$(basename $(value $(1)_unix))))) \ $(foreach build_type,iosdebug iosrelease iossimdebug iossimrelease,$(addprefix $(BUILD_DIR)/$(build_type)/,$(addsuffix .o,$(basename $(value $(1)_ios))))) \ - $(foreach build_type,iosdebug iosrelease iossimdebug iossimrelease macosdebug macosrelease,$(addprefix $(BUILD_DIR)/$(build_type)/,$(addsuffix .o,$(basename $(value $(1)_macos))))) \ + $(foreach build_type,iosdebug iosrelease iossimdebug iossimrelease macosdebug-arm macosrelease-arm macosdebug-x86_64 macosrelease-x86_64,$(addprefix $(BUILD_DIR)/$(build_type)/,$(addsuffix .o,$(basename $(value $(1)_macos))))) \ $(foreach build_type,androiddebug-x86 androidrelease-x86,$(addprefix $(BUILD_DIR)/$(build_type)/,$(addsuffix .o,$(basename $(value $(1)_x86))))) \ $(if $(findstring Darwin,$(UNAME_S)),$(foreach build_type,debug release,$(addprefix $(BUILD_DIR)/$(build_type)/,$(addsuffix .o,$(basename $(value $(1)_macos)))))) \ $(if $(findstring Darwin,$(UNAME_S)),,$(foreach build_type,debug release armdebug armrelease,$(addprefix $(BUILD_DIR)/$(build_type)/,$(addsuffix .o,$(basename $(value $(1)_unix)))))) @@ -1203,16 +1214,27 @@ $(filter $(BUILD_DIR)/ios%,$(APP_OBJS)): | $(LOCAL_DEPS) endif ifeq ($(HAVE_LINUX_MACOS),1) -LOCAL_DEPS := out/openssl/$(UNAME_S)/macos/usr/local/lib/libssl.a +LOCAL_DEPS := out/openssl/$(UNAME_S)/macos-arm/usr/local/lib/libssl.a $(LOCAL_DEPS): +@PATH=../../deps/macos_toolchain/bin:$$PATH \ - BUILD_TARGET=macos \ + BUILD_TARGET=macos-arm \ SSL_TARGET=darwin64-arm64 \ CC=../../deps/macos_toolchain/bin/oa64-clang \ RANLIB=../../deps/macos_toolchain/bin/x86_64-apple-darwin24-ranlib \ AR=../../deps/macos_toolchain/bin/arm64-apple-darwin24-ar \ tools/ssl-local -$(filter $(BUILD_DIR)/macos%,$(APP_OBJS)): | $(LOCAL_DEPS) +$(filter $(BUILD_DIR)/macosrelease-arm/% $(BUILD_DIR)/macosdebug-arm/%,$(APP_OBJS)): | $(LOCAL_DEPS) + +LOCAL_DEPS := out/openssl/$(UNAME_S)/macos-x86_64/usr/local/lib/libssl.a +$(LOCAL_DEPS): + +@PATH=../../deps/macos_toolchain/bin:$$PATH \ + BUILD_TARGET=macos-x86_64 \ + SSL_TARGET=darwin64-x86_64 \ + CC=../../deps/macos_toolchain/bin/o64-clang \ + RANLIB=../../deps/macos_toolchain/bin/x86_64-apple-darwin24-ranlib \ + AR=../../deps/macos_toolchain/bin/x86_64-apple-darwin24-ar \ + tools/ssl-local +$(filter $(BUILD_DIR)/macosrelease-x86_64/% $(BUILD_DIR)/macosdebug-x86_64/%,$(APP_OBJS)): | $(LOCAL_DEPS) endif endif