forked from networknt/microservices-framework-benchmark
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
28 lines (27 loc) · 1.28 KB
/
Makefile
File metadata and controls
28 lines (27 loc) · 1.28 KB
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
CPP_SHARED := -std=c++11 -O3 -I ./src -shared -fPIC ./src/Extensions.cpp ./src/Group.cpp ./src/WebSocketImpl.cpp ./src/Networking.cpp ./src/Hub.cpp ./src/Node.cpp ./src/WebSocket.cpp ./src/HTTPSocket.cpp ./src/Socket.cpp addon.cpp
CPP_OSX := -stdlib=libc++ -mmacosx-version-min=10.7 -undefined dynamic_lookup
default:
make targets
NODE=targets/node-v4.4.3 ABI=46 make `(uname -s)`
NODE=targets/node-v5.11.0 ABI=47 make `(uname -s)`
NODE=targets/node-v6.0.0 ABI=48 make `(uname -s)`
NODE=targets/node-v7.1.0 ABI=51 make `(uname -s)`
cp -r ./src dist/
cp addon.cpp dist/src/addon.cpp
cp addon.h dist/src/addon.h
for f in dist/*.node; do chmod +x $$f; done
targets:
mkdir targets
curl https://nodejs.org/dist/v4.4.3/node-v4.4.3-headers.tar.gz | tar xz -C targets
curl https://nodejs.org/dist/v5.11.0/node-v5.11.0-headers.tar.gz | tar xz -C targets
curl https://nodejs.org/dist/v6.0.0/node-v6.0.0-headers.tar.gz | tar xz -C targets
curl https://nodejs.org/dist/v7.1.0/node-v7.1.0-headers.tar.gz | tar xz -C targets
Linux:
g++ $(CPP_SHARED) -static-libstdc++ -static-libgcc -I $$NODE/include/node -s -o dist/uws_linux_$$ABI.node
Darwin:
g++ $(CPP_SHARED) $(CPP_OSX) -I $$NODE/include/node -o dist/uws_darwin_$$ABI.node
.PHONY: clean
clean:
rm -f dist/uws_*.node
rm -rf dist/src
rm -rf targets