-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
59 lines (48 loc) · 2.95 KB
/
Copy pathMakefile
File metadata and controls
59 lines (48 loc) · 2.95 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
.PHONY: build build-cli build-ios-driver build-ios-inproc build-ios-capture build-tvos-driver build-android-driver package-cli package-drivers-tarball
DRIVERS_TARBALL_DIR = dist-drivers
ANDROID_OUT = packages/android-driver/conductor-android/build/outputs/apk
CLI_DRIVERS = packages/cli/drivers
IOS_DERIVED = packages/ios-driver/derived-data
IOS_BUILD_PRODUCTS = $(IOS_DERIVED)/Build/Products/Debug-iphonesimulator
TVOS_DERIVED = packages/ios-driver/derived-data-tvos
TVOS_BUILD_PRODUCTS = $(TVOS_DERIVED)/Build/Products/Debug-appletvsimulator
build: build-ios-driver build-ios-inproc build-ios-capture build-tvos-driver build-android-driver package-cli build-cli
build-cli:
cd packages/cli && pnpm build
# Injectable in-process control library → $(CLI_DRIVERS)/ios-inproc/Conductor.framework
build-ios-inproc:
packages/ios-inproc/tools/build-inproc-dylib.sh
# Host-side Simulator video capture binary → $(CLI_DRIVERS)/ios-capture/conductor-capture
build-ios-capture:
packages/ios-capture/tools/build-capture.sh
build-ios-driver:
xcodebuild build-for-testing \
-project packages/ios-driver/conductor-driver-ios.xcodeproj \
-scheme conductor-driver-ios \
-destination "generic/platform=iOS Simulator" \
-derivedDataPath $(CURDIR)/$(IOS_DERIVED)
build-tvos-driver:
xcodebuild build-for-testing \
-project packages/ios-driver/conductor-driver-ios.xcodeproj \
-scheme conductor-driver-tvos \
-destination "generic/platform=tvOS Simulator" \
-derivedDataPath $(CURDIR)/$(TVOS_DERIVED)
build-android-driver:
cd packages/android-driver && ./gradlew :conductor-android:assembleDebug :conductor-android:assembleAndroidTest
package-cli: build-ios-driver build-ios-inproc build-tvos-driver build-android-driver
mkdir -p $(CLI_DRIVERS)/android $(CLI_DRIVERS)/ios $(CLI_DRIVERS)/tvos
cp $(ANDROID_OUT)/debug/conductor-android-debug.apk \
$(CLI_DRIVERS)/android/conductor-app.apk
cp $(ANDROID_OUT)/androidTest/debug/conductor-android-debug-androidTest.apk \
$(CLI_DRIVERS)/android/conductor-server.apk
cd $(IOS_BUILD_PRODUCTS) && zip -qr $(CURDIR)/$(CLI_DRIVERS)/ios/conductor-driver-ios.zip conductor-driver-ios.app
cd $(IOS_BUILD_PRODUCTS) && zip -qr $(CURDIR)/$(CLI_DRIVERS)/ios/conductor-driver-iosUITests-Runner.zip conductor-driver-iosUITests-Runner.app
cp $$(find $(IOS_DERIVED)/Build/Products -name "*.xctestrun" | head -1) \
$(CLI_DRIVERS)/ios/conductor-driver-ios-config.xctestrun
cd $(TVOS_BUILD_PRODUCTS) && zip -qr $(CURDIR)/$(CLI_DRIVERS)/tvos/conductor-driver-tvos.zip conductor-driver-tvos.app
cd $(TVOS_BUILD_PRODUCTS) && zip -qr $(CURDIR)/$(CLI_DRIVERS)/tvos/conductor-driver-tvosUITests-Runner.zip conductor-driver-tvosUITests-Runner.app
cp $$(find $(TVOS_DERIVED)/Build/Products -name "*.xctestrun" | head -1) \
$(CLI_DRIVERS)/tvos/conductor-driver-tvos-config.xctestrun
package-drivers-tarball:
mkdir -p $(DRIVERS_TARBALL_DIR)
cd $(CLI_DRIVERS) && tar -czf $(CURDIR)/$(DRIVERS_TARBALL_DIR)/drivers.tar.gz android ios ios-inproc ios-capture tvos