You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

74 lines
2.1 KiB

# Variables
temp_sed_file:=$(shell mktemp).sed
temp_svg_file:=$(shell mktemp).svg
ifdef dark
dark_color=$(dark)
endif
ifdef light
light_color=$(light)
endif
ifdef middle
middle_color=$(middle)
endif
ifneq ($(wildcard $(dark)),)
dark_mime=$(shell file -bN --mime-type $(dark))
dark_color=transparent
endif
ifneq ($(wildcard $(light)),)
light_mime=$(shell file -bN --mime-type $(light))
light_color=transparent
endif
ifneq ($(wildcard $(middle)),)
middle_mime=$(shell file -bN --mime-type $(middle))
middle_color=transparent
endif
size?=1024
dark_color?=black
light_color?=white
middle_color?=transparent
# Base targets
default: build
# Build process
build: clean logo.svg
@cp logo.svg $(temp_svg_file)
@echo 's|fill: black|:fill1:|' >> $(temp_sed_file)
@echo 's|fill: white|:fill2:|' >> $(temp_sed_file)
@echo 's|fill: gray|:fill3:|' >> $(temp_sed_file)
@echo 's|:fill1:|fill: $(dark_color)|' >> $(temp_sed_file)
@echo 's|:fill2:|fill: $(light_color)|' >> $(temp_sed_file)
@echo 's|:fill3:|fill: $(middle_color)|' >> $(temp_sed_file)
@echo 's|dark.png|:image1:|' >> $(temp_sed_file)
@echo 's|light.png|:image2:|' >> $(temp_sed_file)
@echo 's|middle.png|:image3:|' >> $(temp_sed_file)
ifdef dark_mime
@echo -n 's|:image1:|data:$(dark_mime);base64,' >> $(temp_sed_file)
@base64 -w0 < $(dark) >> $(temp_sed_file)
@echo '|' >> $(temp_sed_file)
else
@echo 's|:image1:|$(dark)|' >> $(temp_sed_file)
endif
ifdef light_mime
@echo -n 's|:image2:|data:$(light_mime);base64,' >> $(temp_sed_file)
@base64 -w0 < $(light) >> $(temp_sed_file)
@echo '|' >> $(temp_sed_file)
else
@echo 's|:image2:|$(light)|' >> $(temp_sed_file)
endif
ifdef middle_mime
@echo -n 's|:image3:|data:$(middle_mime);base64,' >> $(temp_sed_file)
@base64 -w0 < $(middle) >> $(temp_sed_file)
@echo '|' >> $(temp_sed_file)
else
@echo 's|:image3:|$(middle)|' >> $(temp_sed_file)
endif
sed -i -f $(temp_sed_file) -- $(temp_svg_file)
convert -background none -size $(size)x$(size) $(temp_svg_file) logo.png
clean:
@rm -f logo.png temp.svg
# Linting
lint: xmllint
xmllint: logo.svg
xmllint --noout logo.svg