Lines 9-29
Link Here
|
9 |
HTTP_VERSION=v1.0-61-g4898606 |
9 |
HTTP_VERSION=v1.0-61-g4898606 |
10 |
BUILDDIR=build |
10 |
BUILDDIR=build |
11 |
|
11 |
|
12 |
PREFIX?=/usr/local |
12 |
# Paths |
13 |
BINDIR?=${DESTDIR}${PREFIX}/bin |
13 |
PREFIX?=/usr |
14 |
INCDIR?=${DESTDIR}${PREFIX}/include/luvit |
14 |
LIBDIR?=lib |
15 |
LIBDIR?=${DESTDIR}${PREFIX}/lib/luvit |
15 |
BINDIR_LUVIT?=${DESTDIR}${PREFIX}/bin |
|
|
16 |
INCDIR_LUVIT?=${DESTDIR}${PREFIX}/include/luvit |
17 |
LIBDIR_LUVIT?=${DESTDIR}${PREFIX}/${LIBDIR}/luvit |
16 |
|
18 |
|
17 |
OS_NAME=$(shell uname -s) |
19 |
OS_NAME=$(shell uname -s) |
18 |
MH_NAME=$(shell uname -m) |
20 |
MH_NAME=$(shell uname -m) |
19 |
ifeq (${OS_NAME},Darwin) |
21 |
ifeq (${OS_NAME},Darwin) |
20 |
ifeq (${MH_NAME},x86_64) |
22 |
ifeq (${MH_NAME},x86_64) |
21 |
LDFLAGS=-framework CoreServices -pagezero_size 10000 -image_base 100000000 |
23 |
LDFLAGS+=-framework CoreServices -pagezero_size 10000 -image_base 100000000 |
22 |
else |
24 |
else |
23 |
LDFLAGS=-framework CoreServices |
25 |
LDFLAGS+=-framework CoreServices |
24 |
endif |
26 |
endif |
25 |
else ifeq (${OS_NAME},Linux) |
27 |
else ifeq (${OS_NAME},Linux) |
26 |
LDFLAGS=-Wl,-E |
28 |
LDFLAGS+=-Wl,-E |
27 |
endif |
29 |
endif |
28 |
# LUAJIT CONFIGURATION # |
30 |
# LUAJIT CONFIGURATION # |
29 |
#XCFLAGS=-g |
31 |
#XCFLAGS=-g |
Lines 35-51
Link Here
|
35 |
export Q= |
37 |
export Q= |
36 |
MAKEFLAGS+=-e |
38 |
MAKEFLAGS+=-e |
37 |
|
39 |
|
38 |
LDFLAGS+=-L${BUILDDIR} -lluvit |
40 |
CC ?= gcc |
39 |
LDFLAGS+=${LUADIR}/src/libluajit.a |
41 |
|
40 |
LDFLAGS+=${UVDIR}/uv.a |
42 |
LDFLAGS += \ |
41 |
LDFLAGS+=${YAJLDIR}/yajl.a |
43 |
-L${BUILDDIR} \ |
42 |
LDFLAGS+=-Wall -lm -ldl -lpthread |
44 |
-Wall |
|
|
45 |
|
46 |
LIBS += \ |
47 |
-lluajit-5.1 \ |
48 |
-luv \ |
49 |
-lyajl \ |
50 |
-lhttp_parser \ |
51 |
-lluvit -lm -ldl -lpthread -lrt |
52 |
|
53 |
INCLUDES += \ |
54 |
-I${PREFIX}/include/libuv \ |
55 |
-I${PREFIX}/include/http-parser \ |
56 |
-I${PREFIX}/include/yajl |
43 |
|
57 |
|
44 |
ifeq (${OS_NAME},Linux) |
58 |
ifeq (${OS_NAME},Linux) |
45 |
LDFLAGS+= -lrt |
59 |
LDFLAGS+= -lrt |
46 |
endif |
60 |
endif |
47 |
|
61 |
|
48 |
|
|
|
49 |
LUVLIBS=${BUILDDIR}/utils.o \ |
62 |
LUVLIBS=${BUILDDIR}/utils.o \ |
50 |
${BUILDDIR}/luv_fs.o \ |
63 |
${BUILDDIR}/luv_fs.o \ |
51 |
${BUILDDIR}/luv_dns.o \ |
64 |
${BUILDDIR}/luv_dns.o \ |
Lines 67-152
Link Here
|
67 |
${BUILDDIR}/los.o \ |
80 |
${BUILDDIR}/los.o \ |
68 |
${BUILDDIR}/lhttp_parser.o |
81 |
${BUILDDIR}/lhttp_parser.o |
69 |
|
82 |
|
70 |
DEPS=${LUADIR}/src/libluajit.a \ |
|
|
71 |
${YAJLDIR}/yajl.a \ |
72 |
${UVDIR}/uv.a \ |
73 |
${HTTPDIR}/http_parser.o |
74 |
|
75 |
all: ${BUILDDIR}/luvit |
83 |
all: ${BUILDDIR}/luvit |
76 |
|
84 |
|
77 |
${LUADIR}/Makefile: |
85 |
${BUILDDIR}/%.o: src/%.c |
78 |
git submodule update --init ${LUADIR} |
|
|
79 |
|
80 |
${LUADIR}/src/libluajit.a: ${LUADIR}/Makefile |
81 |
touch -c ${LUADIR}/src/*.h |
82 |
$(MAKE) -C ${LUADIR} |
83 |
|
84 |
${YAJLDIR}/CMakeLists.txt: |
85 |
git submodule update --init ${YAJLDIR} |
86 |
|
87 |
${YAJLDIR}/Makefile: deps/Makefile.yajl ${YAJLDIR}/CMakeLists.txt |
88 |
cp deps/Makefile.yajl ${YAJLDIR}/Makefile |
89 |
|
90 |
${YAJLDIR}/yajl.a: ${YAJLDIR}/Makefile |
91 |
rm -rf ${YAJLDIR}/src/yajl |
92 |
cp -r ${YAJLDIR}/src/api ${YAJLDIR}/src/yajl |
93 |
$(MAKE) -C ${YAJLDIR} |
94 |
|
95 |
${UVDIR}/Makefile: |
96 |
git submodule update --init ${UVDIR} |
97 |
|
98 |
${UVDIR}/uv.a: ${UVDIR}/Makefile |
99 |
$(MAKE) -C ${UVDIR} uv.a |
100 |
|
101 |
${HTTPDIR}/Makefile: |
102 |
git submodule update --init ${HTTPDIR} |
103 |
|
104 |
${HTTPDIR}/http_parser.o: ${HTTPDIR}/Makefile |
105 |
${MAKE} -C ${HTTPDIR} http_parser.o |
106 |
|
107 |
${BUILDDIR}/%.o: src/%.c ${DEPS} |
108 |
mkdir -p ${BUILDDIR} |
86 |
mkdir -p ${BUILDDIR} |
109 |
$(CC) --std=c89 -D_GNU_SOURCE -g -Wall -Werror -c $< -o $@ -I${HTTPDIR} -I${UVDIR}/include -I${LUADIR}/src -I${YAJLDIR}/src/api -I${YAJLDIR}/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHTTP_VERSION=\"${HTTP_VERSION}\" -DUV_VERSION=\"${UV_VERSION}\" -DYAJL_VERSIONISH=\"${YAJL_VERSION}\" -DLUVIT_VERSION=\"${VERSION}\" -DLUAJIT_VERSION=\"${LUAJIT_VERSION}\" |
87 |
$(CC) $(CFLAGS) --std=c89 -D_GNU_SOURCE -Wall -Werror -c $< -o $@ ${INCLUDES} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHTTP_VERSION=\"${HTTP_VERSION}\" -DUV_VERSION=\"${UV_VERSION}\" -DYAJL_VERSIONISH=\"${YAJL_VERSION}\" -DLUVIT_VERSION=\"${VERSION}\" -DLUAJIT_VERSION=\"${LUAJIT_VERSION}\" |
110 |
|
88 |
|
111 |
${BUILDDIR}/libluvit.a: ${LUVLIBS} ${DEPS} |
89 |
${BUILDDIR}/libluvit.a: ${LUVLIBS} |
112 |
$(AR) rvs ${BUILDDIR}/libluvit.a ${LUVLIBS} ${DEPS} |
90 |
$(AR) rvs ${BUILDDIR}/libluvit.a ${LUVLIBS} |
113 |
|
91 |
|
114 |
${BUILDDIR}/luvit: ${BUILDDIR}/libluvit.a ${BUILDDIR}/luvit_main.o |
92 |
${BUILDDIR}/luvit: ${BUILDDIR}/libluvit.a ${BUILDDIR}/luvit_main.o |
115 |
$(CC) -g -o ${BUILDDIR}/luvit ${BUILDDIR}/luvit_main.o ${BUILDDIR}/libluvit.a ${LDFLAGS} |
93 |
$(CC) $(CFLAGS) ${LDFLAGS} -o ${BUILDDIR}/luvit ${BUILDDIR}/luvit_main.o ${BUILDDIR}/libluvit.a ${LIBS} |
116 |
|
94 |
|
117 |
clean: |
95 |
clean: |
118 |
${MAKE} -C ${LUADIR} clean |
|
|
119 |
${MAKE} -C ${HTTPDIR} clean |
120 |
${MAKE} -C ${YAJLDIR} clean |
121 |
${MAKE} -C ${UVDIR} distclean |
122 |
${MAKE} -C examples/native clean |
96 |
${MAKE} -C examples/native clean |
123 |
rm -rf build bundle |
97 |
rm -rf build bundle |
124 |
|
98 |
|
125 |
install: all |
99 |
install: all |
126 |
mkdir -p ${BINDIR} |
100 |
mkdir -p ${BINDIR_LUVIT} |
127 |
install ${BUILDDIR}/luvit ${BINDIR}/luvit |
101 |
install -Dm755 ${BUILDDIR}/luvit ${BINDIR_LUVIT}/luvit |
128 |
cp bin/luvit-config.lua ${BINDIR}/luvit-config |
102 |
install -Dm755 bin/luvit-config.lua ${BINDIR_LUVIT}/luvit-config |
129 |
chmod +x ${BINDIR}/luvit-config |
103 |
for i in `ls lib/luvit`; do \ |
130 |
mkdir -p ${LIBDIR} |
104 |
install -Dm644 lib/luvit/$$i ${LIBDIR_LUVIT}/$$i; done |
131 |
cp lib/luvit/*.lua ${LIBDIR} |
105 |
for i in `ls src/*.h`; do \ |
132 |
mkdir -p ${INCDIR}/luajit |
106 |
install -Dm644 $$i ${INCDIR_LUVIT}/$$(basename $$i); done |
133 |
cp ${LUADIR}/src/lua.h ${INCDIR}/luajit/ |
107 |
|
134 |
cp ${LUADIR}/src/lauxlib.h ${INCDIR}/luajit/ |
108 |
#bundle: build/luvit-1 ${BUILDDIR}/libluvit.a |
135 |
cp ${LUADIR}/src/luaconf.h ${INCDIR}/luajit/ |
109 |
# build/luvit tools/bundler.lua |
136 |
cp ${LUADIR}/src/luajit.h ${INCDIR}/luajit/ |
110 |
# $(CC) --std=c89 -D_GNU_SOURCE -Wall -Werror -DBUNDLE -c src/luvit_exports.c -o bundle/luvit_exports.o -I${HTTPDIR} -I${UVDIR}/include -I${LUADIR}/src -I${YAJLDIR}/src/api -I${YAJLDIR}/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHTTP_VERSION=\"${HTTP_VERSION}\" -DUV_VERSION=\"${UV_VERSION}\" -DYAJL_VERSIONISH=\"${YAJL_VERSION}\" -DLUVIT_VERSION=\"${VERSION}\" -DLUAJIT_VERSION=\"${LUAJIT_VERSION}\" |
137 |
cp ${LUADIR}/src/lualib.h ${INCDIR}/luajit/ |
111 |
# $(CC) --std=c89 -D_GNU_SOURCE -Wall -Werror -DBUNDLE -c src/luvit_main.c -o bundle/luvit_main.o -I${HTTPDIR} -I${UVDIR}/include -I${LUADIR}/src -I${YAJLDIR}/src/api -I${YAJLDIR}/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHTTP_VERSION=\"${HTTP_VERSION}\" -DUV_VERSION=\"${UV_VERSION}\" -DYAJL_VERSIONISH=\"${YAJL_VERSION}\" -DLUVIT_VERSION=\"${VERSION}\" -DLUAJIT_VERSION=\"${LUAJIT_VERSION}\" |
138 |
mkdir -p ${INCDIR}/http_parser |
112 |
# $(CC) -o bundle/luvit-1 ${BUILDDIR}/libluvit.a `ls bundle/*.o` ${LDFLAGS} |
139 |
cp ${HTTPDIR}/http_parser.h ${INCDIR}/http_parser/ |
113 |
|
140 |
mkdir -p ${INCDIR}/uv |
|
|
141 |
cp ${UVDIR}/include/uv.h ${INCDIR}/uv/ |
142 |
cp src/*.h ${INCDIR}/ |
143 |
|
144 |
|
145 |
bundle: build/luvit ${BUILDDIR}/libluvit.a |
146 |
build/luvit tools/bundler.lua |
147 |
$(CC) --std=c89 -D_GNU_SOURCE -g -Wall -Werror -DBUNDLE -c src/luvit_exports.c -o bundle/luvit_exports.o -I${HTTPDIR} -I${UVDIR}/include -I${LUADIR}/src -I${YAJLDIR}/src/api -I${YAJLDIR}/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHTTP_VERSION=\"${HTTP_VERSION}\" -DUV_VERSION=\"${UV_VERSION}\" -DYAJL_VERSIONISH=\"${YAJL_VERSION}\" -DLUVIT_VERSION=\"${VERSION}\" -DLUAJIT_VERSION=\"${LUAJIT_VERSION}\" |
148 |
$(CC) --std=c89 -D_GNU_SOURCE -g -Wall -Werror -DBUNDLE -c src/luvit_main.c -o bundle/luvit_main.o -I${HTTPDIR} -I${UVDIR}/include -I${LUADIR}/src -I${YAJLDIR}/src/api -I${YAJLDIR}/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHTTP_VERSION=\"${HTTP_VERSION}\" -DUV_VERSION=\"${UV_VERSION}\" -DYAJL_VERSIONISH=\"${YAJL_VERSION}\" -DLUVIT_VERSION=\"${VERSION}\" -DLUAJIT_VERSION=\"${LUAJIT_VERSION}\" |
149 |
$(CC) -g -o bundle/luvit ${BUILDDIR}/libluvit.a `ls bundle/*.o` ${LDFLAGS} |
150 |
|
114 |
|
151 |
test: ${BUILDDIR}/luvit |
115 |
test: ${BUILDDIR}/luvit |
152 |
cd tests && ../${BUILDDIR}/luvit runner.lua |
116 |
cd tests && ../${BUILDDIR}/luvit runner.lua |
Lines 156-181
Link Here
|
156 |
api.markdown: $(wildcard lib/*.lua) |
120 |
api.markdown: $(wildcard lib/*.lua) |
157 |
find lib -name "*.lua" | grep -v "luvit.lua" | sort | xargs -l luvit tools/doc-parser.lua > $@ |
121 |
find lib -name "*.lua" | grep -v "luvit.lua" | sort | xargs -l luvit tools/doc-parser.lua > $@ |
158 |
|
122 |
|
159 |
DIST_DIR?=${HOME}/luvit.io/dist |
123 |
#DIST_DIR?=${HOME}/luvit.io/dist |
160 |
DIST_NAME=luvit-${VERSION} |
124 |
#DIST_NAME=luvit-${VERSION} |
161 |
DIST_FOLDER=${DIST_DIR}/${VERSION}/${DIST_NAME} |
125 |
#DIST_FOLDER=${DIST_DIR}/${VERSION}/${DIST_NAME} |
162 |
DIST_FILE=${DIST_FOLDER}.tar.gz |
126 |
#DIST_FILE=${DIST_FOLDER}.tar.gz |
163 |
tarball: |
127 |
#tarball: |
164 |
rm -rf ${DIST_FOLDER} ${DIST_FILE} |
128 |
# rm -rf ${DIST_FOLDER} ${DIST_FILE} |
165 |
mkdir -p ${DIST_DIR} |
129 |
# mkdir -p ${DIST_DIR} |
166 |
git clone . ${DIST_FOLDER} |
130 |
# git clone . ${DIST_FOLDER} |
167 |
cp deps/gitmodules.local ${DIST_FOLDER}/.gitmodules |
131 |
# cp deps/gitmodules.local ${DIST_FOLDER}/.gitmodules |
168 |
cd ${DIST_FOLDER} ; git submodule update --init |
132 |
# cd ${DIST_FOLDER} ; git submodule update --init |
169 |
find ${DIST_FOLDER} -name ".git*" | xargs rm -r |
133 |
# find ${DIST_FOLDER} -name ".git*" | xargs rm -r |
170 |
rm -rf ${DIST_FOLDER}/deps/zlib |
134 |
# rm -rf ${DIST_FOLDER}/deps/zlib |
171 |
sed -e 's/^VERSION=.*/VERSION=${VERSION}/' \ |
135 |
# sed -e 's/^VERSION=.*/VERSION=${VERSION}/' \ |
172 |
-e 's/^LUAJIT_VERSION=.*/LUAJIT_VERSION=${LUAJIT_VERSION}/' \ |
136 |
-e 's/^LUAJIT_VERSION=.*/LUAJIT_VERSION=${LUAJIT_VERSION}/' \ |
173 |
-e 's/^UV_VERSION=.*/UV_VERSION=${UV_VERSION}/' \ |
137 |
-e 's/^UV_VERSION=.*/UV_VERSION=${UV_VERSION}/' \ |
174 |
-e 's/^HTTP_VERSION=.*/HTTP_VERSION=${HTTP_VERSION}/' \ |
138 |
-e 's/^HTTP_VERSION=.*/HTTP_VERSION=${HTTP_VERSION}/' \ |
175 |
-e 's/^YAJL_VERSION=.*/YAJL_VERSION=${YAJL_VERSION}/' < ${DIST_FOLDER}/Makefile > ${DIST_FOLDER}/Makefile.patched |
139 |
-e 's/^YAJL_VERSION=.*/YAJL_VERSION=${YAJL_VERSION}/' < ${DIST_FOLDER}/Makefile > ${DIST_FOLDER}/Makefile.patched |
176 |
mv ${DIST_FOLDER}/Makefile.patched ${DIST_FOLDER}/Makefile |
140 |
# mv ${DIST_FOLDER}/Makefile.patched ${DIST_FOLDER}/Makefile |
177 |
tar -czf ${DIST_FILE} -C ${DIST_DIR}/${VERSION} ${DIST_NAME} |
141 |
# tar -czf ${DIST_FILE} -C ${DIST_DIR}/${VERSION} ${DIST_NAME} |
178 |
rm -rf ${DIST_FOLDER} |
142 |
# rm -rf ${DIST_FOLDER} |
179 |
|
143 |
|
180 |
.PHONY: test install all api.markdown bundle tarball |
144 |
.PHONY: test install all api.markdown bundle tarball |
181 |
|
145 |
|