moltenvk/Makefile
Bill Hollings 56df7d61d7 Remove MoltenVK fat libraries and frameworks and use XCFramework instead.
- 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.
2020-09-01 14:39:46 -04:00

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