tailwind.mk: Add file

tailwind.mk is meant to generate a CSS file with tailwind classes
from configuration files named *.css.tw or *.css.tw.tmpl. The latter
flavour understands some make-style variables, as of now only
$(TOPDIR).

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2025-12-06 15:07:15 +01:00
commit 51658528f0

24
make/tailwind.mk Normal file
View file

@ -0,0 +1,24 @@
TW_CONF_TMPL ?= $(wildcard *.css.tw.tmpl)
TW_GENERATED_CONF ?= $(patsubst %.css.tw.tmpl,%.css.tw,$(TW_CONF_TMPL))
TW_CONF ?= $(wildcard *.css.tw) $(TW_GENERATED_CONF)
TW_GENERATED_CSS ?= $(patsubst %.css.tw,%.css,$(TW_CONF))
all: $(TW_GENERATED_CSS)
install-tailwind.done:
npm install tailwindcss @tailwindcss/cli
touch $@
$(TW_GENERATED_CSS): install-tailwind.done
%.css.tw: %.css.tw.tmpl
sed "\
s|\\\$$(TOPDIR)|$(TOPDIR)|g \
" $< > $@.tmp
mv $@.tmp $@
%.css: %.css.tw
npx @tailwindcss/cli -i $< -o $@.tmp
mv $@.tmp $@
clean.tw:
rm -rf node_modules package.json package-lock.json $(TW_GENERATED_CSS) $(TW_GENERATED_CONF)
clean: clean.tw