53 lines
1.6 KiB
Makefile
53 lines
1.6 KiB
Makefile
.PHONY: help clean
|
|
|
|
help:
|
|
@echo "Re-generate icons in platform specific formats."
|
|
@echo
|
|
@echo "Available targets:"
|
|
@echo " dosbox-staging.ico - Windows format"
|
|
@echo " dosbox-staging.icns - macOS format"
|
|
@echo " clean - clean intermediate files"
|
|
|
|
##
|
|
# Create an icon using Windows .ico format.
|
|
#
|
|
# Windows users are expected to create icons using GUI applications, and
|
|
# there's no good Windows-native command line program for this usecase.
|
|
#
|
|
# This target is using convert (package imagemagick) to resize icons
|
|
# and icotool (package icoutils) to create an .ico file.
|
|
#
|
|
dosbox-staging.ico: \
|
|
icon_256x256.png \
|
|
icon_48x48.png \
|
|
icon_32x32.png \
|
|
dosbox-staging-16.png
|
|
icotool -c $^ -o $@
|
|
|
|
icon_%.png: dosbox-staging-1024.png
|
|
convert -resize $(shell echo $@ | sed 's|icon_\(.*\).png|\1|') $< $@
|
|
|
|
##
|
|
# Create an icon using macOS .icns format.
|
|
#
|
|
# Uses sips, which is available by default on macOS.
|
|
#
|
|
dosbox-staging.icns: dosbox-staging.iconset
|
|
iconutil -c icns dosbox-staging.iconset
|
|
|
|
dosbox-staging.iconset: dosbox-staging-1024.png dosbox-staging-16.png
|
|
mkdir -p "$@"
|
|
cp dosbox-staging-16.png $@/icon_16x16.png
|
|
sips -z 32 32 $< --out $@/icon_16x16@2x.png
|
|
sips -z 32 32 $< --out $@/icon_32x32.png
|
|
sips -z 64 64 $< --out $@/icon_32x32@2x.png
|
|
sips -z 128 128 $< --out $@/icon_128x128.png
|
|
sips -z 256 256 $< --out $@/icon_128x128@2x.png
|
|
sips -z 256 256 $< --out $@/icon_256x256.png
|
|
sips -z 512 512 $< --out $@/icon_256x256@2x.png
|
|
sips -z 512 512 $< --out $@/icon_512x512.png
|
|
cp $< $@/icon_512x512@2x.png
|
|
|
|
clean:
|
|
rm -rf dosbox-staging.iconset
|
|
rm -f icon_*.png
|