93 lines
2.5 KiB
Makefile
93 lines
2.5 KiB
Makefile
#
|
|
# This makefile is just used to easily work with docker (linux build)
|
|
#
|
|
all: brew
|
|
|
|
install: brew
|
|
|
|
# Use -DCMAKE_INSTALL_PREFIX= to install into another location
|
|
# on osx it is good practice to make /usr/local user writable
|
|
# sudo chown -R `whoami`/staff /usr/local
|
|
brew:
|
|
mkdir -p build && (cd build ; cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_TLS=1 -DUSE_WS=1 -DUSE_TEST=1 .. ; make -j 4 install)
|
|
|
|
ws:
|
|
mkdir -p build && (cd build ; cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_TLS=1 -DUSE_WS=1 -DUSE_MBED_TLS=1 .. ; make -j 4)
|
|
|
|
uninstall:
|
|
xargs rm -fv < build/install_manifest.txt
|
|
|
|
tag:
|
|
git tag v"`cat DOCKER_VERSION`"
|
|
|
|
xcode:
|
|
cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_TLS=1 -DUSE_WS=1 -DUSE_TEST=1 -GXcode && open ixwebsocket.xcodeproj
|
|
|
|
.PHONY: docker
|
|
|
|
NAME := bsergean/ws
|
|
TAG := $(shell cat DOCKER_VERSION)
|
|
IMG := ${NAME}:${TAG}
|
|
LATEST := ${NAME}:latest
|
|
BUILD := ${NAME}:build
|
|
|
|
docker_test:
|
|
docker build -f docker/Dockerfile.debian -t bsergean/ixwebsocket_test:build .
|
|
|
|
docker:
|
|
docker build -t ${IMG} .
|
|
docker tag ${IMG} ${BUILD}
|
|
|
|
docker_push:
|
|
docker tag ${IMG} ${LATEST}
|
|
docker push ${LATEST}
|
|
|
|
run:
|
|
docker run --cap-add sys_ptrace --entrypoint=sh -it bsergean/ws:build
|
|
|
|
# this is helpful to remove trailing whitespaces
|
|
trail:
|
|
sh third_party/remote_trailing_whitespaces.sh
|
|
|
|
format:
|
|
clang-format -i `find test ixwebsocket ws -name '*.cpp' -o -name '*.h'`
|
|
|
|
# That target is used to start a node server, but isn't required as we have
|
|
# a builtin C++ server started in the unittest now
|
|
test_server:
|
|
(cd test && npm i ws && node broadcast-server.js)
|
|
|
|
# env TEST=Websocket_server make test
|
|
# env TEST=Websocket_chat make test
|
|
# env TEST=heartbeat make test
|
|
test:
|
|
mkdir -p build && (cd build ; cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_TLS=1 -DUSE_WS=1 -DUSE_TEST=1 .. ; make -j 4)
|
|
(cd test ; python2.7 run.py -r)
|
|
|
|
ws_test: ws
|
|
(cd ws ; env DEBUG=1 PATH=../ws/build:$$PATH bash test_ws.sh)
|
|
|
|
autobahn_report:
|
|
cp -rvf ~/sandbox/reports/clients/* ../bsergean.github.io/IXWebSocket/autobahn/
|
|
|
|
# For the fork that is configured with appveyor
|
|
rebase_upstream:
|
|
git fetch upstream
|
|
git checkout master
|
|
git reset --hard upstream/master
|
|
git push origin master --force
|
|
|
|
install_cmake_for_linux:
|
|
mkdir -p /tmp/cmake
|
|
(cd /tmp/cmake ; curl -L -O https://github.com/Kitware/CMake/releases/download/v3.14.0/cmake-3.14.0-Linux-x86_64.tar.gz ; tar zxf cmake-3.14.0-Linux-x86_64.tar.gz)
|
|
|
|
# python -m venv venv
|
|
# source venv/bin/activate
|
|
# pip install mkdocs
|
|
doc:
|
|
./venv/bin/mkdocs build -d ../bsergean.github.io/IXWebSocket/site
|
|
|
|
.PHONY: test
|
|
.PHONY: build
|
|
.PHONY: ws
|