1# File: Makefile for Chicago95
2# Location: Chicago95 source package
3# License: CC-BY-SA 4.0
4# Author: bgstack15
5# Title: Makefile for Chicago95 source package
6# Purpose: Group theme files for easy installation and uninstallation
7# History:
8# Usage:
9# Reference:
10#    spaces and underscores https://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_6.html
11# Improve:
12# Dependencies:
13#    build-dpkg: txt2man
14
15APPNAME    = chicago95
16APPVERSION = 2.0.1
17SRCDIR     = $(CURDIR)
18BUILDDIR   = $(CURDIR)
19prefix     = /usr
20SYSCONFDIR = $(DESTDIR)/etc
21DEFAULTDIR = $(DESTDIR)/etc/sysconfig # for debian use '$(DESTDIR)/etc/default'
22BINDIR     = $(DESTDIR)$(prefix)/bin
23LIBEXECDIR = $(DESTDIR)$(prefix)/libexec
24SBINDIR    = $(DESTDIR)$(prefix)/sbin
25SHAREDIR   = $(DESTDIR)$(prefix)/share
26DOCDIR     = $(SHAREDIR)/doc/$(APPNAME)
27APPDIR     = $(SHAREDIR)/$(APPNAME)
28APPSDIR    = $(SHAREDIR)/applications
29ICONSDIR   = $(SHAREDIR)/icons
30MIMEDIR    = $(SHAREDIR)/mime/packages
31MANDIR     = $(SHAREDIR)/man
32XDGAUTODIR = $(SYSCONFDIR)/xdg/autostart
33FONTDIR    = $(SHAREDIR)/fonts
34THEMESDIR  = $(SHAREDIR)/themes
35SOUNDSDIR  = $(SHAREDIR)/sounds
36BKGDSDIR   = $(SHAREDIR)/backgrounds/Chicago95
37
38awkbin     :=$(shell which awk)
39chmodbin   :=$(shell which chmod)
40cpbin      :=$(shell which cp)
41echobin    :=$(shell which echo)
42falsebin   :=$(shell which false)
43findbin    :=$(shell which find)
44grepbin    :=$(shell which grep)
45gzipbin    :=$(shell which gzip)
46installbin :=$(shell which install)
47rmbin      :=$(shell which rm)
48rmdirbin   :=$(shell which rmdir)
49sedbin     :=$(shell which sed)
50sortbin    :=$(shell which sort)
51truebin    :=$(shell which true)
52uniqbin    :=$(shell which uniq)
53xargsbin   :=$(shell which xargs)
54txt2manbin :=$(shell which txt2man)
55
56use_underscores ?= NO
57
58.PHONY: clean install install_files build_man uninstall list deplist deplist_opts build_man
59
60nullstring :=
61space :=\ $(nullstring)# end of the line
62ifeq ($(use_underscores),YES)
63space = _
64endif
65
66all: build_man
67
68list:
69	@$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | ${awkbin} -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | ${sortbin} | ${grepbin} -E -v -e '^[^[:alnum:]]' -e '^$@$$'
70
71build_man:
72	@# these man pages are installed with install_plus
73	@test -d ${BUILDDIR} || mkdir -p ${BUILDDIR}
74	${txt2manbin} -P chicago95-theme-plus -r chicago95-theme-plus -d "June 2020" -t "PlusGUI" -s 1 -v "General Commands Manual" < ${SRCDIR}/Plus/PlusGUI.1.txt | ${gzipbin} > ${BUILDDIR}/PlusGUI.1.gz
75	${txt2manbin} -P chicago95-theme-plus -r chicago95-theme-plus -d "June 2020" -t "Chicago95" -s 1 -v "General Commands Manual" < ${SRCDIR}/Plus/ChicagoPlus.1.txt | ${gzipbin} > ${BUILDDIR}/ChicagoPlus.1.gz
76
77install: install_all
78
79.PHONY: install_cursors install_doc install_fonts install_gtk_theme install_icons install_sounds install_login_sound install_boot_screen install_plus install_backgrounds
80install_all: install_cursors install_doc install_fonts install_gtk_theme install_icons install_sounds install_login_sound install_boot_screen install_plus install_backgrounds
81
82install_cursors:
83	${installbin} -dm0755 \
84		${ICONSDIR}/Chicago95$(space)Animated$(space)Hourglass$(space)Cursors \
85		${ICONSDIR}/Chicago95_Cursor_Black \
86		${ICONSDIR}/Chicago95_Cursor_White \
87		${ICONSDIR}/Chicago95_Emerald \
88		${ICONSDIR}/Chicago95$(space)Standard$(space)Cursors$(space)Black \
89		${ICONSDIR}/Chicago95$(space)Standard$(space)Cursors \
90
91	${cpbin} -pr ${SRCDIR}/Cursors/Chicago95\ Animated\ Hourglass\ Cursors/* ${ICONSDIR}/Chicago95$(space)Animated$(space)Hourglass$(space)Cursors
92	${cpbin} -pr ${SRCDIR}/Cursors/Chicago95_Cursor_Black/* ${ICONSDIR}/Chicago95_Cursor_Black
93	${cpbin} -pr ${SRCDIR}/Cursors/Chicago95_Cursor_White/* ${ICONSDIR}/Chicago95_Cursor_White
94	${cpbin} -pr ${SRCDIR}/Cursors/Chicago95_Emerald/* ${ICONSDIR}/Chicago95_Emerald
95	${cpbin} -pr ${SRCDIR}/Cursors/Chicago95\ Standard\ Cursors/* ${ICONSDIR}/Chicago95$(space)Standard$(space)Cursors
96	${cpbin} -pr ${SRCDIR}/Cursors/Chicago95\ Standard\ Cursors\ Black/* ${ICONSDIR}/Chicago95$(space)Standard$(space)Cursors$(space)Black
97	${findbin} ${ICONSDIR}/Chicago95* ! -type d -exec ${chmodbin} 0644 {} +
98
99install_doc:
100	${installbin} -dm0755 ${DOCDIR}
101	${installbin} -m0644 -t ${DOCDIR} ${SRCDIR}/*md Screenshots/SCREENSHOTS.md
102	@# rename a few files
103	${installbin} -m0644 ${SRCDIR}/Plymouth/README.md ${DOCDIR}/Plymouth-readme.md
104	${installbin} -m0644 ${SRCDIR}/Lightdm/Chicago95/README.md ${DOCDIR}/Lightdm-readme.md
105	${installbin} -m0644 -t ${DOCDIR} ${SRCDIR}/Extras/post_install.txt
106
107install_fonts:
108	${installbin} -dm0755 ${FONTDIR}/truetype
109	${installbin} -m0644 -t ${FONTDIR}/truetype ${SRCDIR}/Fonts/vga_font/*ttf
110
111install_gtk_theme:
112	${installbin} -dm0755 ${THEMESDIR}
113	${cpbin} -pr ${SRCDIR}/Theme/Chicago95 ${THEMESDIR}
114	${rmbin} -r ${THEMESDIR}/Chicago95/misc
115	${findbin} ${THEMESDIR}/Chicago95 ! -type d -exec ${chmodbin} 0644 {} + || :
116	${findbin} ${THEMESDIR}/Chicago95 -type d -exec ${chmodbin} 0755 {} + || :
117	@# xfce4-terminal theme
118	${installbin} -dm0755 ${SHAREDIR}/xfce4/terminal/colorschemes
119	${installbin} -m0644 -t ${SHAREDIR}/xfce4/terminal/colorschemes ${SRCDIR}/Extras/Chicago95.theme
120	@# panel profile
121	${installbin} -dm0755 ${SHAREDIR}/xfce4-panel-profiles/layouts
122	${installbin} -m0644 -t ${SHAREDIR}/xfce4-panel-profiles/layouts ${SRCDIR}/Extras/Chicago95_Panel_Preferences.tar.bz2
123
124install_icons:
125	${installbin} -dm0755 ${ICONSDIR}
126	${cpbin} -pr ${SRCDIR}/Icons/* ${ICONSDIR}/
127	${findbin} ${ICONSDIR}/Chicago95* ! -type d ! -type l -exec ${chmodbin} 0644 {} +
128
129install_sounds:
130	${installbin} -dm0755 ${SOUNDSDIR}/Chicago95/stereo
131	${installbin} -m0644 -t ${SOUNDSDIR}/Chicago95/stereo ${SRCDIR}/sounds/Chicago95/stereo/*
132	${installbin} -m0644 -t ${SOUNDSDIR}/Chicago95 ${SRCDIR}/sounds/Chicago95/index.theme
133
134install_login_sound:
135	${installbin} -dm0755 ${SOUNDSDIR}/Chicago95 ${XDGAUTODIR}
136	${installbin} -m0644 ${SRCDIR}/Extras/Microsoft\ Windows\ 95\ Startup\ Sound.ogg ${SOUNDSDIR}/Chicago95/startup.ogg
137	${installbin} -m0644 -t ${XDGAUTODIR} ${SRCDIR}/sounds/chicago95-startup.desktop
138
139install_boot_screen:
140	${installbin} -dm0755 ${SHAREDIR}/plymouth/themes/Chicago95 ${SHAREDIR}/plymouth/themes/RetroTux
141	${installbin} -m0644 -t ${SHAREDIR}/plymouth/themes/Chicago95 ${SRCDIR}/Plymouth/Chicago95/*
142	${installbin} -m0644 -t ${SHAREDIR}/plymouth/themes/RetroTux ${SRCDIR}/Plymouth/RetroTux/*
143
144install_plus:
145	${installbin} -dm0755 ${SHAREDIR}/chicago95-theme-plus/assets ${BINDIR} ${LIBEXECDIR}/chicago95-theme-plus ${DOCDIR}/demo ${APPSDIR} ${MIMEDIR} ${MANDIR}/man1
146	${installbin} -m0644 -t ${SHAREDIR}/chicago95-theme-plus/assets ${SRCDIR}/Plus/assets/*
147	${installbin} -m0755 ${SRCDIR}/Plus/ChicagoPlus.py ${BINDIR}/ChicagoPlus
148	${installbin} -m0755 ${SRCDIR}/Plus/PlusGUI.py ${BINDIR}/PlusGUI
149	${installbin} -m0644 -t ${LIBEXECDIR}/chicago95-theme-plus ${SRCDIR}/Plus/pluslib.py ${SRCDIR}/Plus/plus.glade
150	${installbin} -m0644 ${SRCDIR}/Plus/README.MD ${DOCDIR}/Plus-README.MD
151	${installbin} -m0644 -t ${DOCDIR} ${SRCDIR}/Plus/*.png
152	${installbin} -m0644 -t ${DOCDIR}/demo ${SRCDIR}/Plus/demo/*
153	${installbin} -m0644 -t ${APPSDIR} ${SRCDIR}/Plus/*.desktop
154	${installbin} -m0644 -t ${MIMEDIR} ${SRCDIR}/Plus/chicago95-plus-theme.xml
155	${installbin} -m0644 -t ${MANDIR}/man1 ${BUILDDIR}/*.1.gz
156
157install_backgrounds:
158	${installbin} -dm0755 ${BKGDSDIR}/patterns ${BKGDSDIR}/wallpapers
159	${installbin} -m0644 -t ${BKGDSDIR}/patterns ${SRCDIR}/Extras/Backgrounds/Patterns/*
160	${installbin} -m0644 -t ${BKGDSDIR}/wallpapers ${SRCDIR}/Extras/Backgrounds/Wallpaper/*
161
162uninstall:
163	${rmbin} -rf \
164		${ICONSDIR}/Chicago95$(space)Animated$(space)Hourglass$(space)Cursors \
165		${ICONSDIR}/Chicago95_Cursor_Black \
166		${ICONSDIR}/Chicago95_Cursor_White \
167		${ICONSDIR}/Chicago95_Emerald \
168		${ICONSDIR}/Chicago95$(space)Standard$(space)Cursors$(space)Black \
169		${ICONSDIR}/Chicago95$(space)Standard$(space)Cursors \
170		${DOCDIR} \
171		${FONTDIR}/truetype/LessPerfectDOSVGA.ttf \
172		${FONTDIR}/truetype/MorePerfectDOSVGA.ttf \
173		${SHAREDIR}/lightdm-webkit/themes/Chicago95 \
174		${THEMESDIR}/Chicago95 ${SHAREDIR}/xfce4/terminal/colorschemes/Chicago95.theme \
175		${SHAREDIR}/xfce4-panel-profiles/layouts/Chicago95_Panel_Preferences.tar.bz2 \
176		${ICONSDIR}/Chicago95 ${ICONSDIR}/Chicago95-tux \
177		${SOUNDSDIR}/Chicago95 \
178		${LIBEXECDIR}/chicago95-theme-plus ${BINDIR}/ChicagoPlus ${BINDIR}/PlusGUI \
179		${SHAREDIR}/chicago95-theme-plus \
180		${APPSDIR}/PlusGUI.desktop ${MIMEDIR}/chicago95-plus-theme.xml \
181		${MANDIR}/man1/ChicagoPlus.1.gz ${MANDIR}/man1/PlusGUI.1.gz \
182		${SHAREDIR}/plymouth/themes/Chicago95 ${SHAREDIR}/plymouth/themes/RetroTux \
183		${BKGDSDIR} \
184		${XDGAUTODIR}/chicago95-startup.desktop
185
186clean:
187	-${rmbin} ${BUILDDIR}/*.1.gz
188