inception/Makefile
2025-03-26 18:57:27 +01:00

81 lines
1.7 KiB
Makefile

DOCKER=docker
SRC_DATA=data/
SRC_COMPOSE=srcs/
OUT_DATA=$(HOME)/inception_data # TODO to change
.ONESHELL :
.SHELLFLAGS = -eu -c
.PHONY : all run re data_install data_remove data_reinstall help
### pretty logs ####
_ECHO = echoo(){ \
if [ -t 1 ]; then \
echo "\e[30;47;1m$$*\e[0m"; \
else \
echo "$$*"; \
fi; \
}
### rules ###
## Run the compose, installing the necessary data if necessary.
all : data_install run
## Run the compose.
run :
@$(_ECHO)
echoo "Running '$(SRC_COMPOSE)'..."
echo "$ cd -- $(SRC_COMPOSE)"
cd -- $(SRC_COMPOSE)
echo "$ DATA=$(OUT_DATA) docker compose up --build"
DATA=$(OUT_DATA) docker compose up --build
## Reinstall the data then run it again.
re : data_reinstall run
## Install the necessary data if the directory doesn't exist yet.
data_install :
@$(_ECHO)
echoo "Copy '$(SRC_DATA)' to '$(OUT_DATA)'..."
if [ -d $(OUT_DATA) ]; then
echo "'$(OUT_DATA)' already exists."
else
echo "$ cp -r -- $(SRC_DATA) $(OUT_DATA)"
cp -r -- $(SRC_DATA) $(OUT_DATA)
echo "$ chmod -R 0777 -- $(OUT_DATA)"
chmod -R 0777 -- $(OUT_DATA)
fi
## Remove the necessary data..
data_remove :
@$(_ECHO)
echoo "Remove '$(OUT_DATA)'..."
echo "$ rm -rf -- $(OUT_DATA)"
rm -rf -- $(OUT_DATA)
## Remove then reinstall the necessary data.
data_reinstall : data_remove data_install
## Show help
help :
@$(_ECHO)
echo "all Run the compose, installing the necessary data if necessary."
echo "run Run the compose."
echo "re Reinstall the data then run it again."
echo "data_install Install the necessary data."
echo "data_remove Remove the compose data."
echo "data_reinstall Remove then reinstall the necessary data."
echo "help this lol"