Root/package/uhttpd/Makefile

1#
2# Copyright (C) 2010-2011 Jo-Philipp Wich <xm@subsignal.org>
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9
10PKG_NAME:=uhttpd
11PKG_RELEASE:=27
12
13PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
14PKG_CONFIG_DEPENDS := \
15    CONFIG_PACKAGE_uhttpd-mod-lua \
16    CONFIG_PACKAGE_uhttpd-mod-tls \
17    CONFIG_PACKAGE_uhttpd-mod-tls_cyassl \
18    CONFIG_PACKAGE_uhttpd-mod-tls_openssl
19
20include $(INCLUDE_DIR)/package.mk
21
22define Package/uhttpd/default
23  SECTION:=net
24  CATEGORY:=Network
25  SUBMENU:=Web Servers/Proxies
26  TITLE:=uHTTPd - tiny, single threaded HTTP server
27  MAINTAINER:=Jo-Philipp Wich <xm@subsignal.org>
28endef
29
30define Package/uhttpd
31  $(Package/uhttpd/default)
32  MENU:=1
33endef
34
35define Package/uhttpd/description
36 uHTTPd is a tiny single threaded HTTP server with TLS, CGI and Lua
37 support. It is intended as a drop-in replacement for the Busybox
38 HTTP daemon.
39endef
40
41
42define Package/uhttpd-mod-tls
43  $(Package/uhttpd/default)
44  TITLE+= (TLS plugin)
45  DEPENDS:=uhttpd +PACKAGE_uhttpd-mod-tls_cyassl:libcyassl +PACKAGE_uhttpd-mod-tls_openssl:libopenssl
46endef
47
48define Package/uhttpd-mod-tls/description
49 The TLS plugin adds HTTPS support to uHTTPd.
50endef
51
52define Package/uhttpd-mod-tls/config
53        choice
54                depends on PACKAGE_uhttpd-mod-tls
55                prompt "TLS Provider"
56                default PACKAGE_uhttpd-mod-tls_cyassl
57
58                config PACKAGE_uhttpd-mod-tls_cyassl
59                        bool "CyaSSL"
60
61                config PACKAGE_uhttpd-mod-tls_openssl
62                        bool "OpenSSL"
63        endchoice
64endef
65
66UHTTPD_TLS:=
67TLS_CFLAGS:=
68
69ifneq ($(CONFIG_PACKAGE_uhttpd-mod-tls_cyassl),)
70  UHTTPD_TLS:=cyassl
71  TLS_CFLAGS:=-I$(STAGING_DIR)/usr/include/cyassl
72endif
73
74ifneq ($(CONFIG_PACKAGE_uhttpd-mod-tls_openssl),)
75  UHTTPD_TLS:=openssl
76endif
77
78
79define Package/uhttpd-mod-lua
80  $(Package/uhttpd/default)
81  TITLE+= (Lua plugin)
82  DEPENDS:=uhttpd +liblua
83endef
84
85define Package/uhttpd-mod-lua/description
86 The Lua plugin adds a CGI-like Lua runtime interface to uHTTPd.
87endef
88
89
90TARGET_CFLAGS += $(TLS_CFLAGS)
91MAKE_VARS += \
92    FPIC="$(FPIC)" \
93    LUA_SUPPORT="$(if $(CONFIG_PACKAGE_uhttpd-mod-lua),1)" \
94    TLS_SUPPORT="$(if $(CONFIG_PACKAGE_uhttpd-mod-tls),1)" \
95    UHTTPD_TLS="$(UHTTPD_TLS)"
96
97define Build/Prepare
98    mkdir -p $(PKG_BUILD_DIR)
99    $(CP) ./src/* $(PKG_BUILD_DIR)/
100endef
101
102define Package/uhttpd/conffiles
103/etc/config/uhttpd
104/etc/uhttpd.crt
105/etc/uhttpd.key
106endef
107
108define Package/uhttpd/install
109    $(INSTALL_DIR) $(1)/etc/init.d
110    $(INSTALL_BIN) ./files/uhttpd.init $(1)/etc/init.d/uhttpd
111    $(INSTALL_DIR) $(1)/etc/config
112    $(INSTALL_CONF) ./files/uhttpd.config $(1)/etc/config/uhttpd
113    $(INSTALL_DIR) $(1)/usr/sbin
114    $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd $(1)/usr/sbin/uhttpd
115endef
116
117define Package/uhttpd-mod-tls/install
118    $(INSTALL_DIR) $(1)/usr/lib
119    $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_tls.so $(1)/usr/lib/
120endef
121
122define Package/uhttpd-mod-lua/install
123    $(INSTALL_DIR) $(1)/usr/lib
124    $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_lua.so $(1)/usr/lib/
125endef
126
127
128$(eval $(call BuildPackage,uhttpd))
129$(eval $(call BuildPackage,uhttpd-mod-tls))
130$(eval $(call BuildPackage,uhttpd-mod-lua))
131

Archive Download this file



interactive