blob: 98226ed2064a66122fe327752e7794d027ee81fe (
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
CGI_SUPPORT ?= 1
LUA_SUPPORT ?= 1
TLS_SUPPORT ?= 1
UHTTPD_TLS ?= cyassl
CFLAGS ?= -I./lua-5.1.4/src $(TLS_CFLAGS) -O0 -ggdb3
LDFLAGS ?= -L./lua-5.1.4/src
CFLAGS += -Wall --std=gnu99
ifeq ($(UHTTPD_TLS),openssl)
TLS_LDFLAGS ?= -L./openssl-0.9.8m -lssl
TLS_CFLAGS ?= -I./openssl-0.9.8m/include -DTLS_IS_OPENSSL
else
TLS_LDFLAGS ?= -L./cyassl-1.4.0/src/.libs -lcyassl
TLS_CFLAGS ?= -I./cyassl-1.4.0/include -DTLS_IS_CYASSL
endif
OBJ := uhttpd.o uhttpd-file.o uhttpd-utils.o
LIB := -Wl,--export-dynamic -lcrypt -ldl
TLSLIB :=
LUALIB :=
HAVE_SHADOW=$(shell echo 'int main(void){ return !getspnam("root"); }' | \
$(CC) -include shadow.h -xc -o/dev/null - 2>/dev/null && echo yes)
ifeq ($(HAVE_SHADOW),yes)
CFLAGS += -DHAVE_SHADOW
endif
ifeq ($(TLS_SUPPORT),1)
CFLAGS += -DHAVE_TLS
endif
ifeq ($(CGI_SUPPORT),1)
CFLAGS += -DHAVE_CGI
endif
ifeq ($(LUA_SUPPORT),1)
CFLAGS += -DHAVE_LUA
endif
ifeq ($(UBUS_SUPPORT),1)
CFLAGS += -DHAVE_UBUS
endif
world: compile
ifeq ($(CGI_SUPPORT),1)
OBJ += uhttpd-cgi.o
endif
ifeq ($(LUA_SUPPORT),1)
LUALIB := uhttpd_lua.so
$(LUALIB): uhttpd-lua.c
$(CC) $(CFLAGS) $(LDFLAGS) $(FPIC) \
-shared -lm -llua -ldl \
-o $(LUALIB) uhttpd-lua.c
endif
ifeq ($(TLS_SUPPORT),1)
TLSLIB := uhttpd_tls.so
$(TLSLIB): uhttpd-tls.c
$(CC) $(CFLAGS) $(LDFLAGS) $(FPIC) \
-shared $(TLS_LDFLAGS) \
-o $(TLSLIB) uhttpd-tls.c
endif
ifeq ($(UBUS_SUPPORT),1)
UBUSLIB := uhttpd_ubus.so
$(UBUSLIB): uhttpd-ubus.c
$(CC) $(CFLAGS) $(LDFLAGS) $(FPIC) \
-shared -lubus -ljson -lblobmsg_json \
-o $(UBUSLIB) uhttpd-ubus.c
endif
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
compile: $(OBJ) $(TLSLIB) $(LUALIB) $(UBUSLIB)
$(CC) -o uhttpd $(LDFLAGS) $(OBJ) $(LIB)
clean:
rm -f *.o *.so uhttpd
|