6 CFLAGS ?= -I./lua-5.1.4/src $(TLS_CFLAGS) -O0 -ggdb3
7 LDFLAGS ?= -L./lua-5.1.4/src
9 CFLAGS += -Wall --std=gnu99
11 ifeq ($(UHTTPD_TLS),openssl)
12 TLS_LDFLAGS ?= -L./openssl-0.9.8m -lssl
13 TLS_CFLAGS ?= -I./openssl-0.9.8m/include -DTLS_IS_OPENSSL
15 TLS_LDFLAGS ?= -L./cyassl-1.4.0/src/.libs -lcyassl
16 TLS_CFLAGS ?= -I./cyassl-1.4.0/include -DTLS_IS_CYASSL
19 OBJ := uhttpd.o uhttpd-file.o uhttpd-utils.o
20 LIB := -Wl,--export-dynamic -lcrypt -ldl
25 HAVE_SHADOW=$(shell echo 'int main(void){ return !getspnam("root"); }' | \
26 $(CC) -include shadow.h -xc -o/dev/null - 2>/dev/null && echo yes)
28 ifeq ($(HAVE_SHADOW),yes)
29 CFLAGS += -DHAVE_SHADOW
32 ifeq ($(TLS_SUPPORT),1)
36 ifeq ($(CGI_SUPPORT),1)
40 ifeq ($(LUA_SUPPORT),1)
44 ifeq ($(UBUS_SUPPORT),1)
51 ifeq ($(CGI_SUPPORT),1)
55 ifeq ($(LUA_SUPPORT),1)
56 LUALIB := uhttpd_lua.so
58 $(LUALIB): uhttpd-lua.c
59 $(CC) $(CFLAGS) $(LDFLAGS) $(FPIC) \
60 -shared -lm -llua -ldl \
61 -o $(LUALIB) uhttpd-lua.c
64 ifeq ($(TLS_SUPPORT),1)
65 TLSLIB := uhttpd_tls.so
67 $(TLSLIB): uhttpd-tls.c
68 $(CC) $(CFLAGS) $(LDFLAGS) $(FPIC) \
69 -shared $(TLS_LDFLAGS) \
70 -o $(TLSLIB) uhttpd-tls.c
73 ifeq ($(UBUS_SUPPORT),1)
74 UBUSLIB := uhttpd_ubus.so
76 $(UBUSLIB): uhttpd-ubus.c
77 $(CC) $(CFLAGS) $(LDFLAGS) $(FPIC) \
78 -shared -lubus -ljson -lblobmsg_json \
79 -o $(UBUSLIB) uhttpd-ubus.c
83 $(CC) $(CFLAGS) -c -o $@ $<
85 compile: $(OBJ) $(TLSLIB) $(LUALIB) $(UBUSLIB)
86 $(CC) -o uhttpd $(LDFLAGS) $(OBJ) $(LIB)