aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/px5g/Makefile
blob: 7b5748425ddf4efddc9e825427a9a52c0a2c7a0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#
# 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:=8
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_CPPFLAGS) $(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))