11.PHONY : test
22
3+ clean :
4+ cargo clean
5+ rm -rf bin
6+ - docker image prune -af
7+ - docker builder prune -af
8+
9+ update :
10+ cargo update
11+ cd tests && go get -u
12+ cd tests && go mod tidy
13+
14+ lint :
15+ cargo clippy 2> clippy_results.txt
16+
317profile :
418 bash profiler/stress_sqliterg.sh
519 bash profiler/stress_ws4sqlite.sh
@@ -20,14 +34,53 @@ build-debug:
2034build :
2135 cargo build --release
2236
23- update :
24- cargo update
25- cd tests && go get -u
26- cd tests && go mod tidy
37+ build-static-nostatic :
38+ rm -rf bin
39+ - mkdir bin
40+ bash -c " RUSTFLAGS='-C target-feature=+crt-static' cargo build --release --target ` uname -m` -unknown-linux-gnu"
41+ bash -c " tar czf bin/sqliterg-v0.17.0-linux-` uname -m` -static-bundled.tar.gz -C target/` uname -m` -unknown-linux-gnu/release/ sqliterg"
42+ cp Cargo.toml Cargo.toml.orig
43+ sed ' s/^rusqlite.*$$/rusqlite = { version = "~0", features = [\"serde_json\"] }/' Cargo.toml.orig > Cargo.toml
44+ bash -c " cargo build --release --target ` uname -m` -unknown-linux-gnu"
45+ bash -c " tar czf bin/sqliterg-v0.17.0-linux-` uname -m` -dynamic.tar.gz -C target/` uname -m` -unknown-linux-gnu/release/ sqliterg"
46+ mv Cargo.toml.orig Cargo.toml
2747
28- lint :
29- cargo clippy 2> clippy_results.txt
48+ build-macos :
49+ rm -rf bin
50+ - mkdir bin
51+ cargo build --release
52+ tar czf bin/sqliterg-v0.17.0-macos-x86_64-bundled.tar.gz -C target/release/ sqliterg
53+ cargo build --release --target aarch64-apple-darwin
54+ tar czf bin/sqliterg-v0.17.0-macos-aarch64-bundled.tar.gz -C target/aarch64-apple-darwin/release/ sqliterg
55+ cp Cargo.toml Cargo.toml.orig
56+ sed ' s/^rusqlite.*$$/rusqlite = { version = "~0", features = [\"serde_json\"] }/' Cargo.toml.orig > Cargo.toml
57+ cargo build --release
58+ tar czf bin/sqliterg-v0.17.0-macos-x86_64-dynamic.tar.gz -C target/release/ sqliterg
59+ cargo build --release --target aarch64-apple-darwin
60+ tar czf bin/sqliterg-v0.17.0-macos-aarch64-dynamic.tar.gz -C target/aarch64-apple-darwin/release/ sqliterg
61+ mv Cargo.toml.orig Cargo.toml
3062
3163docker :
32- docker buildx build . --no-cache -t germanorizzo/sqliterg:latest --push
33-
64+ docker run --privileged --rm tonistiigi/binfmt --install arm64
65+ docker buildx build --no-cache --platform linux/amd64 -t germanorizzo/sqliterg:v0.17.0-x86_64 --push .
66+ docker buildx build --no-cache --platform linux/arm64 -t germanorizzo/sqliterg:v0.17.0-aarch64 --push .
67+ - docker manifest rm germanorizzo/sqliterg:v0.17.0
68+ docker manifest create germanorizzo/sqliterg:v0.17.0 germanorizzo/sqliterg:v0.17.0-x86_64 germanorizzo/sqliterg:v0.17.0-aarch64
69+ docker manifest push germanorizzo/sqliterg:v0.17.0
70+ - docker manifest rm germanorizzo/sqliterg:latest
71+ docker manifest create germanorizzo/sqliterg:latest germanorizzo/sqliterg:v0.17.0-x86_64 germanorizzo/sqliterg:v0.17.0-aarch64
72+ docker manifest push germanorizzo/sqliterg:latest
73+
74+ docker-edge :
75+ # in Cargo.toml, set 'version = "0.x.999"' where x is the current minor
76+ docker run --privileged --rm tonistiigi/binfmt --install arm64,arm
77+ docker buildx build --no-cache --platform linux/amd64 -t germanorizzo/sqliterg:edge --push .
78+
79+ docker-zbuild-linux :
80+ - mkdir bin
81+ docker run --privileged --rm tonistiigi/binfmt --install arm64,arm
82+ docker buildx build --no-cache --platform linux/amd64 -f Dockerfile.binaries --target export -t tmp_binaries_build . --output bin
83+ docker buildx build --no-cache --platform linux/arm64 -f Dockerfile.binaries --target export -t tmp_binaries_build . --output bin
84+ # Doesn't work. armv7-unknown-linux-gnueabihf must be used. Anyway, for now ARMv7 is out of scope.
85+ # docker buildx build --no-cache --platform linux/arm/v7 -f Dockerfile.binaries --target export -t tmp_binaries_build . --output bin
86+
0 commit comments