|
Packit |
9c2278 |
# NMake Makefile to generate the
|
|
Packit |
9c2278 |
# complete index.theme file and to
|
|
Packit |
9c2278 |
# install the icons
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
!include detectenv-msvc.mak
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
!IF "$(SRCROOTDIR)" == ""
|
|
Packit |
9c2278 |
SRCROOTDIR=..
|
|
Packit |
9c2278 |
!ENDIF
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
# Python.exe either needs to be in your PATH or you need to pass
|
|
Packit |
9c2278 |
# in PYTHON=<full-path-to-your-Python-executable> for this to work.
|
|
Packit |
9c2278 |
# Either Python 2.7 or 3.x can be used
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
!IF "$(PYTHON)" == ""
|
|
Packit |
9c2278 |
PYTHON=python
|
|
Packit |
9c2278 |
!ENDIF
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
# Prefix of your installation. Pass in PREFIX=<your-installation-prefix>
|
|
Packit |
9c2278 |
# if needed. gtk-update-icon-cache need to be found
|
|
Packit |
9c2278 |
# in $(PREFIX)\bin
|
|
Packit |
9c2278 |
!IF "$(PREFIX)" == ""
|
|
Packit |
9c2278 |
PREFIX=$(SRCROOTDIR)\..\vs$(VSVER)\$(PLAT)
|
|
Packit |
9c2278 |
!ENDIF
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
ERRNUL = 2>NUL
|
|
Packit |
9c2278 |
_HASH=^#
|
|
Packit |
9c2278 |
NULL=
|
|
Packit |
9c2278 |
ICON_SUBDIR=share\icons\Adwaita
|
|
Packit |
9c2278 |
GDK_PIXBUF_MOD_VERSION=2.10.0
|
|
Packit |
9c2278 |
ADWAITA_VERSION=3.28.0
|
|
Packit |
9c2278 |
ADWAITA_PC_FILES=adwaita-icon-theme.pc
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
# Generate the NMake Makefile modules for the listing of subdirs for each icon size
|
|
Packit |
9c2278 |
!if [@for /f %s in ('dir /b /on $(SRCROOTDIR)\Adwaita') do @if not "%s" == "cursors" (@echo SIZE_%s_dirs = \> %s.mak) & (@for /f %d in ('dir /b $(SRCROOTDIR)\Adwaita\%s') do @echo %s/%d \>> %s.mak) & @echo ^$(NULL) >> %s.mak]
|
|
Packit |
9c2278 |
!endif
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
# We want underscores instead of dashes in the Makefile varnames
|
|
Packit |
9c2278 |
!if [ren scalable-up-to-32.mak scalable-up-to-32.mak.tmp]
|
|
Packit |
9c2278 |
!endif
|
|
Packit |
9c2278 |
!if [$(PYTHON) replace.py --action=replace-str -i=scalable-up-to-32.mak.tmp -o=scalable-up-to-32.mak --instring=SIZE_scalable-up-to-32_dirs --outstring=SIZE_scalable_up_to_32_dirs]
|
|
Packit |
9c2278 |
!endif
|
|
Packit |
9c2278 |
!if [del scalable-up-to-32.mak.tmp]
|
|
Packit |
9c2278 |
!endif
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
# Include the generated NMake Makefile modules to have the full listing of directories, and then get rid of them...
|
|
Packit |
9c2278 |
!include 8x8.mak
|
|
Packit |
9c2278 |
!include 16x16.mak
|
|
Packit |
9c2278 |
!include 22x22.mak
|
|
Packit |
9c2278 |
!include 24x24.mak
|
|
Packit |
9c2278 |
!include 32x32.mak
|
|
Packit |
9c2278 |
!include 48x48.mak
|
|
Packit |
9c2278 |
!include 64x64.mak
|
|
Packit |
9c2278 |
!include 96x96.mak
|
|
Packit |
9c2278 |
!include 256x256.mak
|
|
Packit |
9c2278 |
!include scalable.mak
|
|
Packit |
9c2278 |
!include scalable-up-to-32.mak
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
!if [@for /f %s in ('dir /b /on $(SRCROOTDIR)\Adwaita') do @if not "%s" == "cursors" del %s.mak]
|
|
Packit |
9c2278 |
!endif
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
FIXED_ICON_DIRS = \
|
|
Packit |
9c2278 |
$(SIZE_8x8_dirs) \
|
|
Packit |
9c2278 |
$(SIZE_16x16_dirs) \
|
|
Packit |
9c2278 |
$(SIZE_22x22_dirs) \
|
|
Packit |
9c2278 |
$(SIZE_24x24_dirs) \
|
|
Packit |
9c2278 |
$(SIZE_32x32_dirs) \
|
|
Packit |
9c2278 |
$(SIZE_48x48_dirs) \
|
|
Packit |
9c2278 |
$(SIZE_64x64_dirs) \
|
|
Packit |
9c2278 |
$(SIZE_96x96_dirs)
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
CONTEXT_PYTHON_CMD = $(PYTHON) -c "print('Context=' + '%d'['%d'.rfind('/') + 1:].title())"
|
|
Packit |
9c2278 |
SIZE_256 = 256
|
|
Packit |
9c2278 |
SIZE_256_MIN = 56
|
|
Packit |
9c2278 |
SIZE_SCALABLE = 16
|
|
Packit |
9c2278 |
SIZE_SCALABLE_32_MIN = 16
|
|
Packit |
9c2278 |
SIZE_SCALABLE_32_MAX = 32
|
|
Packit |
9c2278 |
SIZE_SCALABLE_MIN = 8
|
|
Packit |
9c2278 |
SIZE_SCALABLE_MAX = 512
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
all: index.theme
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
index.theme: index.theme.tmp
|
|
Packit |
9c2278 |
# From index.theme.tmp, append then to the file the info for each subdir
|
|
Packit |
9c2278 |
# under each icon size
|
|
Packit |
9c2278 |
#
|
|
Packit |
9c2278 |
# The fixed-sized icons...
|
|
Packit |
9c2278 |
@for %d in ($(FIXED_ICON_DIRS)) do \
|
|
Packit |
9c2278 |
@(echo [%d])>>$@.tmp & \
|
|
Packit |
9c2278 |
@($(CONTEXT_PYTHON_CMD))>>$@.tmp & \
|
|
Packit |
9c2278 |
@($(PYTHON) -c "print('Size=' + '%d'[:'%d'.find('x')])")>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo Type=Fixed)>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo.)>>$@.tmp
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
# The 256x256 icons...
|
|
Packit |
9c2278 |
@for %d in ($(SIZE_256x256_dirs)) do \
|
|
Packit |
9c2278 |
@(echo [%d]>>$@.tmp) & \
|
|
Packit |
9c2278 |
@($(CONTEXT_PYTHON_CMD))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo Size=$(SIZE_256))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo MinSize=$(SIZE_256_MIN))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo MaxSize=$(SIZE_SCALABLE_MAX))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo Type=Scalable)>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo.)>>$@.tmp
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
# The scalable icons...
|
|
Packit |
9c2278 |
@for %d in ($(SIZE_scalable_dirs)) do \
|
|
Packit |
9c2278 |
@(echo [%d]>>$@.tmp) & \
|
|
Packit |
9c2278 |
@($(CONTEXT_PYTHON_CMD))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo Size=$(SIZE_SCALABLE))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo MinSize=$(SIZE_SCALABLE_MIN))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo MaxSize=$(SIZE_SCALABLE_MAX))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo Type=Scalable)>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo.)>>$@.tmp
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
# The scalable-up-to-32 icons...
|
|
Packit |
9c2278 |
@for %d in ($(SIZE_scalable_up_to_32_dirs)) do \
|
|
Packit |
9c2278 |
@(echo [%d]>>$@.tmp) & \
|
|
Packit |
9c2278 |
@($(CONTEXT_PYTHON_CMD))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo Size=$(SIZE_SCALABLE))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo MinSize=$(SIZE_SCALABLE_32_MIN))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo MaxSize=$(SIZE_SCALABLE_32_MAX))>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo Type=Scalable)>>$@.tmp & \
|
|
Packit |
9c2278 |
@(echo.)>>$@.tmp
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
@$(PYTHON) replace.py -i=$@.tmp -o=$@.tmp1 --action=replace-str --instring=App --outstring=Application
|
|
Packit |
9c2278 |
@$(PYTHON) replace.py -i=$@.tmp1 -o=$@ --action=replace-str --instring=Mimetype --outstring=MimeType
|
|
Packit |
9c2278 |
@del $@.tmp1
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
index.theme.tmp: $(SRCROOTDIR)\index.theme.in dir_list.py
|
|
Packit |
9c2278 |
# First generate a temporary index.theme.tmp that has @THEME_DIRS@ replaced appropriately
|
|
Packit |
9c2278 |
@echo Generating index.theme...
|
|
Packit |
9c2278 |
@$(PYTHON) apply_dirs.py -i=$(SRCROOTDIR)\$(@B).in -o=$@
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
dir_list.py:
|
|
Packit |
9c2278 |
# Generate a Python list of subdirs under Adwaita/ for the icons
|
|
Packit |
9c2278 |
@echo icon_dirs = [>$@
|
|
Packit |
9c2278 |
@for %d in ($(FIXED_ICON_DIRS) $(SIZE_256x256_dirs) $(SIZE_scalable_dirs) $(SIZE_scalable_up_to_32_dirs)) do @echo '%d',>>$@
|
|
Packit |
9c2278 |
@echo ]>>$@
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
.SUFFIXES: .svg .png
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
$(ADWAITA_PC_FILES): ..\adwaita-icon-theme.pc.in
|
|
Packit |
9c2278 |
@echo Generating $@...
|
|
Packit |
9c2278 |
$(PYTHON) adwaitapc.py --prefix=$(PREFIX) --version=$(ADWAITA_VERSION)
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
# Copy the icon and cursor files, and convert the SVG symbolic icons if:
|
|
Packit |
9c2278 |
# -The gtk-encode-symbolic-svg tool is found in $(PREFIX)\bin -AND-
|
|
Packit |
9c2278 |
# -The SVG GDK-Pixbuf loader can be found in $(PREFIX)\lib\gdk-pixbuf-2.0\2.10.0\loaders
|
|
Packit |
9c2278 |
install: index.theme $(ADWAITA_PC_FILES)
|
|
Packit |
9c2278 |
@-mkdir $(PREFIX)\$(ICON_SUBDIR)
|
|
Packit |
9c2278 |
copy index.theme $(PREFIX)\$(ICON_SUBDIR)
|
|
Packit |
9c2278 |
for /f %d in ('dir /b $(SRCROOTDIR)\Adwaita') do \
|
|
Packit |
9c2278 |
@(echo Copying files for %d...) & \
|
|
Packit |
9c2278 |
@(mkdir $(PREFIX)\$(ICON_SUBDIR)\%d) & \
|
|
Packit |
9c2278 |
@(if not "%d" == "cursors" \
|
|
Packit |
9c2278 |
(for /f %f in ('dir /b /on $(SRCROOTDIR)\Adwaita\%d') do \
|
|
Packit |
9c2278 |
(mkdir $(PREFIX)\$(ICON_SUBDIR)\%d\%f) & \
|
|
Packit |
9c2278 |
(copy /b $(SRCROOTDIR)\Adwaita\%d\%f\* $(PREFIX)\$(ICON_SUBDIR)\%d\%f)) \
|
|
Packit |
9c2278 |
else (copy /b $(SRCROOTDIR)\Adwaita\%d\* $(PREFIX)\$(ICON_SUBDIR)\%d))
|
|
Packit |
9c2278 |
@if exist $(PREFIX)\bin\gtk-encode-symbolic-svg.exe \
|
|
Packit |
9c2278 |
if exist $(PREFIX)\lib\gdk-pixbuf-2.0\$(GDK_PIXBUF_MOD_VERSION)\loaders\libpixbufloader-svg.dll \
|
|
Packit |
9c2278 |
if exist $(PREFIX)\lib\gdk-pixbuf-2.0\$(GDK_PIXBUF_MOD_VERSION)\loaders.cache \
|
|
Packit |
9c2278 |
@(echo Converting symbolic SVG icons to PNG...) & \
|
|
Packit |
9c2278 |
@(for %z in (16x16 24x24 32x32 48x48 64x64 96x96) do \
|
|
Packit |
9c2278 |
@(echo Converting symbolic SVG icons to %z PNG...) & \
|
|
Packit |
9c2278 |
@(for /f %d in ('dir /b /on $(SRCROOTDIR)\Adwaita\scalable') do \
|
|
Packit |
9c2278 |
@(for /f %f in ('dir /b /on $(SRCROOTDIR)\Adwaita\scalable\%d') do \
|
|
Packit |
9c2278 |
@($(PREFIX)\bin\gtk-encode-symbolic-svg $(SRCROOTDIR)\Adwaita\scalable\%d\%f \
|
|
Packit |
9c2278 |
%z -o $(PREFIX)\$(ICON_SUBDIR)\%z\%d))))
|
|
Packit |
9c2278 |
if not exist $(PREFIX)\share\pkgconfig mkdir $(PREFIX)\share\pkgconfig
|
|
Packit |
9c2278 |
copy adwaita-icon-theme.pc $(PREFIX)\share\pkgconfig
|
|
Packit |
9c2278 |
@if exist $(PREFIX)\bin\gtk-update-icon-cache.exe \
|
|
Packit |
9c2278 |
@(echo Update icon cache...) & \
|
|
Packit |
9c2278 |
@($(PREFIX)\bin\gtk-update-icon-cache -q $(PREFIX)\$(ICON_SUBDIR))
|
|
Packit |
9c2278 |
@echo Adwaita icon theme install complete.
|
|
Packit |
9c2278 |
|
|
Packit |
9c2278 |
clean:
|
|
Packit |
9c2278 |
@-del index.theme
|
|
Packit |
9c2278 |
@-del index.theme.tmp
|
|
Packit |
9c2278 |
@-del dir_list.py
|
|
Packit |
9c2278 |
@-del adwaita-icon-theme.pc
|
|
Packit |
9c2278 |
@-for %a in (*.pyc) do @del *.pyc
|
|
Packit |
9c2278 |
@-if exist __pycache__ rmdir /s /q __pycache__
|