CC=c++ CFLAGS=-std=c++2a -Wall -O2 -shared -fPIC # CFLAGS=-std=c++2a -Wall -O0 -g -shared -fPIC SRC=./Photino.Native SRC_SHARED=$(SRC)/Shared SRC_WIN=$(SRC)/Windows SRC_MAC=$(SRC)/macOS SRC_LIN=$(SRC)/Linux DEST_PATH=./lib DEST_PATH_X64=$(DEST_PATH)/x64 DEST_PATH_ARM64=$(DEST_PATH)/arm64 DEST_FILE=Photino.Native all: # "make all is unavailable, use [windows|mac|linux](-x64|arm64)." windows: clean-x64 build-photino-windows mac-universal: clean-x64 build-photino-mac-universal linux-x64: clean-x64 install-linux-dependencies build-photino-linux-x64 linux-arm64: clean-arm64 install-linux-dependencies build-photino-linux-arm64 build-photino-windows: # "build-photino-windows is not defined" build-photino-mac-universal: cp $(SRC)/Exports.cpp $(SRC)/Exports.mm &&\ $(CC) -o $(DEST_PATH_X64)/$(DEST_FILE).dylib\ $(CFLAGS)\ -arch x86_64\ -arch arm64\ -framework Cocoa\ -framework WebKit\ -framework UserNotifications\ -framework Security\ $(SRC)/Photino.Mac.AppDelegate.mm\ $(SRC)/Photino.Mac.UiDelegate.mm\ $(SRC)/Photino.Mac.WindowDelegate.mm\ $(SRC)/Photino.Mac.NavigationDelegate.mm\ $(SRC)/Photino.Mac.UrlSchemeHandler.mm\ $(SRC)/Photino.Mac.NSWindowBorderless.mm\ $(SRC)/Photino.Mac.Dialog.mm\ $(SRC)/Photino.Mac.mm\ $(SRC)/Exports.mm &&\ rm $(SRC)/Exports.mm install-linux-dependencies: sudo apt-get update\ && sudo apt-get install libgtk-3-dev libwebkit2gtk-4.1-dev libnotify4 libnotify-dev build-photino-linux-x64: $(CC) -o $(DEST_PATH_X64)/$(DEST_FILE).so\ $(CFLAGS)\ $(SRC)/Photino.Linux.Dialog.cpp\ $(SRC)/Photino.Linux.cpp\ $(SRC)/Exports.cpp\ `pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.1 libnotify` build-photino-linux-arm64: $(CC) -o $(DEST_PATH_ARM64)/$(DEST_FILE).so\ $(CFLAGS)\ $(SRC)/Photino.Linux.Dialog.cpp\ $(SRC)/Photino.Linux.cpp\ $(SRC)/Exports.cpp\ `pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.1 libnotify` clean-x64: rm -rf $(DEST_PATH_X64)/* & mkdir -p $(DEST_PATH_X64) clean-arm64: rm -rf $(DEST_PATH_ARM64)/* & mkdir -p $(DEST_PATH_ARM64)