mirror of
https://github.com/BishopFox/deephack.git
synced 2026-11-07 09:55:59 -10:00
92 lines
2.4 KiB
Makefile
92 lines
2.4 KiB
Makefile
#!/usr/bin/make
|
|
# WARN: gmake syntax
|
|
########################################################
|
|
#
|
|
# useful targets:
|
|
# make test - run the unit tests
|
|
# make flake8 - linting and pep8
|
|
# make docs - create manpages and html documentation
|
|
# make loc - stats about loc
|
|
|
|
########################################################
|
|
# variable section
|
|
|
|
NAME = vulnserver
|
|
OS = $(shell uname -s)
|
|
PYTHON = $(shell which python3)
|
|
VIRTUALENV_PATH = $(shell echo $$HOME/.virtualenvs)
|
|
INSTALL_PATH = /usr/local/lib
|
|
EXEC_PATH = /usr/local/bin
|
|
|
|
MANPAGES=$(wildcard docs/man/**/*.*.ronn)
|
|
MANPAGES_GEN=$(patsubst %.ronn,%,$(MANPAGES))
|
|
MANPAGES_HTML=$(patsubst %.ronn,%.html,$(MANPAGES))
|
|
ifneq ($(shell which ronn 2>/dev/null),)
|
|
RONN2MAN = ronn
|
|
else
|
|
RONN2MAN = @echo "ERROR: 'ronn' command is not installed but is required to build $(MANPAGES)" && exit 1
|
|
endif
|
|
|
|
UNITTESTS=unittest
|
|
COVERAGE=coverage
|
|
|
|
########################################################
|
|
|
|
|
|
docs: $(MANPAGES)
|
|
$(RONN2MAN) $^
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f $(MANPAGES_GEN) $(MANPAGES_HTML)
|
|
rm -rf ./build
|
|
rm -rf ./dist
|
|
rm -rf ./*.egg-info
|
|
rm -rf ./*.deb
|
|
rm -rf .tox
|
|
rm -rf .coverage
|
|
rm -rf .sloccount
|
|
rm -rf .cache
|
|
find . -name '*.pyc.*' -delete
|
|
find . -name '*.pyc' -delete
|
|
find . -name '__pycache__' -delete
|
|
|
|
loc:
|
|
mkdir -p .sloccount
|
|
sloccount --datadir .sloccount $(NAME)/lib $(NAME)/cli | grep -v SLOCCount | grep -v license | grep -v "see the documentation"
|
|
|
|
flake8:
|
|
@echo "#############################################"
|
|
@echo "# Running flake8 Compliance Tests"
|
|
@echo "#############################################"
|
|
-flake8 --ignore=E501,E221,W291,W391,E302,E251,E203,W293,E231,E303,E201,E225,E261,E241 $(NAME)/lib $(NAME)/cli
|
|
|
|
test:
|
|
py.test --cov-report term --cov=$(NAME) ./tests/*
|
|
|
|
virtualenv:
|
|
mkdir -p $(VIRTUALENV_PATH)
|
|
rm -rf $(VIRTUALENV_PATH)/$(NAME)
|
|
virtualenv -p $(PYTHON) $(VIRTUALENV_PATH)/$(NAME)
|
|
|
|
virtualenv-install: virtualenv
|
|
$(VIRTUALENV_PATH)/$(NAME)/bin/python setup.py install
|
|
|
|
virtualenv-develop: virtualenv
|
|
# hack no idea why this isn't working
|
|
$(VIRTUALENV_PATH)/$(NAME)/bin/pip install numpy scipy
|
|
$(VIRTUALENV_PATH)/$(NAME)/bin/python3 setup.py develop
|
|
|
|
virtualenv-sdist: virtualenv
|
|
$(VIRTUALENV_PATH)/$(NAME)/bin/python setup.py sdist
|
|
|
|
install:
|
|
cp -r $(VIRTUALENV_PATH)/$(NAME) $(INSTALL_PATH)/$(NAME)
|
|
ln -f -s $(INSTALL_PATH)/$(NAME)/bin/$(NAME) $(EXEC_PATH)/$(NAME)
|
|
|
|
container:
|
|
bash ./scripts/build.sh -d
|
|
bash ./scripts/build.sh -b
|
|
|
|
all: docs flake8 test loc
|