cleanup makefile
This commit is contained in:
parent
b9668b08e8
commit
e47134a45e
1 changed files with 22 additions and 97 deletions
119
Makefile
119
Makefile
|
|
@ -10,11 +10,6 @@ webui-dev: webui-deps
|
||||||
cd crates/librqbit/webui && \
|
cd crates/librqbit/webui && \
|
||||||
npm run dev
|
npm run dev
|
||||||
|
|
||||||
@PHONY: webui-build
|
|
||||||
webui-build: webui-deps
|
|
||||||
cd crates/librqbit/webui && \
|
|
||||||
npm run build
|
|
||||||
|
|
||||||
# NOTE: on LG TV using hostname is unstable for some reason, use IP address.
|
# NOTE: on LG TV using hostname is unstable for some reason, use IP address.
|
||||||
export RQBIT_UPNP_SERVER_ENABLE ?= true
|
export RQBIT_UPNP_SERVER_ENABLE ?= true
|
||||||
export RQBIT_UPNP_SERVER_FRIENDLY_NAME ?= rqbit-dev
|
export RQBIT_UPNP_SERVER_FRIENDLY_NAME ?= rqbit-dev
|
||||||
|
|
@ -43,76 +38,6 @@ devserver-postgres:
|
||||||
cargo run -- \
|
cargo run -- \
|
||||||
server start --fastresume --persistence-location $(RQBIT_POSTGRES_CONNECTION_STRING) $(RQBIT_OUTPUT_FOLDER)
|
server start --fastresume --persistence-location $(RQBIT_POSTGRES_CONNECTION_STRING) $(RQBIT_OUTPUT_FOLDER)
|
||||||
|
|
||||||
@PHONY: clean
|
|
||||||
clean:
|
|
||||||
rm -rf target
|
|
||||||
|
|
||||||
@PHONY: sign-debug
|
|
||||||
sign-debug:
|
|
||||||
codesign -f --entitlements resources/debugging.entitlements -s - target/debug/rqbit
|
|
||||||
|
|
||||||
@PHONY: sign-release
|
|
||||||
sign-release:
|
|
||||||
codesign -f --entitlements resources/debugging.entitlements -s - target/release/rqbit
|
|
||||||
|
|
||||||
@PHONY: build-release
|
|
||||||
build-release:
|
|
||||||
cargo build --release
|
|
||||||
|
|
||||||
@PHONY: install
|
|
||||||
install: build-release
|
|
||||||
$(MAKE) build-release
|
|
||||||
$(MAKE) sign-release
|
|
||||||
install target/release/rqbit "$(HOME)/bin/"
|
|
||||||
|
|
||||||
@PHONY: release-macos-universal
|
|
||||||
release-macos-universal:
|
|
||||||
cargo build --target aarch64-apple-darwin --profile release-github
|
|
||||||
cargo build --target x86_64-apple-darwin --profile release-github
|
|
||||||
lipo \
|
|
||||||
./target/aarch64-apple-darwin/release-github/rqbit \
|
|
||||||
./target/x86_64-apple-darwin/release-github/rqbit \
|
|
||||||
-create \
|
|
||||||
-output ./target/x86_64-apple-darwin/release-github/rqbit-osx-universal
|
|
||||||
|
|
||||||
@PHONY: release-linux-current-target
|
|
||||||
release-linux-current-target:
|
|
||||||
CC_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-gcc \
|
|
||||||
CXX_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-g++ \
|
|
||||||
AR_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-ar \
|
|
||||||
CARGO_TARGET_$(TARGET_SNAKE_UPPER_CASE)_LINKER=$(CROSS_COMPILE_PREFIX)-gcc \
|
|
||||||
cargo build --profile release-github --target=$(TARGET) --features=openssl-vendored
|
|
||||||
|
|
||||||
@PHONY: release-linux
|
|
||||||
release-linux: release-linux-x86_64 release-linux-aarch64 release-linux-armv6 release-linux-armv7 release-linux-armv7-musl
|
|
||||||
|
|
||||||
@PHONY: release-linux-x86_64
|
|
||||||
release-linux-x86_64:
|
|
||||||
TARGET=x86_64-unknown-linux-musl \
|
|
||||||
TARGET_SNAKE_CASE=x86_64_unknown_linux_musl \
|
|
||||||
TARGET_SNAKE_UPPER_CASE=X86_64_UNKNOWN_LINUX_MUSL \
|
|
||||||
CROSS_COMPILE_PREFIX=x86_64-unknown-linux-musl \
|
|
||||||
$(MAKE) release-linux-current-target
|
|
||||||
|
|
||||||
@PHONY: docker-build-prereqs
|
|
||||||
docker-build-prereqs: release-linux-aarch64 release-linux-x86_64 release-linux-armv7
|
|
||||||
|
|
||||||
@PHONY: create-target-docker
|
|
||||||
create-target-docker:
|
|
||||||
mkdir -p target/docker/linux/amd64 target/docker/linux/arm64 target/docker/linux/arm/v7 && \
|
|
||||||
cp -lf target/x86_64-unknown-linux-musl/release-github/rqbit target/docker/linux/amd64/rqbit && \
|
|
||||||
cp -lf target/aarch64-unknown-linux-musl/release-github/rqbit target/docker/linux/arm64/rqbit && \
|
|
||||||
cp -lf target/armv7-unknown-linux-musleabihf/release-github/rqbit target/docker/linux/arm/v7/rqbit && \
|
|
||||||
cp docker/Dockerfile target/Docker
|
|
||||||
|
|
||||||
@PHONY: docker-build
|
|
||||||
docker-build: create-target-docker
|
|
||||||
docker build \
|
|
||||||
-f docker/Dockerfile \
|
|
||||||
-t ikatson/rqbit:$(shell git describe --tags)-dev \
|
|
||||||
--platform linux/amd64,linux/arm64,linux/arm/v7 \
|
|
||||||
target/docker/
|
|
||||||
|
|
||||||
@PHONY: docker-build-xx-one-platform
|
@PHONY: docker-build-xx-one-platform
|
||||||
docker-build-xx-one-platform:
|
docker-build-xx-one-platform:
|
||||||
docker build -f docker/Dockerfile.xx \
|
docker build -f docker/Dockerfile.xx \
|
||||||
|
|
@ -124,10 +49,30 @@ docker-build-xx-one-platform:
|
||||||
-f docker/Dockerfile \
|
-f docker/Dockerfile \
|
||||||
target/cross/
|
target/cross/
|
||||||
|
|
||||||
@PHONY: docker-build-xx-amd64
|
@PHONY: docker-build-amd64
|
||||||
docker-build-xx-amd64:
|
docker-build-amd64:
|
||||||
PLATFORM=linux/amd64 $(MAKE) docker-build-xx-one-platform
|
PLATFORM=linux/amd64 $(MAKE) docker-build-xx-one-platform
|
||||||
|
|
||||||
|
@PHONY: clean
|
||||||
|
clean:
|
||||||
|
rm -rf target
|
||||||
|
|
||||||
|
@PHONY: release-linux-current-target
|
||||||
|
release-linux-current-target:
|
||||||
|
CC_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-gcc \
|
||||||
|
CXX_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-g++ \
|
||||||
|
AR_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-ar \
|
||||||
|
CARGO_TARGET_$(TARGET_SNAKE_UPPER_CASE)_LINKER=$(CROSS_COMPILE_PREFIX)-gcc \
|
||||||
|
cargo build --profile release-github --target=$(TARGET) --features=openssl-vendored
|
||||||
|
|
||||||
|
@PHONY: release-linux-x86_64
|
||||||
|
release-linux-x86_64:
|
||||||
|
TARGET=x86_64-unknown-linux-musl \
|
||||||
|
TARGET_SNAKE_CASE=x86_64_unknown_linux_musl \
|
||||||
|
TARGET_SNAKE_UPPER_CASE=X86_64_UNKNOWN_LINUX_MUSL \
|
||||||
|
CROSS_COMPILE_PREFIX=x86_64-unknown-linux-musl \
|
||||||
|
$(MAKE) release-linux-current-target
|
||||||
|
|
||||||
@PHONY: release-linux-aarch64
|
@PHONY: release-linux-aarch64
|
||||||
release-linux-aarch64:
|
release-linux-aarch64:
|
||||||
TARGET=aarch64-unknown-linux-musl \
|
TARGET=aarch64-unknown-linux-musl \
|
||||||
|
|
@ -136,16 +81,6 @@ release-linux-aarch64:
|
||||||
CROSS_COMPILE_PREFIX=aarch64-unknown-linux-musl \
|
CROSS_COMPILE_PREFIX=aarch64-unknown-linux-musl \
|
||||||
$(MAKE) release-linux-current-target
|
$(MAKE) release-linux-current-target
|
||||||
|
|
||||||
# TODO: couldn't figure out how to compile this one with musl
|
|
||||||
@PHONY: release-linux-armv6
|
|
||||||
release-linux-armv6:
|
|
||||||
TARGET=arm-unknown-linux-gnueabihf \
|
|
||||||
TARGET_SNAKE_CASE=arm_unknown_linux_gnueabihf \
|
|
||||||
TARGET_SNAKE_UPPER_CASE=ARM_UNKNOWN_LINUX_GNUEABIHF \
|
|
||||||
CROSS_COMPILE_PREFIX=arm-linux-gnueabihf \
|
|
||||||
LDFLAGS=-latomic \
|
|
||||||
$(MAKE) release-linux-current-target
|
|
||||||
|
|
||||||
@PHONY: release-linux-armv7
|
@PHONY: release-linux-armv7
|
||||||
release-linux-armv7:
|
release-linux-armv7:
|
||||||
TARGET=armv7-unknown-linux-musleabihf \
|
TARGET=armv7-unknown-linux-musleabihf \
|
||||||
|
|
@ -153,13 +88,3 @@ release-linux-armv7:
|
||||||
TARGET_SNAKE_UPPER_CASE=ARMV7_UNKNOWN_LINUX_MUSLEABIHF \
|
TARGET_SNAKE_UPPER_CASE=ARMV7_UNKNOWN_LINUX_MUSLEABIHF \
|
||||||
CROSS_COMPILE_PREFIX=armv7-linux-musleabihf \
|
CROSS_COMPILE_PREFIX=armv7-linux-musleabihf \
|
||||||
$(MAKE) release-linux-current-target
|
$(MAKE) release-linux-current-target
|
||||||
|
|
||||||
|
|
||||||
@PHONY: release-all
|
|
||||||
release-all: release-windows release-linux release-macos-universal
|
|
||||||
rm -rf /tmp/rqbit-release
|
|
||||||
mkdir -p /tmp/rqbit-release
|
|
||||||
cp ./target/x86_64-pc-windows-gnu/release-github/rqbit.exe /tmp/rqbit-release
|
|
||||||
cp ./target/x86_64-apple-darwin/release-github/rqbit-osx-universal /tmp/rqbit-release
|
|
||||||
cp ./target/x86_64-unknown-linux-gnu/release-github/rqbit /tmp/rqbit-release/rqbit-linux-x86_64
|
|
||||||
echo "The release was built in /tmp/rqbit-release"
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue