Add %doc files to RPM
[time-slider.git] / Makefile
1 ifeq ($(wildcard .git),)
2         include VERSION
3 else
4         VERSION=$(shell git describe)
5 endif
6 MAINVER=$(shell echo $(VERSION) | cut -f1 -d'-')
7 RELEASE=$(shell echo $(VERSION) | cut -f2- -d'-' | sed -e 's/-/./g')
8
9 mkinstalldirs = /usr/bin/mkdir -p
10 INSTALL = /usr/bin/install
11 INSTALL_DATA = ${INSTALL} -m 644 -t
12 INSTALL_PROGRAM = ${INSTALL} -m 755 -t
13 INSTALL_SCRIPT = ${INSTALL} -t
14 RM = /usr/bin/rm -f
15 RMRF = /usr/bin/rm -Rf
16 RMDIR = /usr/bin/rmdir
17 RPM = /usr/bin/rpm
18 RPMBUILD = /usr/bin/rpmbuild
19 # Use python 2.6 if PYTHON environent is not set
20 ifeq ($(strip $(PYTHON)),)
21 PYTHON = /usr/bin/python2
22 endif
23
24 SUBDIRS = po data rpm
25
26 DISTFILES = Authors \
27                         VERSION \
28                         ChangeLog \
29                         README.md \
30                         OPENSOLARIS.LICENSE \
31                         Makefile \
32                         py-compile.py \
33                         $(SUBDIRS) \
34                         lib \
35                         usr \
36                         var \
37                         etc 
38
39 clean:
40         $(RM) usr/share/time-slider/lib/time_slider/*.pyc
41         $(RM) usr/share/time-slider/lib/plugin/*.pyc
42         $(RM) usr/share/time-slider/lib/plugin/rsync/*.pyc
43         $(RM) usr/share/time-slider/lib/plugin/zfssend/*.pyc
44         $(RM) rpm/time-slider.spec
45
46 all:
47         for subdir in $(SUBDIRS); do \
48           cd $$subdir; make; cd ..;\
49         done
50         echo $(VERSION)
51
52 dist: clean all
53         $(RMRF) time-slider-$(VERSION)
54         mkdir time-slider-$(VERSION)
55         cp -pR $(DISTFILES) time-slider-$(VERSION)
56         /usr/bin/tar cf - time-slider-$(VERSION) | bzip2 > time-slider-$(VERSION).tar.bz2
57         $(RMRF) time-slider-$(VERSION)
58
59 install:
60         for subdir in $(SUBDIRS); do \
61           cd $$subdir; \
62           make DESTDIR=$(DESTDIR) GETTEXT_PACKAGE=time-slider install; \
63           cd ..;\
64         done
65         $(mkinstalldirs) $(DESTDIR)/etc/dbus-1/system.d
66         $(INSTALL_DATA) $(DESTDIR)/etc/dbus-1/system.d etc/dbus-1/system.d/time-slider.conf
67         $(mkinstalldirs) $(DESTDIR)/etc/xdg/autostart
68         $(INSTALL_DATA) $(DESTDIR)/etc/xdg/autostart etc/xdg/autostart/*.desktop
69         $(mkinstalldirs) $(DESTDIR)/usr/lib/systemd/system
70         $(INSTALL_DATA) $(DESTDIR)/usr/lib/systemd/system etc/systemd/system/*.service
71         $(mkinstalldirs) $(DESTDIR)/usr/bin
72         $(INSTALL_PROGRAM) $(DESTDIR)/usr/bin usr/bin/time-slider-setup
73         $(mkinstalldirs) $(DESTDIR)/usr/lib/time-slider/plugins/rsync
74         $(mkinstalldirs) $(DESTDIR)/usr/lib/time-slider/plugins/zfssend
75         $(mkinstalldirs) $(DESTDIR)/usr/libexec
76         $(INSTALL_PROGRAM) $(DESTDIR)/usr/libexec usr/lib/time-sliderd
77         $(INSTALL_PROGRAM) $(DESTDIR)/usr/libexec usr/lib/time-slider-delete
78         $(INSTALL_PROGRAM) $(DESTDIR)/usr/libexec usr/lib/time-slider-notify
79         $(INSTALL_PROGRAM) $(DESTDIR)/usr/libexec usr/lib/time-slider-snapshot
80         $(INSTALL_PROGRAM) $(DESTDIR)/usr/libexec usr/lib/time-slider-version
81         $(INSTALL_PROGRAM) $(DESTDIR)/usr/lib/time-slider/plugins/zfssend usr/lib/time-slider/plugins/zfssend/zfssend
82         $(INSTALL_PROGRAM) $(DESTDIR)/usr/lib/time-slider/plugins/rsync usr/lib/time-slider/plugins/rsync/rsync-trigger
83         $(INSTALL_PROGRAM) $(DESTDIR)/usr/lib/time-slider/plugins/rsync usr/lib/time-slider/plugins/rsync/rsync-backup
84         $(mkinstalldirs) $(DESTDIR)/usr/share/applications
85         $(INSTALL_DATA) $(DESTDIR)/usr/share/applications usr/share/applications/time-slider.desktop
86         $(mkinstalldirs) $(DESTDIR)/usr/share/icons/hicolor/16x16/apps
87         $(INSTALL_DATA) $(DESTDIR)/usr/share/icons/hicolor/16x16/apps usr/share/icons/hicolor/16x16/apps/time-slider-setup.png
88         $(mkinstalldirs) $(DESTDIR)/usr/share/icons/hicolor/24x24/apps
89         $(INSTALL_DATA) $(DESTDIR)/usr/share/icons/hicolor/24x24/apps usr/share/icons/hicolor/24x24/apps/time-slider-setup.png
90         $(mkinstalldirs) $(DESTDIR)/usr/share/icons/hicolor/32x32/apps
91         $(INSTALL_DATA) $(DESTDIR)/usr/share/icons/hicolor/32x32/apps usr/share/icons/hicolor/32x32/apps/time-slider-setup.png
92         $(mkinstalldirs) $(DESTDIR)/usr/share/icons/hicolor/36x36/apps
93         $(INSTALL_DATA) $(DESTDIR)/usr/share/icons/hicolor/36x36/apps usr/share/icons/hicolor/36x36/apps/time-slider-setup.png
94         $(mkinstalldirs) $(DESTDIR)/usr/share/icons/hicolor/48x48/apps
95         $(INSTALL_DATA) $(DESTDIR)/usr/share/icons/hicolor/48x48/apps usr/share/icons/hicolor/48x48/apps/time-slider-setup.png
96         $(mkinstalldirs) $(DESTDIR)/usr/share/icons/hicolor/72x72/apps
97         $(INSTALL_DATA) $(DESTDIR)/usr/share/icons/hicolor/72x72/apps usr/share/icons/hicolor/72x72/apps/time-slider-setup.png
98         $(mkinstalldirs) $(DESTDIR)/usr/share/icons/hicolor/96x96/apps
99         $(INSTALL_DATA) $(DESTDIR)/usr/share/icons/hicolor/96x96/apps usr/share/icons/hicolor/96x96/apps/time-slider-setup.png
100         $(mkinstalldirs) $(DESTDIR)/usr/share/time-slider/glade
101         $(INSTALL_DATA) $(DESTDIR)/usr/share/time-slider/glade usr/share/time-slider/glade/time-slider-delete.glade
102         $(INSTALL_DATA) $(DESTDIR)/usr/share/time-slider/glade usr/share/time-slider/glade/time-slider-setup.glade
103         $(INSTALL_DATA) $(DESTDIR)/usr/share/time-slider/glade usr/share/time-slider/glade/time-slider-snapshot.glade
104         $(INSTALL_DATA) $(DESTDIR)/usr/share/time-slider/glade usr/share/time-slider/glade/time-slider-version.glade
105         $(mkinstalldirs) $(DESTDIR)/usr/share/time-slider/lib/time_slider
106         for file in usr/share/time-slider/lib/time_slider/*.py; do \
107                 if test -f $$file ; then \
108                   $(INSTALL_DATA) $(DESTDIR)/usr/share/time-slider/lib/time_slider $$file; \
109                 fi; \
110         done
111         $(mkinstalldirs) $(DESTDIR)/usr/share/time-slider/lib/time_slider/linux
112         for file in usr/share/time-slider/lib/time_slider/linux/*.py; do \
113                 if test -f $$file ; then \
114                   $(INSTALL_DATA) $(DESTDIR)/usr/share/time-slider/lib/time_slider/linux $$file; \
115                 fi; \
116         done
117         $(mkinstalldirs) $(DESTDIR)/usr/share/time-slider/lib/plugin
118         for file in usr/share/time-slider/lib/plugin/*.py; do \
119                 if test -f $$file ; then \
120                   $(INSTALL_DATA) $(DESTDIR)/usr/share/time-slider/lib/plugin $$file; \
121                 fi; \
122         done
123         $(mkinstalldirs) $(DESTDIR)/usr/share/time-slider/lib/plugin/rsync
124         for file in usr/share/time-slider/lib/plugin/rsync/*.py; do \
125                 if test -f $$file ; then \
126                   $(INSTALL_DATA) $(DESTDIR)/usr/share/time-slider/lib/plugin/rsync $$file; \
127                 fi; \
128         done
129         $(mkinstalldirs) $(DESTDIR)/usr/share/time-slider/lib/plugin/zfssend
130         for file in usr/share/time-slider/lib/plugin/zfssend/*.py; do \
131                 if test -f $$file ; then \
132                   $(INSTALL_DATA) $(DESTDIR)/usr/share/time-slider/lib/plugin/zfssend $$file; \
133                 fi; \
134         done
135         
136 uninstall:
137         for subdir in $(SUBDIRS); do \
138           cd $$subdir; \
139           make DESTDIR=$(DESTDIR) GETTEXT_PACKAGE=time-slider uninstall; \
140           cd ..;\
141         done
142         $(RM) $(DESTDIR)/etc/dbus-1/system.d/time-slider.conf
143         $(RM) $(DESTDIR)/etc/xdg/autostart/time-slider-notify.desktop
144         $(RM) $(DESTDIR)/usr/lib/systemd/system/time-sliderd.service
145         $(RM) $(DESTDIR)/usr/bin/time-slider-setup
146         $(RM) $(DESTDIR)/usr/lib/time-sliderd
147         $(RM) $(DESTDIR)/usr/lib/time-slider-delete
148         $(RM) $(DESTDIR)/usr/lib/time-slider-notify
149         $(RM) $(DESTDIR)/usr/lib/time-slider-snapshot
150         $(RM) $(DESTDIR)/usr/lib/time-slider-version
151         $(RM) $(DESTDIR)/usr/lib/time-slider-zfssend
152         $(RM) $(DESTDIR)/usr/lib/time-slider-rsync
153         $(RMRF) $(DESTDIR)/usr/lib/time-slider/plugins/rsync
154         $(RMRF) $(DESTDIR)/usr/lib/time-slider/plugins/zfssend
155         $(RM) $(DESTDIR)/usr/share/applications/time-slider.desktop
156         $(RM) $(DESTDIR)/usr/share/icons/hicolor/*/apps/time-slider-setup.png
157         $(RMRF) $(DESTDIR)/usr/share/time-slider
158
159
160 rpm-local:
161         @(if test ! -x "${RPMBUILD}"; then \
162                 echo -e "\n" \
163         "*** Required util ${RPMBUILD} missing.  Please install the\n" \
164         "*** package for your distribution which provides ${RPMBUILD},\n" \
165         "*** re-run configure, and try again.\n"; \
166                 exit 1; \
167         fi; \
168         mkdir -p $(rpmbuild)/TMP && \
169         mkdir -p $(rpmbuild)/BUILD && \
170         mkdir -p $(rpmbuild)/RPMS && \
171         mkdir -p $(rpmbuild)/SRPMS && \
172         mkdir -p $(rpmbuild)/SPECS && \
173         cp rpm/$(rpmspec) $(rpmbuild)/SPECS && \
174         mkdir -p $(rpmbuild)/SOURCES && \
175         cp time-slider-$(VERSION).tar.bz2 $(rpmbuild)/SOURCES)
176
177 srpm: dist
178         @(dist=`$(RPM) --eval %{?dist}`; \
179         rpmpkg=time-slider-$(MAINVER)-0.$(RELEASE)$$dist*src.rpm; \
180         rpmspec=time-slider.spec; \
181         rpmbuild=`mktemp -t -d time-slider-build-$$USER-XXXXXXXX`; \
182         $(MAKE) \
183                 rpmbuild="$$rpmbuild" \
184                 rpmspec="$$rpmspec" \
185                 rpm-local || exit 1; \
186         $(RPMBUILD) \
187                 --define "_tmppath $$rpmbuild/TMP" \
188                 --define "_topdir $$rpmbuild" \
189                 $(def) -bs $$rpmbuild/SPECS/$$rpmspec || exit 1; \
190         cp $$rpmbuild/SRPMS/$$rpmpkg . || exit 1; \
191         rm -R $$rpmbuild)
192
193 rpm: srpm
194         @(dist=`$(RPM) --eval %{?dist}`; \
195         rpmpkg=time-slider-$(MAINVER)-0.$(RELEASE)$$dist*src.rpm; \
196         rpmspec=time-slider.spec; \
197         rpmbuild=`mktemp -t -d time-slider-build-$$USER-XXXXXXXX`; \
198         $(MAKE) \
199                 rpmbuild="$$rpmbuild" \
200                 rpmspec="$$rpmspec" \
201                 rpm-local || exit 1; \
202         ${RPMBUILD} \
203                 --define "_tmppath $$rpmbuild/TMP" \
204                 --define "_topdir $$rpmbuild" \
205                 $(def) --rebuild $$rpmpkg || exit 1; \
206         cp $$rpmbuild/RPMS/*/* . || exit 1; \
207         rm -R $$rpmbuild)