55 lines
1.6 KiB
Makefile
55 lines
1.6 KiB
Makefile
name := font-logos
|
|
dest := assets
|
|
out_json_ext := .out.json
|
|
font_exts := .ttf .woff .woff2 $(out_json_ext)
|
|
font_assets := $(foreach ext,$(font_exts),$(dest)/$(name)$(ext))
|
|
json_file = $(dest)/$(name).json
|
|
version = $(shell jq -r .version package.json)
|
|
|
|
START_CODEPOINT ?= 0xf300
|
|
preview_width := 888
|
|
|
|
export START_CODEPOINT
|
|
export FONT_NAME=$(name)
|
|
export OUTPUT_DIR=$(dest)
|
|
export JSON_FILE=$(json_file)
|
|
export COPYRIGHT=Copyright (c) 2014-$(shell date '+%Y'), Lukas W
|
|
export VENDORURL=$(shell jq -r .homepage package.json)
|
|
|
|
all_files=$(font_assets) $(dest)/$(name).css $(dest)/preview.html $(dest)/readme-header.png README.md
|
|
|
|
.PHONY: all
|
|
all: $(all_files)
|
|
|
|
.PHONY: pack
|
|
pack: $(dest)/$(name)-$(version).zip
|
|
|
|
$(name)-$(version).tgz: $(all_files)
|
|
npm pack
|
|
|
|
$(dest)/$(name)-$(version).zip: $(name)-$(version).tgz
|
|
$(eval dir := $(shell mktemp -d))
|
|
npm pack
|
|
tar -xf $(name)-$(version).tgz -C $(dir)
|
|
cd $(dir) && \
|
|
mv $(dir)/package $(dir)/$(name)-$(version) && \
|
|
zip -r $(shell pwd)/$(name)-$(version).zip $(name)-$(version)
|
|
rm -r $(dir)
|
|
|
|
.SECONDEXPANSION:
|
|
|
|
$(json_file): scripts/generate-json.mjs icons.tsv package.json
|
|
node scripts/generate-json.mjs
|
|
|
|
$(font_assets)&: scripts/generate-font.py icons.tsv $(shell find vectors) $(json_file)
|
|
if command -v fontforge; then \
|
|
fontforge --script $(shell pwd)/$< ; \
|
|
else \
|
|
python $< ;\
|
|
fi
|
|
|
|
%: templates/$$*.njk icons.tsv scripts/render-template.mjs $(json_file) $(dest)/$(name)$(out_json_ext)
|
|
node scripts/render-template.mjs $< $@
|
|
|
|
$(dest)/readme-header.png: $(dest)/readme-header.html $(font_assets) $(dest)/font-logos.css
|
|
wkhtmltoimage --enable-local-file-access --width $(preview_width) --disable-smart-width $< $@
|