odyssey/Makefile

68 lines
2.1 KiB
Makefile
Raw Normal View History

BUILD_TEST_DIR=build
BUILD_TEST_ASAN_DIR=build-asan
ODY_DIR=$(PWD)
TMP_BIN:=$(ODY_DIR)/tmp
FMT_BIN:=clang-format-9
CMAKE_BIN:=cmake
SKIP_CLEANUP_DOCKER:=
CMAKE_FLAGS:=-DCC_FLAGS="-Wextra -Wstrict-aliasing" -DUSE_SCRAM=YES
2020-08-08 16:00:31 +00:00
BUILD_TYPE=Release
2020-07-26 07:58:15 +00:00
COMPILE_CONCURRENCY=8
cleanup-docker:
./cleanup-docker.sh -s$(SKIP_CLEANUP_DOCKER)
clean: cleanup-docker
rm -fr $(TMP_BIN)
rm -fr $(BUILD_TEST_DIR)
rm -fr $(BUILD_TEST_ASAN_DIR)
2020-07-26 07:58:15 +00:00
local_build: clean
$(CMAKE_BIN) -S $(ODY_DIR) -B$(BUILD_TEST_DIR) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(CMAKE_FLAGS)
make -C$(BUILD_TEST_DIR) -j$(COMPILE_CONCURRENCY)
2020-07-26 07:58:15 +00:00
local_run:
$(BUILD_TEST_DIR)/sources/odyssey ./odyssey-dev.conf
2020-07-26 07:58:15 +00:00
fmtinit:
git submodule init
git submodule update
fmt: fmtinit
run-clang-format/run-clang-format.py -r --clang-format-executable $(FMT_BIN) modules sources stress test third_party
2020-07-26 07:58:15 +00:00
apply_fmt:
find ./ -maxdepth 3 -iname '*.h' -o -iname '*.c' | xargs $(FMT_BIN) -i
2020-07-26 07:58:15 +00:00
build_asan:
mkdir -p $(BUILD_TEST_ASAN_DIR)
cd $(BUILD_TEST_ASAN_DIR) && $(CMAKE_BIN) -DCMAKE_BUILD_TYPE=ASAN $(ODY_DIR) && make -j$(COMPILE_CONCURRENCY)
2020-07-26 07:58:15 +00:00
run_test:
rm -fr $(BUILD_TEST_DIR) && mkdir $(BUILD_TEST_DIR) && cd $(BUILD_TEST_DIR) && $(CMAKE_BIN) -DCMAKE_BUILD_TYPE=Release $(CMAKE_FLAGS) .. && make -j$(COMPILE_CONCURRENCY) && cd test && ./odyssey_test
docker-compose -f docker-compose-test.yml build odyssey
docker-compose -f docker-compose-test.yml up --exit-code-from odyssey
2020-10-26 07:51:49 +00:00
submit-cov:
mkdir cov-build && cd cov-build
$(COV-BIN-PATH)/cov-build --dir cov-int make -j 4 && tar czvf odyssey.tgz cov-int && curl --form token=$(COV_TOKEN) --form email=$(COV_ISSUER) --form file=@./odyssey.tgz --form version="2" --form description="scalable potgresql connection pooler" https://scan.coverity.com/builds\?project\=yandex%2Fodyssey
PGSOURCEREPO:=
PGBR:=
fetch-custom-pg:
rm -fr $(TMP_BIN)
mkdir $(TMP_BIN)
git clone $(PGSOURCEREPO) $(TMP_BIN) --single-branch -b $(PGBR)
BUILD_VERSION:=
BUILD_NUM:=
build-docker-pkg:
docker build -f ./docker-build/Dockerfile . --tag odybuild:1.0 && docker run -e VERSION=$(BUILD_VERSION) -e BUILD_NUMBER=$(BUILD_NUM) odybuild:1.0