2018-12-14 02:27:44 +01:00
|
|
|
CLANG_FORMAT ?= clang-format-5.0
|
|
|
|
|
PYTHON_FORMAT ?= yapf
|
|
|
|
|
TCL_FORMAT ?= utils//tcl-reformat.sh
|
2017-12-20 16:20:01 +01:00
|
|
|
|
2018-10-11 22:12:48 +02:00
|
|
|
.PHONY: database format clean env
|
|
|
|
|
|
2018-12-14 02:27:44 +01:00
|
|
|
IN_ENV = if [ -e env/bin/activate ]; then . env/bin/activate; fi;
|
2018-10-11 22:12:48 +02:00
|
|
|
env:
|
2018-12-18 01:28:42 +01:00
|
|
|
virtualenv --python=python3 --system-site-packages env
|
2018-10-11 22:12:48 +02:00
|
|
|
. env/bin/activate; pip install -r requirements.txt
|
|
|
|
|
ln -sf $(PWD)/prjxray env/lib/python3.*/site-packages/
|
2018-12-18 03:49:18 +01:00
|
|
|
. env/bin/activate; python -c "import yaml" || (echo "Unable to find python-yaml" && exit 1)
|
2018-02-06 02:51:33 +01:00
|
|
|
|
2018-02-06 02:51:32 +01:00
|
|
|
build:
|
2017-12-20 16:20:01 +01:00
|
|
|
git submodule update --init --recursive
|
|
|
|
|
mkdir -p build
|
2018-02-06 02:51:32 +01:00
|
|
|
cd build; cmake ..; $(MAKE)
|
2018-01-08 22:44:26 +01:00
|
|
|
|
2018-02-06 02:51:35 +01:00
|
|
|
database: build
|
|
|
|
|
$(MAKE) -C $@
|
|
|
|
|
|
2018-12-17 23:28:36 +01:00
|
|
|
FORMAT_EXCLUDE = third_party .git env build
|
2018-12-14 02:27:44 +01:00
|
|
|
FIND_EXCLUDE = $(foreach x,$(FORMAT_EXCLUDE),-and -not -path './$(x)/*')
|
2018-01-08 22:44:26 +01:00
|
|
|
format:
|
2018-12-14 02:27:44 +01:00
|
|
|
find . -name \*.cc $(FIND_EXCLUDE) -print0 | xargs -0 -P $$(nproc) ${CLANG_FORMAT} -style=file -i
|
|
|
|
|
find . -name \*.h $(FIND_EXCLUDE) -print0 | xargs -0 -P $$(nproc) ${CLANG_FORMAT} -style=file -i
|
|
|
|
|
$(IN_ENV) find . -name \*.py $(FIND_EXCLUDE) -print0 | xargs -0 -P $$(nproc) yapf -p -i
|
|
|
|
|
find . -name \*.tcl $(FIND_EXCLUDE) -print0 | xargs -0 -P $$(nproc) -n 1 $(TCL_FORMAT)
|
2018-02-06 02:51:33 +01:00
|
|
|
|
|
|
|
|
clean:
|
2018-02-06 02:51:35 +01:00
|
|
|
$(MAKE) -C database clean
|
2018-02-06 02:51:33 +01:00
|
|
|
$(MAKE) -C fuzzers clean
|
|
|
|
|
rm -rf build
|