- Delete fat library and framework scripts and templates. - MoltenVK build package now only includes one XCFramework, and separate platform dylibs. - Modify fetchDependencies and Makefile targets to not build fat libraries, and to build simulators separately than platforms instead. - Script package_moltenvk.sh now copies dylibs for all built platforms. - Consolidate package_all.sh and delete package_one_os.sh. - Swap names of copy_lib_to_staging.sh and copy_to_staging.sh scripts. - Cube demo now uses MoltenVK as XCFramework, and support Simulator builds. - Hologram demo now uses MoltenVK as dylibs from new packaging location. - API-Samples demo now uses MoltenVK as XCFramework. - Update documentation.
93 lines
2.4 KiB
Makefile
93 lines
2.4 KiB
Makefile
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) ios
|
|
@$(MAKE) iossim
|
|
@$(MAKE) tvos
|
|
@$(MAKE) tvossim
|
|
|
|
.PHONY: all-debug
|
|
all-debug:
|
|
@$(MAKE) macos-debug
|
|
@$(MAKE) ios-debug
|
|
@$(MAKE) iossim-debug
|
|
@$(MAKE) tvos-debug
|
|
@$(MAKE) tvossim-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: iossim
|
|
iossim:
|
|
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (iOS only)" -destination "generic/platform=iOS Simulator"
|
|
|
|
.PHONY: iossim-debug
|
|
iossim-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: tvossim
|
|
tvossim:
|
|
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)" -destination "generic/platform=tvOS Simulator"
|
|
|
|
.PHONY: tvossim-debug
|
|
tvossim-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
|
|
rm -rf /Library/Frameworks/MoltenVK.xcframework
|
|
cp -a Package/Latest/MoltenVK/MoltenVK.xcframework /Library/Frameworks/
|
|
|
|
# Deprecated target names
|
|
.PHONY: iosfat
|
|
iosfat:
|
|
@$(MAKE) ios
|
|
@$(MAKE) iossim
|
|
|
|
.PHONY: iosfat-debug
|
|
iosfat-debug:
|
|
@$(MAKE) ios-debug
|
|
@$(MAKE) iossim-debug
|
|
|
|
.PHONY: tvosfat
|
|
tvosfat:
|
|
@$(MAKE) tvos
|
|
@$(MAKE) tvossim
|
|
|
|
.PHONY: tvosfat-debug
|
|
tvosfat-debug:
|
|
@$(MAKE) tvos-debug
|
|
@$(MAKE) tvossim-debug
|