Further prettify makefile
This commit is contained in:
parent
78ccb9465b
commit
80f069589a
1 changed files with 36 additions and 44 deletions
80
Makefile
80
Makefile
|
|
@ -1,4 +1,4 @@
|
||||||
OPENSSL_VERSION=3.0.3
|
OPENSSL_VERSION=3.1.1
|
||||||
|
|
||||||
all: sign-release sign-debug
|
all: sign-release sign-debug
|
||||||
|
|
||||||
|
|
@ -44,63 +44,55 @@ target/openssl-linux/openssl-$(OPENSSL_VERSION).tar.gz:
|
||||||
mkdir -p target/openssl-linux
|
mkdir -p target/openssl-linux
|
||||||
curl -L https://www.openssl.org/source/openssl-$(OPENSSL_VERSION).tar.gz -o $@
|
curl -L https://www.openssl.org/source/openssl-$(OPENSSL_VERSION).tar.gz -o $@
|
||||||
|
|
||||||
target/openssl-linux/x86_64/lib/libssl.a: target/openssl-linux/openssl-$(OPENSSL_VERSION).tar.gz
|
target/openssl-linux/$(TARGET)/lib/libssl.a: target/openssl-linux/openssl-$(OPENSSL_VERSION).tar.gz
|
||||||
export OPENSSL_ROOT=$(PWD)/target/openssl-linux/x86_64/ && \
|
export OPENSSL_ROOT=$(PWD)/target/openssl-linux/$(TARGET)/ && \
|
||||||
mkdir -p $${OPENSSL_ROOT}/src && \
|
mkdir -p $${OPENSSL_ROOT}/src && \
|
||||||
cd $${OPENSSL_ROOT}/src/ && \
|
cd $${OPENSSL_ROOT}/src/ && \
|
||||||
tar xf ../../openssl-$(OPENSSL_VERSION).tar.gz && \
|
tar xf ../../openssl-$(OPENSSL_VERSION).tar.gz && \
|
||||||
cd openssl-$(OPENSSL_VERSION) && \
|
cd openssl-$(OPENSSL_VERSION) && \
|
||||||
./Configure linux-generic64 --prefix="$${OPENSSL_ROOT}" --openssldir="$${OPENSSL_ROOT}" no-shared --cross-compile-prefix=x86_64-unknown-linux-gnu- && \
|
./Configure $(OPENSSL_CONFIGURE_NAME) --prefix="$${OPENSSL_ROOT}" --openssldir="$${OPENSSL_ROOT}" no-shared \
|
||||||
|
--cross-compile-prefix=$(CROSS_COMPILE_PREFIX)- && \
|
||||||
make install_dev -j
|
make install_dev -j
|
||||||
|
|
||||||
target/openssl-linux/aarch64/lib/libssl.a: target/openssl-linux/openssl-$(OPENSSL_VERSION).tar.gz
|
@PHONY: release-linux-current-target
|
||||||
export OPENSSL_ROOT=$(PWD)/target/openssl-linux/aarch64/ && \
|
release-linux-current-target: target/openssl-linux/$(TARGET)/lib/libssl.a
|
||||||
mkdir -p $${OPENSSL_ROOT}/src && \
|
CC_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-gcc \
|
||||||
cd $${OPENSSL_ROOT}/src/ && \
|
CXX_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-g++ \
|
||||||
tar xf ../../openssl-$(OPENSSL_VERSION).tar.gz && \
|
AR_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-ar \
|
||||||
cd openssl-$(OPENSSL_VERSION) && \
|
CARGO_TARGET_$(TARGET_SNAKE_UPPER_CASE)_LINKER=$(CROSS_COMPILE_PREFIX)-gcc \
|
||||||
./Configure linux-aarch64 --prefix="$${OPENSSL_ROOT}" --openssldir="$${OPENSSL_ROOT}" no-shared --cross-compile-prefix=aarch64-unknown-linux-gnu- && \
|
OPENSSL_DIR=$(PWD)/target/openssl-linux/$(TARGET)/ \
|
||||||
make install_dev -j
|
cargo build --release --target=$(TARGET)
|
||||||
|
|
||||||
target/openssl-linux/armv6/lib/libssl.a: target/openssl-linux/openssl-$(OPENSSL_VERSION).tar.gz
|
|
||||||
export OPENSSL_ROOT=$(PWD)/target/openssl-linux/armv6/ && \
|
|
||||||
mkdir -p $${OPENSSL_ROOT}/src && \
|
|
||||||
cd $${OPENSSL_ROOT}/src/ && \
|
|
||||||
tar xf ../../openssl-$(OPENSSL_VERSION).tar.gz && \
|
|
||||||
cd openssl-$(OPENSSL_VERSION) && \
|
|
||||||
LDFLAGS=-latomic ./Configure linux-generic32 --prefix="$${OPENSSL_ROOT}" --openssldir="$${OPENSSL_ROOT}" no-shared --cross-compile-prefix=arm-linux-gnueabihf- && \
|
|
||||||
make install_dev -j
|
|
||||||
|
|
||||||
@PHONY: release-linux
|
@PHONY: release-linux
|
||||||
release-linux: release-linux-x86_64 release-linux-aarch64
|
release-linux: release-linux-x86_64 release-linux-aarch64 release-linux-armv6
|
||||||
|
|
||||||
@PHONY: release-linux-x86_64
|
@PHONY: release-linux-x86_64
|
||||||
release-linux-x86_64: target/openssl-linux/x86_64/lib/libssl.a
|
release-linux-x86_64:
|
||||||
# prereqs:
|
TARGET=x86_64-unknown-linux-gnu \
|
||||||
# brew tap messense/macos-cross-toolchains
|
TARGET_SNAKE_CASE=x86_64_unknown_linux_gnu \
|
||||||
# brew install x86_64-unknown-linux-gnu arm-unknown-linux-gnueabihf aarch64-unknown-linux-gnu
|
TARGET_SNAKE_UPPER_CASE=X86_64_UNKNOWN_LINUX_GNU \
|
||||||
# cross-compile openssl with "no-shared", see above
|
CROSS_COMPILE_PREFIX=x86_64-unknown-linux-gnu \
|
||||||
CC_x86_64_unknown_linux_gnu=x86_64-unknown-linux-gnu-gcc \
|
OPENSSL_CONFIGURE_NAME=linux-generic64 \
|
||||||
CXX_x86_64_unknown_linux_gnu=x86_64-unknown-linux-gnu-g++ \
|
$(MAKE) release-linux-current-target
|
||||||
AR_x86_64_unknown_linux_gnu=x86_64-unknown-linux-gnu-ar \
|
|
||||||
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-unknown-linux-gnu-gcc \
|
|
||||||
OPENSSL_DIR=$(PWD)/target/openssl-linux/x86_64/ \
|
|
||||||
cargo build --release --target=x86_64-unknown-linux-gnu
|
|
||||||
|
|
||||||
@PHONY: release-linux-aarch64
|
@PHONY: release-linux-aarch64
|
||||||
release-linux-aarch64: target/openssl-linux/aarch64/lib/libssl.a
|
release-linux-aarch64:
|
||||||
CC_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnu-gcc \
|
TARGET=aarch64-unknown-linux-gnu \
|
||||||
CXX_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnu-g++ \
|
TARGET_SNAKE_CASE=aarch64_unknown_linux_gnu \
|
||||||
AR_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnu-ar \
|
TARGET_SNAKE_UPPER_CASE=AARCH64_UNKNOWN_LINUX_GNU \
|
||||||
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-unknown-linux-gnu-gcc \
|
CROSS_COMPILE_PREFIX=aarch64-unknown-linux-gnu \
|
||||||
OPENSSL_DIR=$(PWD)/target/openssl-linux/aarch64/ \
|
OPENSSL_CONFIGURE_NAME=linux-aarch64 \
|
||||||
cargo build --release --target=aarch64-unknown-linux-gnu
|
$(MAKE) release-linux-current-target
|
||||||
|
|
||||||
@PHONY: release-linux-armv6
|
@PHONY: release-linux-armv6
|
||||||
release-linux-armv6: target/openssl-linux/armv6/lib/libssl.a
|
release-linux-armv6:
|
||||||
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
|
TARGET=arm-unknown-linux-gnueabihf \
|
||||||
OPENSSL_DIR=$(PWD)/target/openssl-linux/armv6/ \
|
TARGET_SNAKE_CASE=arm_unknown_linux_gnueabihf \
|
||||||
cargo build --release --target=arm-unknown-linux-gnueabihf
|
TARGET_SNAKE_UPPER_CASE=ARM_UNKNOWN_LINUX_GNUEABIHF \
|
||||||
|
CROSS_COMPILE_PREFIX=arm-linux-gnueabihf \
|
||||||
|
OPENSSL_CONFIGURE_NAME=linux-generic32 \
|
||||||
|
LDFLAGS=-latomic \
|
||||||
|
$(MAKE) release-linux-current-target
|
||||||
|
|
||||||
|
|
||||||
@PHONY: release-all
|
@PHONY: release-all
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue