mirror of
https://github.com/LANCommander/Notify.NET.git
synced 2026-08-01 03:08:24 -04:00
58 lines
1.7 KiB
Makefile
58 lines
1.7 KiB
Makefile
# Makefile for MacNotifyWrapper
|
|
#
|
|
# Builds a thin Objective-C dylib wrapping UNUserNotificationCenter.
|
|
# Produces separate arm64 and x86_64 slices, plus an optional universal binary.
|
|
#
|
|
# Usage:
|
|
# make # build all slices
|
|
# make install # copy dylibs into ../../runtimes/
|
|
# make universal # also build universal binary
|
|
# make clean
|
|
|
|
SDK := $(shell xcrun --show-sdk-path)
|
|
CC := clang
|
|
SRC := MacNotifyWrapper.m
|
|
CFLAGS := -fobjc-arc -fvisibility=hidden -O2 -Wall -Wextra \
|
|
-isysroot $(SDK)
|
|
LDFLAGS := -dynamiclib \
|
|
-framework Foundation \
|
|
-framework AppKit \
|
|
-framework UserNotifications \
|
|
-install_name @rpath/libMacNotifyWrapper.dylib
|
|
|
|
ARM64_TARGET := arm64-apple-macos11.0
|
|
X64_TARGET := x86_64-apple-macos10.14
|
|
|
|
OUT_ARM64 := osx-arm64/libMacNotifyWrapper.dylib
|
|
OUT_X64 := osx-x64/libMacNotifyWrapper.dylib
|
|
OUT_UNIVERSAL := osx-universal/libMacNotifyWrapper.dylib
|
|
|
|
RUNTIME_ARM64 := ../../runtimes/osx-arm64/native
|
|
RUNTIME_X64 := ../../runtimes/osx-x64/native
|
|
|
|
.PHONY: all universal install clean
|
|
|
|
all: $(OUT_ARM64) $(OUT_X64)
|
|
|
|
universal: $(OUT_UNIVERSAL)
|
|
|
|
$(OUT_ARM64): $(SRC) MacNotifyWrapper.h
|
|
mkdir -p osx-arm64
|
|
$(CC) $(CFLAGS) -arch arm64 -target $(ARM64_TARGET) $(LDFLAGS) -o $@ $<
|
|
|
|
$(OUT_X64): $(SRC) MacNotifyWrapper.h
|
|
mkdir -p osx-x64
|
|
$(CC) $(CFLAGS) -arch x86_64 -target $(X64_TARGET) $(LDFLAGS) -o $@ $<
|
|
|
|
$(OUT_UNIVERSAL): $(OUT_ARM64) $(OUT_X64)
|
|
mkdir -p osx-universal
|
|
lipo -create -output $@ $(OUT_ARM64) $(OUT_X64)
|
|
|
|
install: $(OUT_ARM64) $(OUT_X64)
|
|
mkdir -p $(RUNTIME_ARM64) $(RUNTIME_X64)
|
|
cp $(OUT_ARM64) $(RUNTIME_ARM64)/
|
|
cp $(OUT_X64) $(RUNTIME_X64)/
|
|
@echo "Installed to runtimes/"
|
|
|
|
clean:
|
|
rm -rf osx-arm64 osx-x64 osx-universal
|