-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
63 lines (56 loc) · 2.13 KB
/
Makefile
File metadata and controls
63 lines (56 loc) · 2.13 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Configurable Variables
PYTHON_NAME := python
VENV_NAME := .venv
ENTRY_POINT_NAME := main
REQUIREMENTS_FILE_NAME := requirements
# VENV Paths
VENV_PATH_WINDOWS := $(VENV_NAME)\Scripts
VENV_PATH_UNIX := $(VENV_NAME)/bin
# Execute Custom Commands
execute_custom:
echo 'run command 1';
echo 'run command 2';
# Setup VENV
setup_venv:
ifeq ($(OS),Windows_NT)
if not exist $(VENV_NAME) $(PYTHON_NAME) -m venv $(VENV_NAME) && \
$(VENV_PATH_WINDOWS)\python -m pip install --upgrade pip && \
$(VENV_PATH_WINDOWS)\pip install pipdeptree
else
test -d $(VENV_NAME) || $(PYTHON_NAME) -m venv $(VENV_NAME) && \
$(VENV_PATH_UNIX)/python -m pip install --upgrade pip && \
$(VENV_PATH_UNIX)/pip install pipdeptree
endif
# Install Requirements
install_packages: setup_venv
ifeq ($(OS),Windows_NT)
$(VENV_PATH_WINDOWS)\pip install -r $(REQUIREMENTS_FILE_NAME).txt && \
$(VENV_PATH_WINDOWS)\pip freeze > $(REQUIREMENTS_FILE_NAME)-lock.txt && \
$(VENV_PATH_WINDOWS)\python -m pipdeptree && \
$(VENV_PATH_WINDOWS)\python -m pipdeptree > $(REQUIREMENTS_FILE_NAME)-pipdeptree.txt
else
$(VENV_PATH_UNIX)/pip install -r $(REQUIREMENTS_FILE_NAME).txt && \
$(VENV_PATH_UNIX)/pip freeze > $(REQUIREMENTS_FILE_NAME)-lock.txt && \
$(VENV_PATH_UNIX)/python -m pipdeptree && \
$(VENV_PATH_UNIX)/python -m pipdeptree > $(REQUIREMENTS_FILE_NAME)-pipdeptree.txt
endif
# Show Installed Packages
show_packages: setup_venv
ifeq ($(OS),Windows_NT)
$(VENV_PATH_WINDOWS)\python -m pipdeptree
else
$(VENV_PATH_UNIX)/python -m pipdeptree
endif
# Uninstall Virtual Environment
clean_venv:
ifeq ($(OS),Windows_NT)
if exist $(VENV_NAME) rmdir /s /q $(VENV_NAME)
if exist $(REQUIREMENTS_FILE_NAME)-lock.txt del /q $(REQUIREMENTS_FILE_NAME)-lock.txt
if exist $(REQUIREMENTS_FILE_NAME)-pipdeptree.txt del /q $(REQUIREMENTS_FILE_NAME)-pipdeptree.txt
else
test -d $(VENV_NAME) && rm -rf $(VENV_NAME)
test -f $(REQUIREMENTS_FILE_NAME)-lock.txt && rm -f $(REQUIREMENTS_FILE_NAME)-lock.txt
test -f $(REQUIREMENTS_FILE_NAME)-pipdeptree.txt && rm -f $(REQUIREMENTS_FILE_NAME)-pipdeptree.txt
endif
# Uninstall Virtual Environment and Install Requirements
clean_install_packages: clean_venv install_packages