blob: ebfee2cd17e00c9920d797a51db3c76c34edecbd [file] [log] [blame]
XC_PROJ := MoltenVKPackaging.xcodeproj
XC_SCHEME := MoltenVK Package
# Specify individually (not as dependencies) so the sub-targets don't run in parallel
.PHONY: all
all:
@$(MAKE) macos
@$(MAKE) iosfat
@$(MAKE) tvosfat
.PHONY: all-debug
all-debug:
@$(MAKE) macos-debug
@$(MAKE) iosfat-debug
@$(MAKE) tvosfat-debug
.PHONY: macos
macos:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (macOS only)"
.PHONY: macos-debug
macos-debug:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (macOS only)" -configuration "Debug"
.PHONY: ios
ios:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (iOS only)"
.PHONY: ios-debug
ios-debug:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (iOS only)" -configuration "Debug"
.PHONY: iosfat
iosfat: ios
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (iOS only)" -destination "generic/platform=iOS Simulator"
.PHONY: iosfat-debug
iosfat-debug: ios-debug
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (iOS only)" -destination "generic/platform=iOS Simulator" -configuration "Debug"
.PHONY: tvos
tvos:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)"
.PHONY: tvos-debug
tvos-debug:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)" -configuration "Debug"
.PHONY: tvosfat
tvosfat: tvos
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)" -destination "generic/platform=tvOS Simulator"
.PHONY: tvosfat-debug
tvosfat-debug: tvos-debug
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)" -destination "generic/platform=tvOS Simulator" -configuration "Debug"
.PHONY: clean
clean:
xcodebuild clean -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME)"
rm -rf Package
# Usually requires 'sudo make install'
.PHONY: install
install:
rm -rf /Library/Frameworks/MoltenVK.framework
cp -a Package/Latest/MoltenVK/macOS/framework/MoltenVK.framework /Library/Frameworks/