Skip to content

Instantly share code, notes, and snippets.

@makadev
Last active September 13, 2021 20:17
Show Gist options
  • Save makadev/89577252bbcb4b6c07eac620ebdcdeba to your computer and use it in GitHub Desktop.
Save makadev/89577252bbcb4b6c07eac620ebdcdeba to your computer and use it in GitHub Desktop.
GNU Make Makefile for generating scaled iOS (iPhone) and Android App Icons using Imagemagick
## imagemagick convert
CONVERT=`which convert`
## Normal, should be at least 1024x1024
SRC_NAME=app_icon.png
## Rounded (as used by newer Android), should be at least 1024x1024
SRC_RNAME=app_icon.png
## Dest Image Path
DEST=app_icons
all: create_app_icon_ios create_app_icon_android
create_app_icon_ios:
-mkdir -p $(DEST)
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 180x180 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_iphone\@3x.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 120x120 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_iphone\@2x.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 120x120 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_spotlight\@3x.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 80x80 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_spotlight\@2x.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 87x87 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_settings\@3x.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 58x58 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_settings\@3x.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 60x60 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_notification\@3x.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 40x40 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_notification\@2x.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 1024x1024 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_itunes\@1x.png
create_app_icon_android:
-mkdir -p $(DEST)
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 48x48 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_mdpi.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 72x72 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_hdpi.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 96x96 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_xhdpi.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 144x144 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_xxhdpi.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 192x192 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_xxxhdpi.png
$(CONVERT) $(SRC_NAME) -filter Lanczos -resize 512x512 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_playstore.png
$(CONVERT) $(SRC_RNAME) -filter Lanczos -resize 48x48 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_rounded_mdpi.png
$(CONVERT) $(SRC_RNAME) -filter Lanczos -resize 72x72 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_rounded_hdpi.png
$(CONVERT) $(SRC_RNAME) -filter Lanczos -resize 96x96 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_rounded_xhdpi.png
$(CONVERT) $(SRC_RNAME) -filter Lanczos -resize 144x144 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_rounded_xxhdpi.png
$(CONVERT) $(SRC_RNAME) -filter Lanczos -resize 192x192 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_rounded_xxxhdpi.png
$(CONVERT) $(SRC_RNAME) -filter Lanczos -resize 512x512 -background 'rgba(0,0,0,0)' $(DEST)/app_icon_rounded_playstore.png
.PHONY: create_app_icon_ios create_app_icon_android
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment