Files
VirtualDisplay/Makefile
2026-04-11 03:50:41 +09:00

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)