mirror of
https://github.com/mas-cli/mas
synced 2024-11-24 20:43:10 +00:00
163 lines
2.8 KiB
Makefile
163 lines
2.8 KiB
Makefile
#
|
|
# Makefile
|
|
# mas
|
|
#
|
|
|
|
|
|
################################################################################
|
|
#
|
|
# Variables
|
|
#
|
|
|
|
CMD_NAME = mas
|
|
SHELL = /bin/sh
|
|
PREFIX ?= /usr/local
|
|
|
|
# trunk
|
|
# SWIFT_VERSION = swift-DEVELOPMENT-SNAPSHOT-2020-04-23-a
|
|
|
|
# Swift 5.3
|
|
# SWIFT_VERSION = swift-5.3-DEVELOPMENT-SNAPSHOT-2020-04-21-a
|
|
|
|
SWIFT_VERSION = 5.3.2
|
|
|
|
# set EXECUTABLE_DIRECTORY according to your specific environment
|
|
# run swift build and see where the output executable is created
|
|
|
|
# OS specific differences
|
|
UNAME = ${shell uname}
|
|
|
|
ifeq ($(UNAME), Darwin)
|
|
SWIFTC_FLAGS =
|
|
LINKER_FLAGS = -Xlinker -L/usr/local/lib
|
|
PLATFORM = x86_64-apple-macosx
|
|
EXECUTABLE_DIRECTORY = ./.build/${PLATFORM}/debug
|
|
TEST_BUNDLE = ${CMD_NAME}PackageTests.xctest
|
|
TEST_RESOURCES_DIRECTORY = ./.build/${PLATFORM}/debug/${TEST_BUNDLE}/Contents/Resources
|
|
endif
|
|
|
|
RUN_RESOURCES_DIRECTORY = ${EXECUTABLE_DIRECTORY}
|
|
|
|
################################################################################
|
|
#
|
|
# Targets
|
|
#
|
|
|
|
# Prints versions of tools used by this Makefile.
|
|
.PHONY: version
|
|
version:
|
|
xcodebuild -version
|
|
swiftenv version
|
|
swift --version
|
|
# swift package tools-version
|
|
|
|
.PHONY: init
|
|
init:
|
|
- swiftenv install $(SWIFT_VERSION)
|
|
swiftenv local $(SWIFT_VERSION)
|
|
|
|
.PHONY: bootstrap
|
|
bootstrap:
|
|
script/bootstrap
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
script/clean
|
|
xcodebuild clean
|
|
# swift package clean
|
|
# swift package reset
|
|
|
|
.PHONY: distclean
|
|
distclean:
|
|
rm -rf Packages
|
|
# swift package clean
|
|
|
|
.PHONY: updateHeaders
|
|
updateHeaders:
|
|
script/update_headers
|
|
|
|
.PHONY: build
|
|
build: #copyRunResources
|
|
script/build
|
|
# swift build $(SWIFTC_FLAGS) $(LINKER_FLAGS)
|
|
|
|
.PHONY: test
|
|
test: build #copyTestResources
|
|
script/test
|
|
# swift test --enable-test-discovery
|
|
|
|
.PHONY: copyRunResources
|
|
copyRunResources:
|
|
mkdir -p ${RUN_RESOURCES_DIRECTORY}
|
|
cp -r Resources/* ${RUN_RESOURCES_DIRECTORY}
|
|
|
|
.PHONY: copyTestResources
|
|
copyTestResources:
|
|
mkdir -p ${TEST_RESOURCES_DIRECTORY}
|
|
cp -r Resources/* ${TEST_RESOURCES_DIRECTORY}
|
|
|
|
# make run ARGS="asdf"
|
|
.PHONY: run
|
|
run: build
|
|
${EXECUTABLE_DIRECTORY}/${CMD_NAME} $(ARGS)
|
|
|
|
.PHONY: install
|
|
install:
|
|
script/install $(PREFIX)
|
|
|
|
.PHONY: uninstall
|
|
uninstall:
|
|
script/uninstall
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
script/lint
|
|
|
|
.PHONY: danger
|
|
danger:
|
|
script/danger
|
|
|
|
.PHONY: archive
|
|
archive:
|
|
script/archive
|
|
|
|
# Builds bottles
|
|
.PHONY: bottles
|
|
bottles:
|
|
script/bottle
|
|
|
|
# Alias for bottles
|
|
.PHONY: bottle
|
|
bottle: bottles
|
|
|
|
.PHONY: package
|
|
package:
|
|
script/package
|
|
|
|
.PHONY: packageInstall
|
|
packageInstall:
|
|
script/package_install
|
|
|
|
.PHONY: release
|
|
release:
|
|
script/release
|
|
|
|
# .PHONY: describe
|
|
# describe:
|
|
# swift package describe
|
|
|
|
# .PHONY: resolve
|
|
# resolve:
|
|
# swift package resolve
|
|
|
|
# .PHONY: dependencies
|
|
# dependencies: resolve
|
|
# swift package show-dependencies
|
|
|
|
# .PHONY: update
|
|
# update: resolve
|
|
# swift package update
|
|
|
|
# .PHONY: xcproj
|
|
# xcproj:
|
|
# swift package generate-xcodeproj
|