/
Makefile
52 lines (38 loc) · 1.88 KB
/
Makefile
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
### --------------------------------------------------------------------------------------------------------------------
### Variables
### (https://www.gnu.org/software/make/manual/html_node/Using-Variables.html#Using-Variables)
### --------------------------------------------------------------------------------------------------------------------
CONTAINER_NAME = diagrams
CONTAINER_ID_ENV = DAC_CONTAINER_ID
IMAGE_NAME := $(CONTAINER_NAME)
JAVA_JARS_LOCATION := /jars
PY_DAC_CONTAINER_LOCATION := /diagrams/py
UML_DAC_CONTAINER_LOCATION := /diagrams/uml
# Other config
OK_COLOR=\033[32;01m
ERROR_COLOR=\033[31;01m
WARN_COLOR=\033[33;01m
### --------------------------------------------------------------------------------------------------------------------
### RULES
### (https://www.gnu.org/software/make/manual/html_node/Rule-Introduction.html#Rule-Introduction)
### --------------------------------------------------------------------------------------------------------------------
.PHONY: generate-py generate-puml
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " generate-py generate DaC image using the python diagrams pacakage"
@echo " generate-puml generate DaC image using PlantUML and C4"
setup:
docker build -t $(CONTAINER_NAME) .
clean: stop-container
run-container: setup
docker run -d -v ${PWD}/diagrams:/diagrams --name $(CONTAINER_NAME) $(IMAGE_NAME)
stop-container:
docker rm -f $(CONTAINER_NAME)
generate-py:
@printf "$(OK_COLOR)==> Running DaC Python $(NO_COLOR)\n"
docker exec -t $(CONTAINER_NAME) sh -c "cd $(PY_DAC_CONTAINER_LOCATION); python3 $(filename).$(inputext)"
generate-uml:
@printf "$(OK_COLOR)==> Running DaC UML $(NO_COLOR)\n"
docker exec -t $(CONTAINER_NAME) sh -c "cd $(UML_DAC_CONTAINER_LOCATION); java -jar $(JAVA_JARS_LOCATION)/plantuml.jar $(filename).$(inputext)"
diagrams-py: generate-py
diagrams-uml: generate-uml