Guest User

Makefile for Plank-themer

a guest
Jun 10th, 2014
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 3.71 KB | None | 0 0
  1. # Variables
  2. _plank1 = $(HOME)/.config/plank/dock1
  3. _dest = build
  4. _install = /usr/share/plank-themer
  5.  
  6. all:
  7.     $(MAKE) plank-themer
  8.  
  9. plank-themer:
  10.     # Create build directory and import files
  11.     mkdir -p $(_dest)/theme_index/{plank-themer-ondock,updater-icon,theme-icons}
  12.     cp -a theme_index/updater-icon/*.svg $(_dest)/theme_index/updater-icon/
  13.     cp -a theme_index/updater-icon/*.svg $(_dest)/theme_index/theme-icons/
  14.     cp -a plank-themer.sh $(_dest)/theme_index/
  15.     ls /usr/share/plank/themes > $(_dest)/theme_index/themes.list
  16.     # TODO: Ask for confirmation to install community themes
  17.     ls themes-repo/Themes/ >> $(_dest)/theme_index/themes.list
  18.     # Create new .desktop files for each theme
  19.     while IFS= read -r file; \
  20.         do \
  21.             echo \[Desktop Entry\] >> $(_dest)/theme_index/plank-themer-ondock/$$file.desktop; \
  22.             echo Type=Application >> $(_dest)/theme_index/plank-themer-ondock/$$file.desktop; \
  23.             echo Terminal=false >> $(_dest)/theme_index/plank-themer-ondock/$$file.desktop; \
  24.             echo Name="$$file" >> $(_dest)/theme_index/plank-themer-ondock/$$file.desktop; \
  25.             echo Icon=$(_install)/theme_index/theme-icons/plank_theme.svg >> $(_dest)/theme_index/plank-themer-ondock/$$file.desktop; \
  26.             echo Exec=$(_install)/theme_index/$$file.sh >> $(_dest)/theme_index/plank-themer-ondock/$$file.desktop; \
  27.         done < $(_dest)/theme_index/themes.list
  28.     # Create new .sh application scripts for each theme
  29.     while IFS= read -r file; \
  30.         do \
  31.             echo "#!/bin/bash" > $(_dest)/theme_index/$$file.sh; \
  32.             echo sed -i \'s/Theme=.*$$/Theme=$$file/g\' $(_plank1)/settings >> $(_dest)/theme_index/$$file.sh; \
  33.         done < $(_dest)/theme_index/themes.list
  34.     # Create (re)inital setup .desktop
  35.     echo \[Desktop Entry\] > $(_dest)/theme_index/plank-themer.desktop
  36.     echo Type=Application >> $(_dest)/theme_index/plank-themer.desktop
  37.     echo Terminal=false >> $(_dest)/theme_index/plank-themer.desktop
  38.     echo Name="Plank themer" >> $(_dest)/theme_index/plank-themer.desktop
  39.     echo Icon=$(_install)/theme_index/update-theme-list.svg >> $(_dest)/theme_index/plank-themer.desktop
  40.     echo Exec=$(_install)/theme_index/plank-themer.sh >> $(_dest)/theme_index/plank-themer.desktop
  41.     # Create new plank themer dockitem...
  42.     echo \[PlankItemsDockItemPreferences\] > $(_dest)/theme_index/plank-themer-ondock.dockitem
  43.     echo Launcher=file://$(_install)/theme_index/plank-themer-ondock >> $(_dest)/theme_index/plank-themer-ondock.dockitem
  44.  
  45. install:
  46.     $(MAKE) install-recursive
  47.  
  48. install-recursive:
  49.     # TODO: Ask for confirmation to install community themes
  50.     $(MAKE) install-plank-themes install-plank-themer
  51.    
  52. install-plank-themer:
  53.     install -Dd $(DESTDIR)/$(_install)/theme_index/plank-themer-ondock $(DESTDIR)/$(_install)/theme_index/updater-icon $(DESTDIR)/$(_install)/theme_index/theme-icons $(DESTDIR)/usr/share/applications/
  54.     install -Dm644 $(_dest)/theme_index/updater-icon/*.svg $(DESTDIR)/$(_install)/theme_index/updater-icon/
  55.     install -Dm644 $(_dest)/theme_index/theme-icons/*.svg $(DESTDIR)/$(_install)/theme_index/theme-icons/
  56.     install -Dm755 $(_dest)/theme_index/plank-themer-ondock/*.desktop $(DESTDIR)/$(_install)/theme_index/plank-themer-ondock/
  57.     install -Dm755 $(_dest)/theme_index/*.sh $(DESTDIR)/$(_install)/theme_index/
  58.     install -Dm755 $(_dest)/theme_index/plank-themer.desktop $(DESTDIR)/usr/share/applications/
  59.     #install -Dm755 $(_dest)/theme_index/plank-themer.sh $(DESTDIR)/$(_install)/theme_index/
  60.     install -Dm644 $(_dest)/theme_index/plank-themer-ondock.dockitem $(DESTDIR)/$(_install)/theme_index/
  61.  
  62. install-plank-themes:
  63.     #install -Dd $(DESTDIR)/usr/share/plank/themes
  64.     for i in themes-repo/Themes/*/; \
  65.         do \
  66.             install -Dd $(DESTDIR)/usr/share/plank/themes/$$(basename $$i); \
  67.             install -Dm664 $$i/* $(DESTDIR)/usr/share/plank/themes/$$(basename $$i)/; \
  68.         done
Advertisement
Add Comment
Please, Sign In to add comment