ustream-ssl: px5g: Rebuild package
[openwrt/openwrt.git] / package / utils / px5g / Makefile
index d33938173ca5fe57eb53b0f21e7f5bebeffd987d..4ea495867c5b886635114254b3e80f756a16f18f 100644 (file)
@@ -8,12 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=px5g
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 PKG_LICENSE:=LGPL-2.1
-PKG_BUILD_DIR:=$(BUILD_DIR)/px5g
+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
@@ -21,9 +23,9 @@ define Package/px5g-mbedtls
   CATEGORY:=Utilities
   SUBMENU:=Encryption
   TITLE:=X.509 certificate generator (using mbedtls)
-  MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
   DEPENDS:=+libmbedtls
   PROVIDES:=px5g
+  VARIANT:=mbedtls
 endef
 
 define Package/px5g-mbedtls/description
@@ -32,14 +34,29 @@ define Package/px5g-mbedtls/description
  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
+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)
+       $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -o $(PKG_BUILD_DIR)/px5g px5g.c $(TARGET_LDFLAGS)
 endef
 
 define Package/px5g-mbedtls/install
@@ -47,4 +64,7 @@ define Package/px5g-mbedtls/install
        $(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))