luckfox-pico-sdk/sysdrv/tools/board/toolkits/openssl/Makefile
2023-08-08 20:36:47 +08:00

67 lines
1.9 KiB
Makefile

ifeq ($(SYSDRV_PARAM), )
SYSDRV_PARAM:=../../../../Makefile.param
include $(SYSDRV_PARAM)
endif
export LC_ALL=C
SHELL:=/bin/bash
CURRENT_DIR := $(shell pwd)
# arch=arm default use thumb-2 compile
ifeq ($(SYSDRV_ARCH_TYPE),arm)
PKG_USE_THUMB2 ?= YES
endif
PKG_TARBALL_OPENSSL := openssl-1.1.1h.tar.gz
PKG_NAME_OPENSSL := openssl-1.1.1h
PKG_PATCHES_OPENSSL := openssl-1.1.1h-patches
ifeq ($(SYSDRV_ARCH_TYPE),arm)
PKG_OS_COMPILE_FLAG_OPENSSL := linux-armv4
else
PKG_OS_COMPILE_FLAG_OPENSSL := linux-aarch64
endif
PKG_DEP_ZLIB := $(CURRENT_DIR)/../zlib
PKG_BIN := out
PKG_CONF_OPTS += $(SYSDRV_OPTS) -Os \
-I $(PKG_DEP_ZLIB)/out/include \
-L $(PKG_DEP_ZLIB)/out/lib
ifeq ($(PKG_USE_THUMB2),YES)
PKG_CONF_OPTS += -mthumb -Wa,-mimplicit-it=thumb -mthumb-interwork
endif
all: zlib-dep
@test -f $(CURRENT_DIR)/$(PKG_BIN)/lib/libcrypto.a || (\
rm -fr $(CURRENT_DIR)/$(PKG_NAME_OPENSSL); \
tar -xf $(PKG_TARBALL_OPENSSL); \
mkdir -p $(CURRENT_DIR)/$(PKG_BIN); \
pushd $(CURRENT_DIR)/$(PKG_NAME_OPENSSL)/; \
cp -af $(CURRENT_DIR)/$(PKG_PATCHES_OPENSSL)/* ./; \
$(SHELL) ./openssl-1.1.1h.patch.sh ; \
CFLAGS="$(PKG_CONF_OPTS)" CPPFLAGS="$(PKG_CONF_OPTS)" \
CXXFLAGS="$(PKG_CONF_OPTS)" LDFLAGS="$(PKG_CONF_OPTS)" \
./Configure \
$(PKG_OS_COMPILE_FLAG_OPENSSL) -latomic -lpthread threads shared \
no-rc5 enable-camellia enable-mdc2 no-tests no-fuzz-libfuzzer \
no-fuzz-afl zlib \
--prefix=$(CURRENT_DIR)/$(PKG_BIN) ;\
sed -i -e "s#-march=[-a-z0-9] ##" -e "s#-mcpu=[-a-z0-9] ##g" $(CURRENT_DIR)/$(PKG_NAME_OPENSSL)/Makefile; \
sed -i -e "s#-O[0-9s]#$(PKG_OPENSSL_CFLAGS)#" $(CURRENT_DIR)/$(PKG_NAME_OPENSSL)/Makefile; \
sed -i -e "s# build_tests##" $(CURRENT_DIR)/$(PKG_NAME_OPENSSL)/Makefile; \
make -j$(SYSDRV_JOBS) 1>/dev/null || exit -1; \
make install > /dev/null; \
popd; )
zlib-dep:
$(MAKE) -C $(PKG_DEP_ZLIB)
clean: distclean
distclean:
-rm -rf $(PKG_BIN) $(PKG_NAME_OPENSSL)
-$(MAKE) -C $(PKG_DEP_ZLIB) clean