]> git.r.bdr.sh - rbdr/lyricli/blobdiff - Makefile
Add configuration for arch
[rbdr/lyricli] / Makefile
index 34eec3ac500784510e6f0cf64c0d4c0b2b801ea2..34afb775a8982b2e9a951a0e840930886e2ec8f4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,8 @@ target_binary_name = lrc
 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
@@ -14,15 +16,36 @@ 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
 
+lint:
+       cd Sources && swiftlint
+
+document: build
+       sourcekitten doc --spm-module $(source_binary_name) > $(build_path)/$(source_binary_name).json
+       jazzy \
+               -s $(build_path)/$(source_binary_name).json \
+               --readme README.md \
+               --clean \
+               --author Lyricli \
+               --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
+
+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 test clean
+.PHONY: build install test clean lint docker-build docker-push