1faf6cfd9d
The server is built as an APK to simplify the build, but in fact this is a simple jar (it is not even signed). In order to avoid confusion, rename it to .jar, so that users do not try to "adb install" it. Also rename it from "scrcpy" to "scrcpy-server" to distinguish from the client-side.
44 lines
1.1 KiB
Makefile
44 lines
1.1 KiB
Makefile
.PHONY: default release clean build-app build-server dist dist-zip sums test
|
|
|
|
GRADLE ?= ./gradlew
|
|
|
|
APP_BUILD_DIR := app-build
|
|
DIST := dist
|
|
TARGET_DIR := scrcpy
|
|
|
|
VERSION := $(shell git describe --tags --always)
|
|
TARGET := $(TARGET_DIR)-$(VERSION).zip
|
|
|
|
default:
|
|
@echo 'You must specify a target. Try: make release'
|
|
|
|
release: clean dist-zip sums
|
|
|
|
clean:
|
|
$(GRADLE) clean
|
|
rm -rf "$(APP_BUILD_DIR)" "$(DIST)"
|
|
|
|
build-app:
|
|
[ -d "$(APP_BUILD_DIR)" ] || ( mkdir "$(APP_BUILD_DIR)" && meson app "$(APP_BUILD_DIR)" --buildtype release )
|
|
ninja -C "$(APP_BUILD_DIR)"
|
|
|
|
build-server:
|
|
$(GRADLE) assembleRelease
|
|
|
|
dist: build-server build-app
|
|
mkdir -p "$(DIST)/$(TARGET_DIR)"
|
|
# no need to sign the APK, we dont "install" it, this is in fact a simple jar
|
|
cp server/build/outputs/apk/release/server-release-unsigned.apk "$(DIST)/$(TARGET_DIR)/scrcpy-server.jar"
|
|
cp $(APP_BUILD_DIR)/scrcpy "$(DIST)/$(TARGET_DIR)/"
|
|
|
|
dist-zip: dist
|
|
cd "$(DIST)"; \
|
|
zip -r "$(TARGET)" "$(TARGET_DIR)"
|
|
|
|
sums:
|
|
cd "$(DIST)"; \
|
|
sha256sum *.zip > SHA256SUM.txt
|
|
|
|
test:
|
|
$(GRADLE) test
|
|
ninja -C "$(APP_BUILD_DIR)" test
|