]>
Commit | Line | Data |
---|---|---|
169297c8 BB |
1 | configuration = debug |
2 | build_path = .build | |
3 | ||
4 | # These are used to rename the executable to lrc without renaming the package | |
5 | source_binary_name = lyricli | |
6 | target_binary_name = lrc | |
7 | install_path = /usr/local/bin | |
8 | source_binary_path = $(build_path)/$(configuration)/$(source_binary_name) | |
9 | install_binary_path = $(install_path)/$(target_binary_name) | |
6a628388 | 10 | swift_version = 5.0.1 |
169297c8 BB |
11 | |
12 | # Default to release configuration on install | |
13 | install: configuration = release | |
14 | ||
15 | default: build | |
16 | ||
97f47198 BB |
17 | prebuild: |
18 | mkdir -p $(build_path) | |
19 | ||
20 | build: prebuild | |
169297c8 BB |
21 | swift build --build-path $(build_path) --configuration $(configuration) |
22 | ||
23 | install: build | |
24 | cp $(source_binary_path) $(install_binary_path) | |
25 | ||
26 | test: build | |
27 | swift test | |
28 | ||
307993a0 BB |
29 | lint: |
30 | cd Sources && swiftlint | |
31 | ||
97f47198 | 32 | document: prebuild |
0a349ded BB |
33 | sourcekitten doc --spm-module $(source_binary_name) > $(build_path)/$(source_binary_name).json |
34 | jazzy \ | |
35 | -s $(build_path)/$(source_binary_name).json \ | |
36 | --readme README.md \ | |
37 | --clean \ | |
38 | --author Lyricli \ | |
ffca0db7 BB |
39 | --author_url https://gitlab.com/lyricli \ |
40 | --github_url https://gitlab.com/lyricli/lyricli \ | |
101a6ecc | 41 | --module-version 1.0.0 \ |
0a349ded BB |
42 | --module Lyricli \ |
43 | ||
169297c8 | 44 | clean: |
c32d8723 | 45 | swift package clean |
169297c8 | 46 | |
6a628388 BB |
47 | docker-build: |
48 | docker build --force-rm --build-arg swift_version=$(swift_version) -t lyriclitest/swift:$(swift_version) . | |
49 | ||
50 | docker-push: docker-build | |
51 | docker push lyriclitest/swift:$(swift_version) | |
52 | ||
53 | .PHONY: build install test clean lint docker-build docker-push |