Root/package/uhttpd/src/Makefile

1CGI_SUPPORT ?= 1
2LUA_SUPPORT ?= 1
3TLS_SUPPORT ?= 1
4UHTTPD_TLS ?= cyassl
5
6CFLAGS ?= -I./lua-5.1.4/src -I$(TLS_INCLUDE_DIR) -O0 -ggdb3
7LDFLAGS ?= -L./lua-5.1.4/src -L$(TLS_LIB_DIR)
8
9CFLAGS += -Wall --std=gnu99
10
11ifeq ($(UHTTPD_TLS),openssl)
12  TLS_LDFLAGS := -lssl
13  TLS_INCLUDE_DIR := ./openssl-0.9.8m/include
14  TLS_LIB_DIR := ./openssl-0.9.8m
15else
16  TLS_LDFLAGS := -lcyassl
17  TLS_INCLUDE_DIR := ./cyassl-1.4.0/include
18  TLS_LIB_DIR := ./cyassl-1.4.0/src/.libs
19endif
20
21OBJ := uhttpd.o uhttpd-file.o uhttpd-utils.o
22LIB := -Wl,--export-dynamic -lcrypt -ldl
23
24TLSLIB :=
25LUALIB :=
26
27HAVE_SHADOW=$(shell echo 'int main(void){ return !getspnam("root"); }' | \
28    $(CC) -include shadow.h -xc -o/dev/null - 2>/dev/null && echo yes)
29
30ifeq ($(HAVE_SHADOW),yes)
31  CFLAGS += -DHAVE_SHADOW
32endif
33
34world: compile
35
36ifeq ($(CGI_SUPPORT),1)
37  OBJ += uhttpd-cgi.o
38  CFLAGS += -DHAVE_CGI
39endif
40
41ifeq ($(LUA_SUPPORT),1)
42  CFLAGS += -DHAVE_LUA
43  LUALIB := uhttpd_lua.so
44
45  $(LUALIB): uhttpd-lua.c
46        $(CC) $(CFLAGS) $(LDFLAGS) $(FPIC) \
47            -shared -lm -llua -ldl \
48            -o $(LUALIB) uhttpd-lua.c
49endif
50
51ifeq ($(TLS_SUPPORT),1)
52  CFLAGS += -DHAVE_TLS
53  TLSLIB := uhttpd_tls.so
54
55  $(TLSLIB): uhttpd-tls.c
56        $(CC) $(CFLAGS) $(LDFLAGS) $(FPIC) \
57            -shared $(TLS_LDFLAGS) \
58            -o $(TLSLIB) uhttpd-tls.c
59endif
60
61%.o: %.c
62    $(CC) $(CFLAGS) -c -o $@ $<
63
64compile: $(OBJ) $(TLSLIB) $(LUALIB)
65    $(CC) -o uhttpd $(LDFLAGS) $(LIB) $(OBJ)
66
67clean:
68    rm -f *.o *.so uhttpd
69

Archive Download this file



interactive