32 lines
886 B
Makefile
32 lines
886 B
Makefile
TARGETS_CLIENT_PAGES := index.html not_found.html
|
|
TARGETS_CLIENT_SCRIPTS := script.js
|
|
TARGETS_CLIENT_STYLES := style.css
|
|
TARGETS_CLIENT := $(TARGETS_CLIENT_PAGES:%=dst/%) \
|
|
$(TARGETS_CLIENT_SCRIPTS:%=dst/%) \
|
|
$(TARGETS_CLIENT_STYLES:%=dst/%)
|
|
|
|
.PHONY: client_clean
|
|
client_clean:
|
|
rm -rf client/node_modules
|
|
|
|
client/node_modules:
|
|
cd client && bun install
|
|
|
|
dst/%.html: client/%.html client/node_modules
|
|
@mkdir -p $(@D)
|
|
cat $< | bun run --cwd client html-minifier \
|
|
--collapse-inline-tag-whitespace \
|
|
--collapse-boolean-attributes \
|
|
--collapse-whitespace \
|
|
--remove-attribute-quotes \
|
|
--remove-comments \
|
|
--remove-redundant-attributes > $@
|
|
|
|
dst/%.css: client/%.scss client/node_modules
|
|
@mkdir -p $(@D)
|
|
bun run --cwd client sass $(notdir $<) --style compressed > $@
|
|
|
|
dst/%.js: client/%.ts client/node_modules
|
|
@mkdir -p $(@D)
|
|
bun build $< --minify --outfile $@
|