blob: e4f9ce01749f7b14065292212962392528d73590 [file] [log] [blame]
Andy Green7b405452013-02-01 10:50:15 +08001@applyhash@
2
Andy Green3c974692010-11-08 17:04:09 +00003lib_LTLIBRARIES=libwebsockets.la
4include_HEADERS=libwebsockets.h
Andy Green7c212cc2010-11-08 20:20:42 +00005dist_libwebsockets_la_SOURCES=libwebsockets.c \
Andy Green7c212cc2010-11-08 20:20:42 +00006 parsers.c \
Andy Greena1ce6be2013-01-18 11:43:21 +08007 handshake.c \
Andy Green7c212cc2010-11-08 20:20:42 +00008 libwebsockets.h \
Andy Greendf736162011-01-18 15:39:02 +00009 base64-decode.c \
Andy Green03674a62013-01-16 11:47:40 +080010 output.c \
Andy Green7c212cc2010-11-08 20:20:42 +000011 private-libwebsockets.h
Alon Levye1be13d2012-10-19 11:21:55 +020012
Andy Green3182ece2013-01-20 17:08:31 +080013if NO_EXTENSIONS
14else
15dist_libwebsockets_la_SOURCES+= extension.c \
16 extension-deflate-stream.c extension-deflate-stream.h \
17 extension-deflate-frame.c extension-deflate-frame.h
18endif
19
Andy Green279a3032013-01-17 10:05:39 +080020if NO_DAEMONIZE
21else
22dist_libwebsockets_la_SOURCES+= daemonize.c
23endif
24
Andy Green03674a62013-01-16 11:47:40 +080025if NO_CLIENT
26else
27dist_libwebsockets_la_SOURCES+= client.c \
28 client-parser.c \
29 client-handshake.c
30endif
31
Andy Greena1ce6be2013-01-18 11:43:21 +080032if NO_SERVER
33else
34dist_libwebsockets_la_SOURCES+= server.c \
35 server-handshake.c
36endif
37
Davidc4ef7b12013-01-12 20:39:47 +080038if USE_BUILTIN_GETIFADDRS
39dist_libwebsockets_la_SOURCES += getifaddrs.c
40endif
Alon Levye1be13d2012-10-19 11:21:55 +020041
Andy Green7619c472011-01-23 17:47:08 +000042if LIBCRYPTO
43else
Andy Green5738c0e2013-01-21 09:53:35 +080044dist_libwebsockets_la_SOURCES += sha-1.c
Andy Green7619c472011-01-23 17:47:08 +000045endif
46
Andy Green5b731222013-02-13 09:08:43 +080047libwebsockets_la_CFLAGS=-Wall -std=gnu99 -pedantic
Andy Green94c62c62012-10-06 15:17:01 +080048libwebsockets_la_LDFLAGS=
Andy Green0dbef492012-04-12 10:11:29 +080049
Andy Green5b731222013-02-13 09:08:43 +080050# uncomment below and use cat ./lib/.libs/*.su | sort -k2g | tac
51# to get a worst-first list of static stack usage if you have gcc 4.6+
52#libwebsockets_la_CFLAGS+= -fstack-usage
53
Andy Green23c5f2e2013-02-06 15:43:00 +090054if USE_CYASSL
55libwebsockets_la_LDFLAGS+= -lcyassl
56endif
57
Andy Greenbdd6bf32013-01-21 12:19:30 +080058if DISABLE_DEBUG
59libwebsockets_la_CFLAGS+= -O4
60else
Andy Greena3957ef2013-02-11 09:31:43 +080061libwebsockets_la_CFLAGS+= -O0 -g
Andy Greenbdd6bf32013-01-21 12:19:30 +080062endif
63
Andy Green0dbef492012-04-12 10:11:29 +080064if MINGW
Andy Green39347de2012-04-12 11:11:10 +080065libwebsockets_la_CFLAGS+= -w -I../win32port/win32helpers -I ../win32port/zlib/
Andy Greenaa6fc442012-04-12 13:26:49 +080066libwebsockets_la_LDFLAGS+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc
Andy Green0dbef492012-04-12 10:11:29 +080067else
68libwebsockets_la_CFLAGS+= -rdynamic -fPIC -Werror
Andy Green2da89dc2013-01-31 10:12:52 +080069# notice http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html has rules for how to bump this
Andy Green48258812013-02-12 10:36:39 +080070libwebsockets_la_LDFLAGS+= -version-info 3:0:0
Andy Green0dbef492012-04-12 10:11:29 +080071endif
72
73libwebsockets_la_CFLAGS+= -c \
Andy Greencce2a812012-04-12 11:06:05 +080074 -DINSTALL_DATADIR=\"@datadir@\" -DLWS_OPENSSL_CLIENT_CERTS=\"@clientcertdir@\"
Andy Green13ba5bb2013-01-20 18:26:20 +080075if NO_EXTENSIONS
76else
Andy Green0dbef492012-04-12 10:11:29 +080077libwebsockets_la_LDFLAGS+= -lz
Andy Green13ba5bb2013-01-20 18:26:20 +080078endif
Andy Green3c974692010-11-08 17:04:09 +000079
Andy Green926256e2010-11-08 17:28:21 +000080all-local:
81 ../scripts/kernel-doc -html \
Andy Greend88146d2013-01-22 12:40:35 +080082 *.c \
Andy Green4f3943a2010-11-12 10:44:16 +000083 libwebsockets.h \
Andy Green7c212cc2010-11-08 20:20:42 +000084 > ../libwebsockets-api-doc.html
Peter Pentchev4d46cb52013-02-07 16:19:52 +020085 ../scripts/kernel-doc -text \
86 *.c \
87 libwebsockets.h \
88 > ../libwebsockets-api-doc.txt
Andy Green926256e2010-11-08 17:28:21 +000089