X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=icon%2FMakefile.am;h=9ce9cba8fb02ba23c6b2e8b0ea48802bb8563422;hp=db5577d6454fdf14a5dcfa045b503b2c751bedbf;hb=HEAD;hpb=4ec960b705b87b15d015abb2a9a3e23eee414f1d diff --git a/icon/Makefile.am b/icon/Makefile.am index db5577d6..0f4389d0 100644 --- a/icon/Makefile.am +++ b/icon/Makefile.am @@ -1,68 +1,193 @@ -LINUX_RES=16 32 48 64 128 256 512 +JAVA_RES=16 32 48 64 128 256 MAC_RES=16 32 128 256 512 WIN_RES=16 24 32 48 64 72 96 128 180 256 -RES=$(shell echo $(LINUX_RES) $(MAC_RES) $(WIN_RES) | awk '{ for (i = 1; i <= NF; i++) printf("%s\n", $$i); }' | sort -n -u) +AMAZON_RES=114 512 +RES=$(shell echo $(JAVA_RES) $(MAC_RES) $(WIN_RES) $(AMAZON_RES)| awk '{ for (i = 1; i <= NF; i++) printf("%s\n", $$i); }' | sort -n -u) -AM_FILES=$(shell for i in $(RES); do echo altus-metrum-$$i.png; done) -MP_FILES=$(shell for i in $(RES); do echo micropeak-$$i.png; done) -TG_FILES=$(shell for i in $(RES); do echo telegps-$$i.png; done) -MAC_TG_FILES=$(shell for i in $(MAC_RES); do echo telegps-$$i.png; done) -MAC_MP_FILES=$(shell for i in $(MAC_RES); do echo micropeak-$$i.png; done) -MAC_AM_FILES=$(shell for i in $(MAC_RES); do echo altus-metrum-$$i.png; done) +# Application icon base names -ICO_FILES=altus-metrum.ico micro-peak.ico telegps.ico -ICNS_FILES=AltosUIIcon.icns TeleGPS.icns MicroPeak.icns +AM_NAME = altusmetrum-altosui +MP_NAME = altusmetrum-micropeak +TG_NAME = altusmetrum-telegps -icondir = $(datadir)/icons/hicolor/scalable/apps +# File icon base names -AM_ICON = altusmetrum.svg -MP_ICON = micropeak.svg -TG_ICON = telegps.svg +EEPROM_NAME = application-vnd.altusmetrum.eeprom +TELEM_NAME = application-vnd.altusmetrum.telemetry +MPD_NAME = application-vnd.altusmetrum.micropeak -icon_DATA = $(AM_ICON) $(MP_ICON) $(TG_ICON) +# Application icons -EXTRA_DIST = $(icon_DATA) $(AM_FILES) $(MP_FILES) $(TG_FILES) +AM_ICON = $(AM_NAME).svg +MP_ICON = $(MP_NAME).svg +TG_ICON = $(TG_NAME).svg + +# File icons (note that MicroPeak uses the application icon for files) + +EEPROM_ICON = $(EEPROM_NAME).svg +TELEM_ICON = $(TELEM_NAME).svg +MPD_ICON = $(MPD_NAME).svg + +LED_SVG = \ + redoff.svg \ + greenoff.svg \ + greenled.svg \ + grayon.svg \ + grayled.svg \ + redled.svg +LED_PNG = $(LED_SVG:.svg=.png) + +LED_ICONS = $(LED_SVG) $(LED_PNG) + +# Files needed for Mac OSX icons + +MAC_AM_FILES = $(shell for i in $(MAC_RES); do echo $(AM_NAME)-$$i.png; done) +MAC_MP_FILES = $(shell for i in $(MAC_RES); do echo $(MP_NAME)-$$i.png; done) +MAC_TG_FILES = $(shell for i in $(MAC_RES); do echo $(TG_NAME)-$$i.png; done) +MAC_EEPROM_FILES= $(shell for i in $(MAC_RES); do echo $(EEPROM_NAME)-$$i.png; done) +MAC_TELEM_FILES = $(shell for i in $(MAC_RES); do echo $(TELEM_NAME)-$$i.png; done) +MAC_MPD_FILES = $(shell for i in $(MAC_RES); do echo $(MPD_NAME)-$$i.png; done) + +ICNS_FILES = $(AM_NAME).icns $(MP_NAME).icns $(TG_NAME).icns \ + $(EEPROM_NAME).icns $(TELEM_NAME).icns $(MPD_NAME).icns + +# Files needed for Windows icons + +WIN_AM_FILES = $(shell for i in $(WIN_RES); do echo $(AM_NAME)-$$i.png; done) +WIN_MP_FILES = $(shell for i in $(WIN_RES); do echo $(MP_NAME)-$$i.png; done) +WIN_TG_FILES = $(shell for i in $(WIN_RES); do echo $(TG_NAME)-$$i.png; done) +WIN_EEPROM_FILES= $(shell for i in $(WIN_RES); do echo $(EEPROM_NAME)-$$i.png; done) +WIN_TELEM_FILES = $(shell for i in $(WIN_RES); do echo $(TELEM_NAME)-$$i.png; done) +WIN_MPD_FILES = $(shell for i in $(WIN_RES); do echo $(MPD_NAME)-$$i.png; done) + +ICO_FILES = $(AM_NAME).ico $(MP_NAME).ico $(TG_NAME).ico \ + $(EEPROM_NAME).ico $(TELEM_NAME).ico $(MPD_NAME).ico + +EXE_FILES = $(AM_NAME).exe $(MP_NAME).exe $(TG_NAME).exe \ + $(EEPROM_NAME).exe $(TELEM_NAME).exe $(MPD_NAME).exe + +# Files needed for Java internal icons + +JAVA_AM_FILES = $(shell for i in $(JAVA_RES); do echo $(AM_NAME)-$$i.png; done) +JAVA_MP_FILES = $(shell for i in $(JAVA_RES); do echo $(MP_NAME)-$$i.png; done) +JAVA_TG_FILES = $(shell for i in $(JAVA_RES); do echo $(TG_NAME)-$$i.png; done) + +JAVA_FILES = $(JAVA_AM_FILES) $(JAVA_MP_FILES) $(JAVA_TG_FILES) + +# Files needed for Amazon store + +AMAZON_FILES = $(shell for i in $(AMAZON_RES); do echo $(AM_NAME)-$$i.png; done) + +# PNG files needed by anyone + +AM_FILES = $(shell for i in $(RES); do echo $(AM_NAME)-$$i.png; done) +MP_FILES = $(shell for i in $(RES); do echo $(MP_NAME)-$$i.png; done) +TG_FILES = $(shell for i in $(RES); do echo $(TG_NAME)-$$i.png; done) +EEPROM_FILES = $(shell for i in $(RES); do echo $(EEPROM_NAME)-$$i.png; done) +TELEM_FILES = $(shell for i in $(RES); do echo $(TELEM_NAME)-$$i.png; done) +IN_MPD_FILES = $(shell for i in $(RES); do echo $(MPD_NAME)-$$i.png; done) + +# XPM file needed by debian + +AM_XPM = altusmetrum.xpm + +ICON_THEME=$(datadir)/icons/hicolor + +appicondir = $(ICON_THEME)/scalable/apps +appicon_DATA = $(AM_ICON) $(MP_ICON) $(TG_ICON) + +MIME_ICONS = $(EEPROM_ICON) $(TELEM_ICON) $(MPD_ICON) + +mimeicondir = $(ICON_THEME)/scalable/mimetypes +mimeicon_DATA = $(MIME_ICONS) + +if INSTALL_SHARED_MIME_INFO +mimedir = $(datadir)/mime/packages +mime_DATA = org-altusmetrum-mimetypes.xml +endif + +pixmapdir = $(datadir)/pixmaps +pixmap_DATA = altusmetrum.xpm + +EXTRA_DIST = $(appicon_DATA) $(mimeicon_DATA) $(mime_DATA) windows-stub.c res: echo $(RES) -all-local: $(ICO_FILES) $(ICNS_FILES) +java-altosui: + @echo $(JAVA_AM_FILES) + +java-micropeak: + @echo $(JAVA_MP_FILES) + +java-telegps: + @echo $(JAVA_TG_FILES) + +fat: all $(ICO_FILES) $(ICNS_FILES) $(EXE_FILES) + +all-local: $(JAVA_FILES) $(AM_XPM) $(LED_ICONS) $(AMAZON_FILES) clean-local: - $(RM) $(TG_FILES) $(MP_FILES) $(ICO_FILES) $(ICNS_FILES) *.build + $(RM) $(AM_NAME)-*.png $(TG_NAME)-*.png $(MP_NAME)-*.png + $(RM) altus-metrum-*.png micropeak-*.png telegps-*.png + $(RM) $(EEPROM_NAME)-*.png $(TELEM_NAME)-*.png $(MPD_NAME)-*.png + $(RM) *.build *.ico *.rc *.icns *.o *.exe $(MPD_ICON) + $(RM) altusmetrum.xpm + $(RM) $(LED_ICONS) + +if INSTALL_SHARED_MIME_INFO +install-data-hook: + update-mime-database $(DESTDIR)$(datadir)/mime + update-icon-caches $(DESTDIR)$(ICON_THEME) +endif + +$(LED_ICONS): led.5c + nickle led.5c $@ + +$(MPD_ICON): $(MP_ICON) + $(LN_S) $(MP_ICON) $@ + +XPM_SRC=altusmetrum-altosui-32.png + +altusmetrum.xpm: $(XPM_SRC) + pngtopnm -alpha $(XPM_SRC) > mask-$@ && \ + pngtopnm $(XPM_SRC) | \ + ppmtoxpm -alphamask=mask-$@ > $@ && rm mask-$@ -$(AM_FILES): altusmetrum.build +$(AM_FILES): $(AM_NAME).build +$(MP_FILES): $(MP_NAME).build +$(TG_FILES): $(TG_NAME).build -altusmetrum.build: altusmetrum.svg - for i in $(RES); do ./make-png altusmetrum.svg $$i altus-metrum-$$i.png; done && touch $@ +SUFFIXES=.svg .build .icns .ico .rc .o .exe -$(TG_FILES): telegps.build +.svg.build: + for i in $(RES); do rsvg-convert -w $$i -h $$i -o $*-$$i.png $*.svg; done && touch $@ -telegps.build: telegps.svg - for i in $(RES); do ./make-png telegps.svg $$i telegps-$$i.png; done && touch $@ +.build.icns: + png2icns $@ $(shell for i in $(MAC_RES); do echo $*-$$i.png; done) -$(MP_FILES): micropeak.build +.build.ico: + icotool -c -o $@ $(shell for i in $(WIN_RES); do echo $*-$$i.png; done) -micropeak.build: micropeak.svg - for i in $(RES); do ./make-png micropeak.svg $$i micropeak-$$i.png; done && touch $@ +.ico.rc: + ./make-rc "$*" $(VERSION) > $@ -#clean-local: -# $(RM) -f $(ICO_FILES) -altus-metrum.ico: $(AM_FILES) - icotool -c -o $@ $(AM_FILES) +MINGCC32=i686-w64-mingw32-gcc +MINGWINDRES=i686-w64-mingw32-windres +MINGFLAGS=-Wall -DWINDOWS -mwindows +MINGLIBS=-lshlwapi -micro-peak.ico: $(MP_FILES) - icotool -c -o $@ $(MP_FILES) +.rc.o: + $(MINGWINDRES) $*.rc $@ -telegps.ico: $(TG_FILES) - icotool -c -o $@ $(TG_FILES) +.o.exe: + $(MINGCC32) -o $@ $(MINGFLAGS) windows-stub.o $*.o $(MINGLIBS) -AltosUIIcon.icns: $(MAC_AM_FILES) - png2icns $@ $(MAC_AM_FILES) +$(EXE_FILES): windows-stub.o make-rc -TeleGPS.icns: $(MAC_TG_FILES) - png2icns $@ $(MAC_TG_FILES) +windows-stub.o: windows-stub.c + $(MINGCC32) -c $(MINGFLAGS) windows-stub.c -MicroPeak.icns: $(MAC_MP_FILES) - png2icns $@ $(MAC_MP_FILES) +altosdroid.png: altosdroid.svg + rsvg-convert -a -b white -h 480 altosdroid.svg | pngtopnm | pnmpad -white -width 512 -height 512 | pnmtopng > $@