2023-12-09 10:14:47 +00:00
|
|
|
all:
|
2021-06-28 20:40:13 +01:00
|
|
|
|
2023-12-05 13:16:16 +00:00
|
|
|
@PHONY: webui-deps
|
|
|
|
|
webui-deps:
|
|
|
|
|
cd desktop && npm install
|
|
|
|
|
cd crates/librqbit/webui && npm install
|
|
|
|
|
|
2023-11-20 22:10:01 +00:00
|
|
|
@PHONY: webui-dev
|
2023-12-05 13:16:16 +00:00
|
|
|
webui-dev: webui-deps
|
2023-11-20 22:10:01 +00:00
|
|
|
cd crates/librqbit/webui && \
|
2023-11-21 12:56:07 +00:00
|
|
|
npm run dev
|
|
|
|
|
|
2024-08-28 00:44:04 +01:00
|
|
|
# NOTE: on LG TV using hostname is unstable for some reason, use IP address.
|
2024-08-28 13:38:11 +01:00
|
|
|
export RQBIT_UPNP_SERVER_ENABLE ?= true
|
2024-08-28 00:44:04 +01:00
|
|
|
export RQBIT_UPNP_SERVER_FRIENDLY_NAME ?= rqbit-dev
|
2024-09-14 18:35:15 +01:00
|
|
|
export RQBIT_HTTP_API_LISTEN_ADDR ?= [::]:3030
|
2024-08-29 14:23:09 +01:00
|
|
|
export RQBIT_FASTRESUME = true
|
2024-08-29 12:23:18 +01:00
|
|
|
CARGO_RUN_FLAGS ?=
|
2024-08-28 00:44:04 +01:00
|
|
|
RQBIT_OUTPUT_FOLDER ?= /tmp/scratch
|
|
|
|
|
RQBIT_POSTGRES_CONNECTION_STRING ?= postgres:///rqbit
|
2023-12-05 13:16:16 +00:00
|
|
|
|
2024-08-25 15:21:16 +01:00
|
|
|
@PHONY: devserver-release
|
|
|
|
|
devserver-profile:
|
2024-08-29 00:35:03 +01:00
|
|
|
cargo run --release $(CARGO_RUN_FLAGS) -- server start $(RQBIT_OUTPUT_FOLDER)
|
2024-08-28 00:44:04 +01:00
|
|
|
|
|
|
|
|
# DEV variables (that's why defined after devserver-profile)
|
|
|
|
|
export RQBIT_LOG_FILE ?= /tmp/rqbit-log
|
|
|
|
|
export RQBIT_LOG_FILE_RUST_LOG ?= debug,librqbit=trace,upnp_serve=trace
|
|
|
|
|
export CORS_ALLOW_REGEXP ?= '.*'
|
2024-08-25 15:21:16 +01:00
|
|
|
|
2024-08-15 14:18:55 +01:00
|
|
|
@PHONY: devserver
|
2024-08-28 00:44:04 +01:00
|
|
|
devserver:
|
2024-08-28 10:00:01 +01:00
|
|
|
echo -n '' > $(RQBIT_LOG_FILE) && \
|
2024-08-29 00:35:03 +01:00
|
|
|
cargo run $(CARGO_RUN_FLAGS) -- \
|
2024-08-28 10:00:01 +01:00
|
|
|
server start $(RQBIT_OUTPUT_FOLDER)
|
2024-08-28 00:44:04 +01:00
|
|
|
|
|
|
|
|
@PHONY: devserver
|
|
|
|
|
devserver-postgres:
|
2024-08-28 10:00:01 +01:00
|
|
|
echo -n '' > $(RQBIT_LOG_FILE) && \
|
2024-08-29 00:35:03 +01:00
|
|
|
cargo run $(CARGO_RUN_FLAGS) -- \
|
2024-08-28 00:44:04 +01:00
|
|
|
server start --fastresume --persistence-location $(RQBIT_POSTGRES_CONNECTION_STRING) $(RQBIT_OUTPUT_FOLDER)
|
2024-08-15 14:18:55 +01:00
|
|
|
|
2024-08-28 17:18:21 +01:00
|
|
|
@PHONY: docker-build-xx-one-platform
|
|
|
|
|
docker-build-xx-one-platform:
|
|
|
|
|
docker build -f docker/Dockerfile.xx \
|
|
|
|
|
--platform $(PLATFORM) \
|
|
|
|
|
--output type=local,dest=target/cross/$(PLATFORM) . && \
|
|
|
|
|
docker build \
|
|
|
|
|
-t ikatson/rqbit:$(shell git describe --tags)-dev-$(shell echo $(PLATFORM) | tr '/' '-') \
|
|
|
|
|
--platform $(PLATFORM) \
|
|
|
|
|
-f docker/Dockerfile \
|
|
|
|
|
target/cross/
|
|
|
|
|
|
|
|
|
|
@PHONY: docker-build-amd64
|
|
|
|
|
docker-build-amd64:
|
|
|
|
|
PLATFORM=linux/amd64 $(MAKE) docker-build-xx-one-platform
|
|
|
|
|
|
2024-08-28 22:02:38 +01:00
|
|
|
@PHONY: docker-build-armv7
|
|
|
|
|
docker-build-armv7:
|
|
|
|
|
PLATFORM=linux/arm/v7 $(MAKE) docker-build-xx-one-platform
|
|
|
|
|
|
2022-05-23 21:33:12 +01:00
|
|
|
@PHONY: clean
|
|
|
|
|
clean:
|
|
|
|
|
rm -rf target
|
|
|
|
|
|
2024-09-02 12:24:16 +01:00
|
|
|
CARGO_RELEASE_PROFILE ?= release-github
|
|
|
|
|
|
2023-07-11 20:35:27 +01:00
|
|
|
@PHONY: release-linux-current-target
|
2023-12-09 10:14:47 +00:00
|
|
|
release-linux-current-target:
|
2023-07-11 20:35:27 +01:00
|
|
|
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 \
|
2024-09-02 12:24:16 +01:00
|
|
|
cargo build --profile $(CARGO_RELEASE_PROFILE) --target=$(TARGET) --features=openssl-vendored
|
|
|
|
|
|
|
|
|
|
@PHONY: debug-linux-docker-x86_64
|
|
|
|
|
debug-linux-docker-x86_64:
|
|
|
|
|
CARGO_RELEASE_PROFILE=dev \
|
|
|
|
|
$(MAKE) release-linux-x86_64 && \
|
|
|
|
|
cp target/x86_64-unknown-linux-musl/debug/rqbit target/cross/linux/amd64/ && \
|
|
|
|
|
docker build -t ikatson/rqbit:tmp-debug -f docker/Dockerfile --platform linux/amd64 target/cross && \
|
|
|
|
|
docker push ikatson/rqbit:tmp-debug
|
2023-05-07 15:00:32 +00:00
|
|
|
|
2022-05-23 21:33:12 +01:00
|
|
|
@PHONY: release-linux-x86_64
|
2023-07-11 20:35:27 +01:00
|
|
|
release-linux-x86_64:
|
2024-08-26 12:14:44 +01:00
|
|
|
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 \
|
2023-07-11 20:35:27 +01:00
|
|
|
$(MAKE) release-linux-current-target
|
2021-10-17 18:17:50 +01:00
|
|
|
|
2022-05-23 21:33:12 +01:00
|
|
|
@PHONY: release-linux-aarch64
|
2023-07-11 20:35:27 +01:00
|
|
|
release-linux-aarch64:
|
2024-08-26 15:42:38 +01:00
|
|
|
TARGET=aarch64-unknown-linux-musl \
|
|
|
|
|
TARGET_SNAKE_CASE=aarch64_unknown_linux_musl \
|
|
|
|
|
TARGET_SNAKE_UPPER_CASE=AARCH64_UNKNOWN_LINUX_MUSL \
|
|
|
|
|
CROSS_COMPILE_PREFIX=aarch64-unknown-linux-musl \
|
2023-07-11 20:35:27 +01:00
|
|
|
$(MAKE) release-linux-current-target
|
2022-05-23 21:33:12 +01:00
|
|
|
|
2023-11-26 10:26:49 +00:00
|
|
|
@PHONY: release-linux-armv7
|
|
|
|
|
release-linux-armv7:
|
2024-04-23 22:17:24 +01:00
|
|
|
TARGET=armv7-unknown-linux-musleabihf \
|
|
|
|
|
TARGET_SNAKE_CASE=armv7_unknown_linux_musleabihf \
|
|
|
|
|
TARGET_SNAKE_UPPER_CASE=ARMV7_UNKNOWN_LINUX_MUSLEABIHF \
|
|
|
|
|
CROSS_COMPILE_PREFIX=armv7-linux-musleabihf \
|
|
|
|
|
$(MAKE) release-linux-current-target
|