Skip to content

Commit

Permalink
Gtk3: move win32 icon generation into data/common/
Browse files Browse the repository at this point in the history
Keep all icon-related data and logic inside data/common. Should make adding
icons on Windows to executables for other UIs (e.g. SDL) easier.


git-svn-id: https://svn.code.sf.net/p/vice-emu/code/trunk@45500 379a1393-f5fb-40a0-bcee-ef074d9b53f7
  • Loading branch information
Compyx committed Feb 21, 2025
1 parent ecc90f1 commit 7cabbdf
Show file tree
Hide file tree
Showing 2 changed files with 110 additions and 111 deletions.
108 changes: 108 additions & 0 deletions vice/data/common/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,76 @@ icon_files = $(icons_16x16) \
$(icons_256x256) \
$(icons_scalable)

icons_win32_vsid = vice-vsid_16.png \
vice-vsid_24.png \
vice-vsid_32.png \
vice-vsid_48.png \
vice-vsid_64.png \
vice-vsid_256.png

icons_win32_x128 = vice-x128_16.png \
vice-x128_24.png \
vice-x128_32.png \
vice-x128_48.png \
vice-x128_64.png \
vice-x128_256.png

icons_win32_x64 = vice-x64_16.png \
vice-x64_24.png \
vice-x64_32.png \
vice-x64_48.png \
vice-x64_64.png \
vice-x64_256.png

icons_win32_x64dtv = vice-x64dtv_16.png \
vice-x64dtv_24.png \
vice-x64dtv_32.png \
vice-x64dtv_48.png \
vice-x64dtv_64.png \
vice-x64dtv_256.png

icons_win32_x64sc = vice-x64sc_16.png \
vice-x64sc_24.png \
vice-x64sc_32.png \
vice-x64sc_48.png \
vice-x64sc_64.png \
vice-x64sc_256.png

icons_win32_xcbm2 = vice-xcbm2_16.png \
vice-xcbm2_24.png \
vice-xcbm2_32.png \
vice-xcbm2_48.png \
vice-xcbm2_64.png \
vice-xcbm2_256.png

icons_win32_xpet = vice-xpet_16.png \
vice-xpet_24.png \
vice-xpet_32.png \
vice-xpet_48.png \
vice-xpet_64.png \
vice-xpet_256.png

icons_win32_xplus4 = vice-xplus4_16.png \
vice-xplus4_24.png \
vice-xplus4_32.png \
vice-xplus4_48.png \
vice-xplus4_64.png \
vice-xplus4_256.png

icons_win32_xscpu64 = vice-xscpu64_16.png \
vice-xscpu64_24.png \
vice-xscpu64_32.png \
vice-xscpu64_48.png \
vice-xscpu64_64.png \
vice-xscpu64_256.png

icons_win32_xvic = vice-xvic_16.png \
vice-xvic_24.png \
vice-xvic_32.png \
vice-xvic_48.png \
vice-xvic_64.png \
vice-xvic_256.png

logo_files = CBM_Logo.svg \
vice-logo-black.svg

Expand Down Expand Up @@ -135,6 +205,44 @@ common_DATA = $(icons_32x32) \
$(font_files)
endif

if WINDOWS_COMPILE

# Windows .res files
if SUPPORT_X64
X64_RES=x64.res
else
X64_RES=
endif

win32_res_files: vsid.res x128.res $(X64_RES) x64dtv.res x64sc.res xcbm2.res \
xcbm5x0.res xpet.res xplus4.res xscpu64.res xvic.res

# Create Windows .ico files
%.ico:
$(ICOTOOL) -c -o $@ $^

# Create Windows .res files from .ico and .rc files
%.res: $(top_srcdir)/data/common/%.rc %.ico
$(WINDRES) $< -O coff -o $@

vsid.ico: $(icons_win32_vsid)
x128.ico: $(icons_win32_x128)
if SUPPORT_X64
x64.ico: $(icons_win32_x64)
endif
x64dtv.ico: $(icons_win32_x64dtv)
x64sc.ico: $(icons_win32_x64)
xcbm2.ico: $(icons_win32_xcbm2)
xcbm5x0.ico: $(icons_win32_xcbm2)
xpet.ico: $(icons_win32_xpet)
xplus4.ico: $(icons_win32_xplus4)
xscpu64.ico: $(icons_win32_xscpu64)
xvic.ico: $(icons_win32_xvic)

# if WINDOWS_COMPILE
endif


# Generate gresource binary file, required by all Gtk3 emus
$(GRESOURCE_TARGET): $(GRESOURCE_XML)
glib-compile-resources --sourcedir $(top_srcdir) $< --target $@
Expand Down
113 changes: 2 additions & 111 deletions vice/src/arch/gtk3/data/win32/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -8,116 +8,7 @@ if WINDOWS_COMPILE
# not handling dependencies outside its tree very well (/src vs /data).
#


# TODO: check if we can use patsubst here, to simplify the rules a bit.

X64SC_ICONS = $(top_srcdir)/data/common/vice-x64_16.png \
$(top_srcdir)/data/common/vice-x64_24.png \
$(top_srcdir)/data/common/vice-x64_32.png \
$(top_srcdir)/data/common/vice-x64_48.png \
$(top_srcdir)/data/common/vice-x64_64.png \
$(top_srcdir)/data/common/vice-x64_256.png

if SUPPORT_X64
X64_ICONS = $(X64SC_ICONS)
endif

X64DTV_ICONS = $(top_srcdir)/data/common/vice-x64dtv_16.png \
$(top_srcdir)/data/common/vice-x64dtv_24.png \
$(top_srcdir)/data/common/vice-x64dtv_32.png \
$(top_srcdir)/data/common/vice-x64dtv_48.png \
$(top_srcdir)/data/common/vice-x64dtv_64.png \
$(top_srcdir)/data/common/vice-x64dtv_256.png

XSCPU64_ICONS = $(top_srcdir)/data/common/vice-xscpu64_16.png \
$(top_srcdir)/data/common/vice-xscpu64_24.png \
$(top_srcdir)/data/common/vice-xscpu64_32.png \
$(top_srcdir)/data/common/vice-xscpu64_48.png \
$(top_srcdir)/data/common/vice-xscpu64_64.png \
$(top_srcdir)/data/common/vice-xscpu64_256.png

X128_ICONS = $(top_srcdir)/data/common/vice-x128_16.png \
$(top_srcdir)/data/common/vice-x128_24.png \
$(top_srcdir)/data/common/vice-x128_32.png \
$(top_srcdir)/data/common/vice-x128_48.png \
$(top_srcdir)/data/common/vice-x128_64.png \
$(top_srcdir)/data/common/vice-x128_256.png

XVIC_ICONS = $(top_srcdir)/data/common/vice-xvic_16.png \
$(top_srcdir)/data/common/vice-xvic_24.png \
$(top_srcdir)/data/common/vice-xvic_32.png \
$(top_srcdir)/data/common/vice-xvic_48.png \
$(top_srcdir)/data/common/vice-xvic_64.png \
$(top_srcdir)/data/common/vice-xvic_256.png

XPLUS4_ICONS = $(top_srcdir)/data/common/vice-xplus4_16.png \
$(top_srcdir)/data/common/vice-xplus4_24.png \
$(top_srcdir)/data/common/vice-xplus4_32.png \
$(top_srcdir)/data/common/vice-xplus4_48.png \
$(top_srcdir)/data/common/vice-xplus4_64.png \
$(top_srcdir)/data/common/vice-xplus4_256.png

XPET_ICONS = $(top_srcdir)/data/common/vice-xpet_16.png \
$(top_srcdir)/data/common/vice-xpet_24.png \
$(top_srcdir)/data/common/vice-xpet_32.png \
$(top_srcdir)/data/common/vice-xpet_48.png \
$(top_srcdir)/data/common/vice-xpet_64.png \
$(top_srcdir)/data/common/vice-xpet_256.png

XCBM2_ICONS = $(top_srcdir)/data/common/vice-xcbm2_16.png \
$(top_srcdir)/data/common/vice-xcbm2_24.png \
$(top_srcdir)/data/common/vice-xcbm2_32.png \
$(top_srcdir)/data/common/vice-xcbm2_48.png \
$(top_srcdir)/data/common/vice-xcbm2_64.png \
$(top_srcdir)/data/common/vice-xcbm2_256.png

XCBM5x0_ICONS = $(XCBM2_ICONS)

VSID_ICONS = $(top_srcdir)/data/common/vice-vsid_16.png \
$(top_srcdir)/data/common/vice-vsid_24.png \
$(top_srcdir)/data/common/vice-vsid_32.png \
$(top_srcdir)/data/common/vice-vsid_48.png \
$(top_srcdir)/data/common/vice-vsid_64.png \
$(top_srcdir)/data/common/vice-vsid_256.png


# Do we use the old x64 emu?
if SUPPORT_X64
X64_RES_FILE = x64.res
else
X64_RES_FILE =
endif


all: $(X64_RES_FILE) x64sc.res x64dtv.res xscpu64.res x128.res xvic.res xplus4.res xpet.res xcbm2.res xcbm5x0.res vsid.res


# Generic rule to create Windows .ico files
%.ico:
$(ICOTOOL) -c -o $(top_builddir)/data/common/$@ $^


# Generic rule to create Windows .res files from .ico and .rc files
#
# TODO: try to simplify
#
%.res: $(top_srcdir)/data/common/%.rc %.ico
$(WINDRES) $< -O coff -o $(top_builddir)/data/common/$@ -I $(top_builddir)/data/common


# Icon file dependencies for each emu
if SUPPORT_X64
x64.ico: $(X64_ICONS)
endif
x64sc.ico: $(X64SC_ICONS)
x64dtv.ico: $(X64DTV_ICONS)
xscpu64.ico: $(XSCPU64_ICONS)
x128.ico: $(X128_ICONS)
xvic.ico: $(XVIC_ICONS)
xplus4.ico: $(XPLUS4_ICONS)
xpet.ico: $(XPET_ICONS)
xcbm2.ico: $(XCBM2_ICONS)
xcbm5x0.ico: $(XCBM5x0_ICONS)
vsid.ico: $(VSID_ICONS)
all:
(cd $(top_builddir)/data/common && $(MAKE) win32_res_files)

endif

0 comments on commit 7cabbdf

Please sign in to comment.