improve Makefile

This commit is contained in:
L3D 2023-03-21 23:45:53 +01:00
parent 390a62bd02
commit ab2bd2bd12
Signed by: l3d
GPG key ID: CD08445BFF4313D1

View file

@ -3,59 +3,68 @@ LEKTOR_SERVER_FLAGS=-h 127.0.0.1
LEKTOR_PLUGIN_FLAGS=-f scss -f pretifyhtml
LEKTOR_DEPLOY_FLAGS=
.PHONY: all install venv build server dev deploy
all: build
.ONESHELL:
install:
if hash apt-get 2>/dev/null; then
apt-get update -qq >/dev/null && apt-get install -qq apt-utils imagemagick python3-pip python3-setuptools gcc git-lfs python3-venv
elif hash pacman 2>/dev/null; then
pacman -Syu imagemagick python-pip glibc lib32-glibc gcc git-lfs python3-venv --noconfirm
elif hash dnf 2>/dev/null; then
dnf install -y ImageMagick python3-pip gcc git-lfs
else
echo -e "Please install Imagemagick, python3-pip git-lfs, python3-venv and gcc"
if hash apt-get 2>/dev/null; then \
apt-get update -qq >/dev/null && apt-get install -qq apt-utils imagemagick python3-pip python3-setuptools gcc git-lfs python3-venv; \
elif hash pacman 2>/dev/null; then \
pacman -Syu imagemagick python-pip glibc lib32-glibc gcc git-lfs python3-venv --noconfirm; \
elif hash dnf 2>/dev/null; then \
dnf install -y ImageMagick python3-pip gcc git-lfs; \
else \
echo -e "Please install Imagemagick, python3-pip git-lfs, python3-venv and gcc"; \
fi
venv:
if [ -z "${VIRTUAL_ENV}" ]; then \
printf "Run 'python3 -m venv lektor' to create venv.\nRun 'source lektor/bin/activate' to activate venv.\n"; \
printf "Run 'pip3 install wheel --upgrade' next.\nRun 'pip3 install lektor --upgrade' to install lektor"; \
fi
pip3 install wheel --upgrade
pip3 install lektor --upgrade
build:
if [[ "$VIRTUAL_ENV" != "" ]]; then
source lektor/bin/activate || python -m venv lektor && source lektor/bin/activate
fi
if python3 -m lektor --version 2>/dev/null; then
python3 -m lektor build $(LEKTOR_PLUGIN_FLAGS)
else
lektor build $(LEKTOR_PLUGIN_FLAGS)
if [ -z "${VIRTUAL_ENV}" ]; then \
printf "Run 'source lektor/bin/activate' to enable venv. Or 'make install' to create venv"; \
else \
if python3 -m lektor --version 2>/dev/null; then \
python3 -m lektor build $(LEKTOR_PLUGIN_FLAGS); \
else \
lektor build $(LEKTOR_PLUGIN_FLAGS); \
fi; \
fi
server:
if [[ "$VIRTUAL_ENV" != "" ]]; then
source lektor/bin/activate || python -m venv lektor && source lektor/bin/activate
fi
if python3 -m lektor --version 2>/dev/null; then
python3 -m lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS)
else
lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS)
if [ -z "${VIRTUAL_ENV}" ]; then \
printf "Run 'source lektor/bin/activate' to enable venv. Or 'make install' to create venv"; \
else \
if python3 -m lektor --version 2>/dev/null; then \
python3 -m lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS); \
else \
lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS); \
fi; \
fi
dev:
if [[ "$VIRTUAL_ENV" != "" ]]; then
source lektor/bin/activate || python -m venv lektor && source lektor/bin/activate
fi
lektor plugin flush-cache
lektor clean --yes
if python3 -m lektor --version 2>/dev/null; then
python3 -m lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS)
else
lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS)
if [ -z "${VIRTUAL_ENV}" ]; then \
printf "Run 'source lektor/bin/activate' to enable venv. Or 'make install' and 'make venv' to create venv"; \
else \
lektor plugin flush-cache; \
lektor clean --yes ; \
if python3 -m lektor --version 2>/dev/null; then \
python3 -m lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS); \
else \
lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS); \
fi; \
fi
deploy:
if [[ "$VIRTUAL_ENV" != "" ]]; then
source lektor/bin/activate || python -m venv lektor && source lektor/bin/activate
if [ -z "${VIRTUAL_ENV}" ]; then \
printf "Run 'source lektor/bin/activate' to enable venv. Or 'make install' and 'make venv' to create venv"; \
else
lektor clean --yes; \
lektor plugin flush-cache; \
lektor build $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS); \
lektor deploy $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS); \
fi
lektor clean --yes
lektor plugin flush-cache
lektor build $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS)
lektor deploy $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS)