-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
69 lines (55 loc) · 2.2 KB
/
Makefile
File metadata and controls
69 lines (55 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
.PHONY: all build test test-stable test-all generate clean lint debug-install release-dmg sync-homebrew-cask release
SCHEME = MFuse
APP_NAME = MFuse
DEBUG_DERIVED_DATA = DerivedData
DEBUG_APP_PATH = $(DEBUG_DERIVED_DATA)/Build/Products/Debug/$(APP_NAME).app
CODESIGN_FLAGS = CODE_SIGN_IDENTITY="-" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
LOCAL_PROJECT_SPEC = project.local.yml
XCODEGEN_ENV =
ifneq ($(wildcard $(LOCAL_PROJECT_SPEC)),)
XCODEGEN_ENV := INCLUDE_PROJECT_LOCAL_YML=1
endif
all: build test-stable
build:
xcodebuild -scheme $(SCHEME) build $(CODESIGN_FLAGS)
test: test-stable
# Stable local/default smoke-test subset.
# Intentionally excludes MFuseCore and other broader suites; use `make test-all`
# for the full verification matrix.
test-stable:
cd Packages/MFuseWebDAV && swift test
cd Packages/MFuseSMB && swift test
cd Packages/MFuseNFS && swift test
cd Packages/MFuseGoogleDrive && swift test
cd Packages/MFuseDropbox && swift test
cd Packages/MFuseOneDrive && swift test
# Full verification matrix intended for CI and exhaustive validation.
test-all:
cd Packages/MFuseWebDAV && swift test
cd Packages/MFuseSMB && swift test
cd Packages/MFuseNFS && swift test
cd Packages/MFuseGoogleDrive && swift test
cd Packages/MFuseDropbox && swift test
cd Packages/MFuseOneDrive && swift test
cd Packages/MFuseCore && swift test
cd Packages/MFuseFTP && swift test
cd Packages/MFuseSFTP && swift test
cd Packages/MFuseS3 && swift test
generate:
$(XCODEGEN_ENV) xcodegen generate
clean:
xcodebuild -scheme $(SCHEME) clean
rm -rf DerivedData .build
lint:
swiftlint
debug-install:
xcodebuild -scheme $(SCHEME) -configuration Debug -derivedDataPath $(DEBUG_DERIVED_DATA) build $(CODESIGN_FLAGS)
rm -rf /Applications/$(APP_NAME).app
ditto $(DEBUG_APP_PATH) /Applications/$(APP_NAME).app
release-dmg:
@test -n "$(XCARCHIVE_PATH)" || (echo "release-dmg requires XCARCHIVE_PATH. Example: XCARCHIVE_PATH=/abs/path/to/MFuse.xcarchive make release-dmg; this target calls scripts/release/package-dmg-from-xcarchive.sh." >&2; exit 1)
bash scripts/release/package-dmg-from-xcarchive.sh
sync-homebrew-cask:
bash scripts/release/sync-homebrew-cask.sh
release:
bash scripts/release/release-from-git-version.sh