openwrtv3/package/utils/px5g/Makefile
Felix Fietkau 709d10e220 px5g: replace px5g-standalone with a statically linked variant of px5g-mbedtls
px5g-standalone only supports SHA1 for certificates, which is strongly
deprecated. The new px5g-standalone is about 27k bigger (compressed),
and has identical behavior to px5g-mbedtls (it uses SHA256).

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-21 16:05:42 +01:00

70 lines
1.7 KiB
Makefile

#
# Copyright (C) 2010-2015 Jo-Philipp Wich <jo@mein.io>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=px5g
PKG_RELEASE:=4
PKG_LICENSE:=LGPL-2.1
PKG_BUILD_DIR:=$(BUILD_DIR)/px5g-$(BUILD_VARIANT)
PKG_USE_MIPS16:=0
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
include $(INCLUDE_DIR)/package.mk
define Package/px5g-mbedtls
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Encryption
TITLE:=X.509 certificate generator (using mbedtls)
DEPENDS:=+libmbedtls
PROVIDES:=px5g
VARIANT:=mbedtls
endef
define Package/px5g-mbedtls/description
Px5g is a tiny standalone X.509 certificate generator.
It suitable to create key files and certificates in DER
and PEM format for use with stunnel, uhttpd and others.
endef
define Package/px5g-standalone
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Encryption
TITLE:=X.509 certificate generator (standalone)
VARIANT:=standalone
endef
Package/px5g-standalone/description = $(Package/px5g-mbedtls/description)
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
endef
TARGET_LDFLAGS := -lmbedtls -lmbedx509 -lmbedcrypto
ifeq ($(BUILD_VARIANT),standalone)
TARGET_LDFLAGS := -Wl,-Bstatic $(TARGET_LDFLAGS) -Wl,-Bdynamic
endif
TARGET_CFLAGS += -Wl,--gc-sections
define Build/Compile
$(TARGET_CC) $(TARGET_CFLAGS) -o $(PKG_BUILD_DIR)/px5g px5g.c $(TARGET_LDFLAGS)
endef
define Package/px5g-mbedtls/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/px5g $(1)/usr/sbin/px5g
endef
Package/px5g-standalone/install = $(Package/px5g-mbedtls/install)
$(eval $(call BuildPackage,px5g-mbedtls))
$(eval $(call BuildPackage,px5g-standalone))