mirror of
https://github.com/morgan9e/VirtualDisplay
synced 2026-04-13 15:55:02 +09:00
43 lines
1.1 KiB
Makefile
43 lines
1.1 KiB
Makefile
APP_NAME := VirtualDisplay
|
|
SRC_DIR := src
|
|
BUILD_DIR := build
|
|
APP_BUNDLE := $(BUILD_DIR)/$(APP_NAME).app
|
|
MACOS_DIR := $(APP_BUNDLE)/Contents/MacOS
|
|
BIN := $(MACOS_DIR)/$(APP_NAME)
|
|
|
|
INFO_PLIST := $(SRC_DIR)/Info.plist
|
|
ENTITLEMENTS := $(SRC_DIR)/VirtualDisplay.entitlements
|
|
BRIDGING := $(SRC_DIR)/BridgingHeader.h
|
|
PRIVATE_H := $(SRC_DIR)/CGVirtualDisplayPrivate.h
|
|
|
|
SWIFT_SOURCES := $(wildcard $(SRC_DIR)/*.swift)
|
|
|
|
SWIFTC := swiftc
|
|
SWIFTFLAGS := -O \
|
|
-import-objc-header $(BRIDGING) \
|
|
-framework Cocoa \
|
|
-framework CoreGraphics \
|
|
-framework IOKit
|
|
|
|
.PHONY: all run kill clean rebuild
|
|
|
|
all: $(APP_BUNDLE)
|
|
|
|
$(APP_BUNDLE): $(SWIFT_SOURCES) $(BRIDGING) $(PRIVATE_H) $(INFO_PLIST) $(ENTITLEMENTS)
|
|
@mkdir -p $(MACOS_DIR) $(APP_BUNDLE)/Contents/Resources
|
|
cp $(INFO_PLIST) $(APP_BUNDLE)/Contents/Info.plist
|
|
$(SWIFTC) $(SWIFTFLAGS) -o $(BIN) $(SWIFT_SOURCES)
|
|
codesign --force --sign - --entitlements $(ENTITLEMENTS) $(APP_BUNDLE)
|
|
@echo "Built $(APP_BUNDLE)"
|
|
|
|
run: $(APP_BUNDLE)
|
|
open $(APP_BUNDLE)
|
|
|
|
kill:
|
|
-pkill -f $(APP_NAME)
|
|
|
|
rebuild: clean all
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|