Line
Link Here
|
0 |
-- Makefile |
0 |
++ Makefile |
Lines 13-28
Link Here
|
13 |
CRYPTODIR=deps/luacrypto |
13 |
CRYPTODIR=deps/luacrypto |
14 |
|
14 |
|
15 |
PREFIX?=/usr/local |
15 |
PREFIX?=/usr/local |
16 |
BINDIR?=${DESTDIR}${PREFIX}/bin |
16 |
LIBDIR?=lib |
17 |
INCDIR?=${DESTDIR}${PREFIX}/include/luvit |
17 |
BINDIR_LUVIT?=${PREFIX}/bin |
18 |
LIBDIR?=${DESTDIR}${PREFIX}/lib/luvit |
18 |
INCDIR_LUVIT?=${PREFIX}/include/luvit |
19 |
|
19 |
LIBDIR_LUVIT?=${PREFIX}/${LIBDIR}/luvit |
20 |
OPENSSL_LIBS=$(shell pkg-config openssl --libs 2> /dev/null) |
|
|
21 |
ifeq (${OPENSSL_LIBS},) |
22 |
USE_SYSTEM_SSL?=0 |
23 |
else |
24 |
USE_SYSTEM_SSL?=1 |
25 |
endif |
26 |
|
20 |
|
27 |
OS_NAME=$(shell uname -s) |
21 |
OS_NAME=$(shell uname -s) |
28 |
MH_NAME=$(shell uname -m) |
22 |
MH_NAME=$(shell uname -m) |
Lines 45-64
Link Here
|
45 |
export Q= |
39 |
export Q= |
46 |
MAKEFLAGS+=-e |
40 |
MAKEFLAGS+=-e |
47 |
|
41 |
|
|
|
42 |
CC ?= gcc |
43 |
|
48 |
LDFLAGS+=-L${BUILDDIR} |
44 |
LDFLAGS+=-L${BUILDDIR} |
49 |
LIBS += ${ZLIBDIR}/libz.a \ |
45 |
LIBS += \ |
50 |
${YAJLDIR}/yajl.a \ |
46 |
-luv \ |
51 |
${UVDIR}/uv.a \ |
47 |
-lyajl \ |
52 |
${LUADIR}/src/libluajit.a \ |
48 |
-lhttp_parser \ |
53 |
-lluvit -lm -ldl -lpthread |
49 |
-lluacrypto \ |
54 |
ifeq (${USE_SYSTEM_SSL},1) |
50 |
-lluvit -ldl -lpthread \ |
|
|
51 |
$(shell pkg-config --libs-only-l lua) \ |
52 |
$(shell pkg-config --libs-only-l luajit) \ |
53 |
$(shell pkg-config --libs-only-l zlib) \ |
54 |
$(shell pkg-config --libs-only-l openssl) |
55 |
|
56 |
CPPFLAGS += \ |
57 |
-I${PREFIX}/include/libuv \ |
58 |
-I${PREFIX}/include/http-parser \ |
59 |
-I${PREFIX}/include/yajl |
60 |
|
55 |
CFLAGS+=-Wall -w |
61 |
CFLAGS+=-Wall -w |
56 |
CPPFLAGS+=$(shell pkg-config --cflags openssl) |
62 |
CPPFLAGS+=$(shell pkg-config --cflags openssl) |
57 |
LIBS+=${OPENSSL_LIBS} |
63 |
LIBS+=${OPENSSL_LIBS} |
58 |
else |
|
|
59 |
CPPFLAGS+=-I${SSLDIR}/openssl/include |
60 |
LIBS+=${SSLDIR}/libopenssl.a |
61 |
endif |
62 |
|
64 |
|
63 |
ifeq (${OS_NAME},Linux) |
65 |
ifeq (${OS_NAME},Linux) |
64 |
LIBS+=-lrt |
66 |
LIBS+=-lrt |
Lines 86-97
Link Here
|
86 |
CPPFLAGS += -DOPENSSL_NO_SEED |
88 |
CPPFLAGS += -DOPENSSL_NO_SEED |
87 |
CPPFLAGS += -DOPENSSL_NO_SOCK |
89 |
CPPFLAGS += -DOPENSSL_NO_SOCK |
88 |
|
90 |
|
89 |
ifeq (${MH_NAME},x86_64) |
|
|
90 |
CPPFLAGS += -I${SSLDIR}/openssl-configs/x64 |
91 |
else |
92 |
CPPFLAGS += -I${SSLDIR}/openssl-configs/ia32 |
93 |
endif |
94 |
|
95 |
LUVLIBS=${BUILDDIR}/utils.o \ |
91 |
LUVLIBS=${BUILDDIR}/utils.o \ |
96 |
${BUILDDIR}/luv_fs.o \ |
92 |
${BUILDDIR}/luv_fs.o \ |
97 |
${BUILDDIR}/luv_dns.o \ |
93 |
${BUILDDIR}/luv_dns.o \ |
Lines 117-203
Link Here
|
117 |
${BUILDDIR}/luv_zlib.o \ |
113 |
${BUILDDIR}/luv_zlib.o \ |
118 |
${BUILDDIR}/lhttp_parser.o |
114 |
${BUILDDIR}/lhttp_parser.o |
119 |
|
115 |
|
120 |
DEPS=${LUADIR}/src/libluajit.a \ |
|
|
121 |
${YAJLDIR}/yajl.a \ |
122 |
${UVDIR}/uv.a \ |
123 |
${ZLIBDIR}/libz.a \ |
124 |
${HTTPDIR}/http_parser.o |
125 |
|
126 |
ifeq (${USE_SYSTEM_SSL},0) |
127 |
DEPS+=${SSLDIR}/libopenssl.a |
128 |
endif |
129 |
|
130 |
all: ${BUILDDIR}/luvit |
116 |
all: ${BUILDDIR}/luvit |
131 |
|
117 |
|
132 |
${LUADIR}/Makefile: |
118 |
${BUILDDIR}/%.o: src/%.c |
133 |
git submodule update --init ${LUADIR} |
|
|
134 |
|
135 |
${LUADIR}/src/libluajit.a: ${LUADIR}/Makefile |
136 |
touch -c ${LUADIR}/src/*.h |
137 |
$(MAKE) -C ${LUADIR} |
138 |
|
139 |
${YAJLDIR}/CMakeLists.txt: |
140 |
git submodule update --init ${YAJLDIR} |
141 |
|
142 |
${YAJLDIR}/Makefile: deps/Makefile.yajl ${YAJLDIR}/CMakeLists.txt |
143 |
cp deps/Makefile.yajl ${YAJLDIR}/Makefile |
144 |
|
145 |
${YAJLDIR}/yajl.a: ${YAJLDIR}/Makefile |
146 |
rm -rf ${YAJLDIR}/src/yajl |
147 |
cp -r ${YAJLDIR}/src/api ${YAJLDIR}/src/yajl |
148 |
$(MAKE) -C ${YAJLDIR} |
149 |
|
150 |
${UVDIR}/Makefile: |
151 |
git submodule update --init ${UVDIR} |
152 |
|
153 |
${UVDIR}/uv.a: ${UVDIR}/Makefile |
154 |
$(MAKE) -C ${UVDIR} uv.a |
155 |
|
156 |
${HTTPDIR}/Makefile: |
157 |
git submodule update --init ${HTTPDIR} |
158 |
|
159 |
${HTTPDIR}/http_parser.o: ${HTTPDIR}/Makefile |
160 |
$(MAKE) -C ${HTTPDIR} http_parser.o |
161 |
|
162 |
${ZLIBDIR}/zlib.gyp: |
163 |
git submodule update --init ${ZLIBDIR} |
164 |
|
165 |
${ZLIBDIR}/libz.a: ${ZLIBDIR}/zlib.gyp |
166 |
cd ${ZLIBDIR} && ${CC} -c *.c && \ |
167 |
$(AR) rvs libz.a *.o |
168 |
|
169 |
${SSLDIR}/Makefile.openssl: |
170 |
git submodule update --init ${SSLDIR} |
171 |
|
172 |
${SSLDIR}/libopenssl.a: ${SSLDIR}/Makefile.openssl |
173 |
$(MAKE) -C ${SSLDIR} -f Makefile.openssl |
174 |
|
175 |
${BUILDDIR}/%.o: src/%.c ${DEPS} |
176 |
mkdir -p ${BUILDDIR} |
119 |
mkdir -p ${BUILDDIR} |
177 |
$(CC) ${CPPFLAGS} ${CFLAGS} --std=c89 -D_GNU_SOURCE -g -Wall -Werror -c $< -o $@ \ |
120 |
$(CC) \ |
178 |
-I${HTTPDIR} -I${UVDIR}/include -I${LUADIR}/src -I${YAJLDIR}/src/api \ |
121 |
${CPPFLAGS} \ |
179 |
-I${YAJLDIR}/src -I${ZLIBDIR} -I${CRYPTODIR}/src \ |
122 |
${CFLAGS} --std=c89 -D_GNU_SOURCE -g -Wall -Werror \ |
|
|
123 |
-c $< -o $@ \ |
180 |
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \ |
124 |
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \ |
181 |
-DUSE_SYSTEM_SSL=${USE_SYSTEM_SSL} \ |
125 |
-DUSE_SYSTEM_SSL=1 \ |
182 |
-DHTTP_VERSION=\"${HTTP_VERSION}\" \ |
126 |
-DHTTP_VERSION=\"${HTTP_VERSION}\" \ |
183 |
-DUV_VERSION=\"${UV_VERSION}\" \ |
127 |
-DUV_VERSION=\"${UV_VERSION}\" \ |
184 |
-DYAJL_VERSIONISH=\"${YAJL_VERSION}\" \ |
128 |
-DYAJL_VERSIONISH=\"${YAJL_VERSION}\" \ |
185 |
-DLUVIT_VERSION=\"${VERSION}\" \ |
129 |
-DLUVIT_VERSION=\"${VERSION}\" \ |
186 |
-DLUAJIT_VERSION=\"${LUAJIT_VERSION}\" |
130 |
-DLUAJIT_VERSION=\"${LUAJIT_VERSION}\" |
187 |
|
131 |
|
188 |
${BUILDDIR}/libluvit.a: ${CRYPTODIR}/Makefile ${LUVLIBS} ${DEPS} |
132 |
${BUILDDIR}/libluvit.a: ${LUVLIBS} |
189 |
$(AR) rvs ${BUILDDIR}/libluvit.a ${LUVLIBS} ${DEPS} |
133 |
$(AR) rvs ${BUILDDIR}/libluvit.a ${LUVLIBS} |
190 |
|
|
|
191 |
${CRYPTODIR}/Makefile: |
192 |
git submodule update --init ${CRYPTODIR} |
193 |
|
194 |
${CRYPTODIR}/src/lcrypto.o: ${CRYPTODIR}/Makefile |
195 |
${CC} ${CPPFLAGS} -c -o ${CRYPTODIR}/src/lcrypto.o -I${CRYPTODIR}/src/ \ |
196 |
-I${LUADIR}/src/ ${CRYPTODIR}/src/lcrypto.c |
197 |
|
134 |
|
198 |
${BUILDDIR}/luvit: ${BUILDDIR}/libluvit.a ${BUILDDIR}/luvit_main.o ${CRYPTODIR}/src/lcrypto.o |
135 |
${BUILDDIR}/luvit: ${BUILDDIR}/libluvit.a ${BUILDDIR}/luvit_main.o |
199 |
$(CC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -g -o ${BUILDDIR}/luvit ${BUILDDIR}/luvit_main.o ${BUILDDIR}/libluvit.a \ |
136 |
$(CC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -g -o ${BUILDDIR}/luvit ${BUILDDIR}/luvit_main.o ${BUILDDIR}/libluvit.a \ |
200 |
${CRYPTODIR}/src/lcrypto.o ${LIBS} |
137 |
${LIBS} |
201 |
|
138 |
|
202 |
clean: |
139 |
clean: |
203 |
${MAKE} -C ${LUADIR} clean |
140 |
${MAKE} -C ${LUADIR} clean |
Lines 209-229
Link Here
|
209 |
rm -rf build bundle |
146 |
rm -rf build bundle |
210 |
|
147 |
|
211 |
install: all |
148 |
install: all |
212 |
mkdir -p ${BINDIR} |
149 |
install -d ${DESTDIR}${BINDIR_LUVIT} |
213 |
install ${BUILDDIR}/luvit ${BINDIR}/luvit |
150 |
install -m755 ${BUILDDIR}/luvit ${DESTDIR}${BINDIR_LUVIT}/luvit |
214 |
mkdir -p ${LIBDIR} |
151 |
install -d ${DESTDIR}${LIBDIR_LUVIT} |
215 |
cp lib/luvit/*.lua ${LIBDIR} |
152 |
for i in `ls lib/luvit`; do \ |
216 |
mkdir -p ${INCDIR}/luajit |
153 |
install -Dm644 lib/luvit/$$i ${DESTDIR}${LIBDIR_LUVIT}/$$i; done |
217 |
cp ${LUADIR}/src/lua.h ${INCDIR}/luajit/ |
154 |
install -d ${DESTDIR}${INCDIR_LUVIT}/luajit |
218 |
cp ${LUADIR}/src/lauxlib.h ${INCDIR}/luajit/ |
155 |
for i in `ls src/*.h`; do \ |
219 |
cp ${LUADIR}/src/luaconf.h ${INCDIR}/luajit/ |
156 |
install -Dm644 $$i ${DESTDIR}${INCDIR_LUVIT}/$$(basename $$i); done |
220 |
cp ${LUADIR}/src/luajit.h ${INCDIR}/luajit/ |
|
|
221 |
cp ${LUADIR}/src/lualib.h ${INCDIR}/luajit/ |
222 |
mkdir -p ${INCDIR}/http_parser |
223 |
cp ${HTTPDIR}/http_parser.h ${INCDIR}/http_parser/ |
224 |
mkdir -p ${INCDIR}/uv |
225 |
cp -r ${UVDIR}/include/* ${INCDIR}/uv/ |
226 |
cp src/*.h ${INCDIR}/ |
227 |
|
157 |
|
228 |
bundle: build/luvit ${BUILDDIR}/libluvit.a |
158 |
bundle: build/luvit ${BUILDDIR}/libluvit.a |
229 |
build/luvit tools/bundler.lua |
159 |
build/luvit tools/bundler.lua |