install_path = /usr/local/bin
source_binary_path = $(build_path)/$(configuration)/$(source_binary_name)
install_binary_path = $(install_path)/$(target_binary_name)
+swift_version = 5.8.0
+architecture = $(shell uname -m)
# Default to release configuration on install
install: configuration = release
default: build
build:
- swift build --build-path $(build_path) --configuration $(configuration)
+ swift build --build-path $(build_path) --configuration $(configuration) --arch $(architecture) -Xswiftc -cross-module-optimization
install: build
- cp $(source_binary_path) $(install_binary_path)
+ sudo cp $(source_binary_path) $(install_binary_path)
test: build
swift test
--readme README.md \
--clean \
--author Lyricli \
- --author_url https://github.com/lyricli-app \
- --github_url https://github.com/lyricli-app/lyricli \
- --module-version 0.2.0 \
+ --author_url https://gitlab.com/lyricli \
+ --github_url https://gitlab.com/lyricli/lyricli \
+ --module-version 1.0.0 \
--module Lyricli \
clean:
- swift build --clean
+ swift package clean
-.PHONY: build install test clean lint
+docker-build:
+ docker build --force-rm --build-arg swift_version=$(swift_version) -t lyriclitest/swift:$(swift_version) .
+
+docker-push: docker-build
+ docker push lyriclitest/swift:$(swift_version)
+
+.PHONY: build install test clean lint docker-build docker-push