http://ftp.ksu.edu.tw/FTP/FreeBSD/distfiles/xscreensaver-4.23.tar.gz
[xscreensaver] / Makefile.in
1 # Makefile.in --- xscreensaver, Copyright (c) 1999-2005 Jamie Zawinski.
2 # the `../configure' script generates `Makefile' from this file.
3
4 @SET_MAKE@
5 srcdir          = @srcdir@
6 VPATH           = @srcdir@
7
8 SHELL           = /bin/sh
9 SUBDIRS         = utils driver hacks hacks/glx po
10 TARFILES        = README README.VMS README.debugging INSTALL \
11                   configure configure.in Makefile.in config.h.in \
12                   config.h-vms install-sh setup.com config.guess aclocal.m4 \
13                   config.sub makevms.com \
14                   intltool-merge.in intltool-extract.in intltool-update.in \
15                   xscreensaver.spec \
16
17 TAR             = tar
18
19 MAKE_SUBDIR = for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) $@) || exit 5; done
20
21 default::
22         @$(MAKE_SUBDIR)
23 all::
24         @$(MAKE_SUBDIR)
25 install::
26         @$(MAKE_SUBDIR)
27 install-program::
28         @$(MAKE_SUBDIR)
29 install-man::
30         @$(MAKE_SUBDIR)
31 install-strip::
32         @$(MAKE_SUBDIR)
33 uninstall::
34         @$(MAKE_SUBDIR)
35 uninstall-program::
36         @$(MAKE_SUBDIR)
37 uninstall-man::
38         @$(MAKE_SUBDIR)
39 depend::
40         @$(MAKE_SUBDIR)
41 distdepend::
42         @$(MAKE) update_spec_version
43         @$(MAKE_SUBDIR)
44         @cd po ; $(MAKE) generate_potfiles_in
45
46 TAGS:: tags
47 tags::
48         @$(MAKE_SUBDIR)
49 clean::
50         @$(MAKE_SUBDIR)
51 distclean:: clean
52         -rm -f config.h Makefile config.status config.cache config.log TAGS *~ "#"* intltool-extract intltool-merge intltool-update
53         @$(MAKE_SUBDIR)
54
55 dist:: tar
56
57 # This really makes me sick...
58 tar::
59         @                                                                   \
60   sh config.status ;                                                        \
61   rm -f configure ;                                                         \
62   $(MAKE) configure ;                                                       \
63   $(MAKE) distdepend ;                                                      \
64   NAME=`sed -n                                                              \
65   's/[^0-9]*\([0-9]\.[0-9][0-9]*[0-9]*\).*/xscreensaver-\1/p'               \
66         utils/version.h` ;                                                  \
67   rm -rf $$NAME ; ln -s . $$NAME ;                                          \
68   FILES= ;                                                                  \
69   ADIR=archive/ ;                                                           \
70   for subdir in $(SUBDIRS) ; do                                             \
71     d=`pwd` ;                                                               \
72     cd $$subdir ;                                                           \
73     FILES="$$FILES `$(MAKE) echo_tarfiles                                   \
74       | grep -v '^.*make\['                                                 \
75       | sed \"s|^|$$subdir/|g;s| | $$subdir/|g\"                            \
76       ` ";                                                                  \
77     cd $$d ; done ;                                                         \
78   echo creating tar file $$ADIR$$NAME.tar.gz... ;                           \
79   GZIP="-9v" $(TAR) -vchzf $$ADIR$$NAME.tar.gz                              \
80     `echo $(TARFILES) $$FILES | sed "s|^|$$NAME/|g; s| | $$NAME/|g" ` ;     \
81   rm $$NAME
82
83
84 # This also makes me sick...
85 # autoconf generates a configure script that begins with a very hard to read,
86 # nearly impossible to customize --help blurb.  This horrid set of regexps
87 # go through and clean up the help text, by inserting whitespace and ripping
88 # out options we don't use.  Odds are good that this will fail with any version
89 # of autoconf other than the ones I've tried (2.12 and 2.13.)
90 #
91 configure::
92         autoconf
93         autoheader
94         @TMP=configure.$$$$ ;                                                \
95         echo "munging configure's --help message..." ;                       \
96         ( perl -e '                                                          \
97                 my $$file="";                                                \
98                 while (<>) { $$file .= $$_; }                                \
99                 $$_ = $$file;                                                \
100                                                                              \
101                 s/^(Configuration:)$$/\n$$1\n/m;                             \
102                 s/^(Directory and file names:)$$/\n$$1\n/m;                  \
103                 s/^  --sbindir=.*\n//m;                                      \
104                 s/^  --sysconfdir.*\n//m;                                    \
105                 s/^  --sharedstatedir.*\n.*\n//m;                            \
106                 s/^  --localstatedir.*\n//m;                                 \
107                 s/^  --infodir.*\n//m;                                       \
108                 s/^(Host type:)$$/\n$$1\n/m;                                 \
109                 s/\nFeatures and packages:\n.*library files are in DIR\n/\n/s;\
110                 s/--enable and --with options recognized://m;                \
111                 s/\n  --with-x .*?(["\n])/$$1/s;                             \
112                 s/\n(Installation options:\n)/$$1/s;                         \
113                                                                              \
114                 s/^  --oldincludedir=.*$$/ \
115  --x-includes=DIR        X include files are in DIR\n \
116  --x-libraries=DIR       X library files are in DIR/m; \
117                                                                              \
118                 s@mandir=.\$${prefix}/man.@mandir=\\\$${datadir}/man@;       \
119                                                                              \
120                 print;'                                                      \
121         < configure                                                          \
122         > $$TMP &&                                                           \
123         cat $$TMP > configure ) ;                                            \
124         rm -f $$TMP
125
126 bump-version::
127         @                                                                   \
128   SRC=utils/version.h ;                                                     \
129   VERS=`sed -n 's/[^0-9]*\([0-9]\)\.\([0-9][^. ]*\).*/\1 \2/p' $$SRC` ;     \
130   set - $$VERS ;                                                            \
131   MAJOR="$$1"; MINOR="$$2";                                                 \
132   NEW=`echo $$MINOR + 1 | bc` ;                                             \
133   NEW=`echo $$NEW | sed 's/^\([0-9]\)$$/0\1/'` ;                            \
134   D=`date '+%d-%b-%Y'`;                                                     \
135   ADIR=archive/ ;                                                           \
136   if [ ! -f $${ADIR}xscreensaver-$$MAJOR.$$MINOR.tar.gz ]; then             \
137    echo "WARNING: $${ADIR}xscreensaver-$$MAJOR.$$MINOR.tar.gz does not exist.";\
138   fi ;                                                                      \
139   if [ -f $${ADIR}xscreensaver-$$MAJOR.$$NEW.tar.gz ]; then                 \
140     echo "WARNING: $${ADIR}xscreensaver-$$MAJOR.$$NEW.tar.gz already exists.";\
141   fi ;                                                                      \
142   echo -n "Bumping $$MAJOR.$$MINOR to $$MAJOR.$$NEW ($$D), ok? ";           \
143   read line;                                                                \
144   if [ "x$$line" != "xyes" -a  "x$$line" != "xy" ]; then                    \
145     exit 1 ;                                                                \
146   fi ;                                                                      \
147   TMP=/tmp/bv.$$ ;                                                          \
148   sed -e "s/\([0-9]\.[0-9][0-9]*\)/$$MAJOR.$$NEW/"                          \
149       -e "s/\(([0-9][0-9]*-[A-Za-z][a-z][a-z]-[0-9][0-9][0-9]*\))/($$D)/"   \
150         $$SRC > $$TMP ;                                                     \
151   echo -n "New version and date are ";                                      \
152   sed -n "s/[^0-9]*\([0-9]\.[0-9][0-9]*\) (\([-A-Za-z0-9]*\)).*/\1, \2./p"  \
153      $$TMP;                                                                 \
154   cat $$TMP > $$SRC ;                                                       \
155   rm -f $$TMP;                                                              \
156   echo "overwrote $$SRC";                                                   \
157   ls -lFd $$SRC
158
159 bump_version:: bump-version
160 tick-version:: bump-version
161 tick_version:: bump-version
162
163 update_spec_version::
164         @S=$(srcdir)/xscreensaver.spec ;                                    \
165         U=$(srcdir)/utils/version.h ;                                       \
166         VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' < $$U` ;      \
167         echo -n "Updating $$S to \"$$VERS\"... " ;                          \
168         T=/tmp/xs.$$$$ ;                                                    \
169         sed "s/^\(%define.version[^0-9]*\)\(.*\)/\1$$VERS/"                 \
170           < $$S > $$T ;                                                     \
171         if cmp -s $$S $$T ; then                                            \
172           echo "unchanged." ;                                               \
173         else                                                                \
174           cat $$T > $$S ;                                                   \
175           echo "done." ;                                                    \
176         fi ;                                                                \
177         rm $$T
178
179 rpm::
180         @                                                                  \
181   VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' utils/version.h` ; \
182   DIR=`pwd`/rpm_build ;                                                    \
183   ARCH=`rpm --showrc | sed -n 's/^build arch *: //p'` ;                    \
184   ADIR=archive/ ;                                                          \
185   TGZ=xscreensaver-$$VERS.tar.gz ;                                         \
186   if [ ! -f $${ADIR}$$TGZ ]; then                                          \
187     echo "$${ADIR}$$TGZ does not exist!  Did you forget to \`make tar'?" ; \
188     exit 1 ;                                                               \
189   fi ;                                                                     \
190   rm -rf /var/tmp/xscreensaver-$$VERS-root ;                               \
191   rm -rf $$DIR ;                                                           \
192   mkdir $$DIR ;                                                            \
193   ( cd $$DIR; mkdir BUILD RPMS RPMS/$$ARCH SOURCES SPECS SRPMS ) ;         \
194   cp -p $${ADIR}$$TGZ $$DIR/SOURCES/ ;                                     \
195   rpmbuild --define "_topdir $$DIR"                                        \
196            --define "USE_GL yes"                                           \
197            -v -ba xscreensaver.spec ;                                      \
198   echo '' ;                                                                \
199   echo 'RPM build complete' ;                                              \
200   echo '' ;                                                                \
201   rm -f $$DIR/$$TGZ ;                                                      \
202   rm -rf $$DIR/BUILD/xscreensaver-$$VERS ;                                 \
203   mv $$DIR/SRPMS/xscreensaver*-$$VERS-*.rpm . ;                            \
204   mv $$DIR/RPMS/$$ARCH/xscreensaver*-$$VERS-*.rpm . ;                      \
205   rm -rf $$DIR ;                                                           \
206   echo '' ;                                                                \
207   ls -lFG xscreensaver*-$$VERS-*.rpm
208
209 test-tar::
210         @                                                                   \
211   VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' utils/version.h` ; \
212   D=xscreensaver-$$VERS ;                                                   \
213   ADIR=archive/ ;                                                           \
214   NAME="$${ADIR}$$D.tar.gz" ;                                               \
215   if [ ! -f $$NAME ]; then                                                  \
216     echo "$$NAME does not exist!  Did you forget to \`make tar'?" ;         \
217     exit 1 ;                                                                \
218   fi ;                                                                      \
219                                                                             \
220   set -e ;                                                                  \
221   set -x ;                                                                  \
222                                                                             \
223   if [ -d $$D ]; then                                                       \
224    chmod -R u+w $$D ;                                                       \
225   fi ;                                                                      \
226   rm -rf $$D ;                                                              \
227   zcat $${ADIR}$$D.tar.gz | tar -xf - ;                                     \
228   cd $$D ;                                                                  \
229   chmod -R a-w . ;                                                          \
230   chmod u+w . ;                                                             \
231   mkdir BIN ;                                                               \
232   mkdir BIN/motif ;                                                         \
233   mkdir BIN/lesstif ;                                                       \
234   chmod a-w . ;                                                             \
235                                                                             \
236   ( cd BIN/motif ;                                                          \
237     CC=cc ;                                                                 \
238     export CC ;                                                             \
239     ../../configure --without-xpm --without-xdbe --without-xshm             \
240                     --with-motif=/usr/local/motif ;                         \
241     echo --------------------------------------------------------------- ;  \
242     gmake all ;                                                             \
243     ( cd driver; gmake tests ) ;                                            \
244     echo --------------------------------------------------------------- ); \
245                                                                             \
246   ( cd BIN/lesstif ;                                                        \
247     CC=cc ;                                                                 \
248     export CC ;                                                             \
249     ../../configure --with-motif=/usr/local/lesstif --without-gnome ;       \
250     echo --------------------------------------------------------------- ;  \
251     ( cd utils; gmake all ) ;                                               \
252     ( cd driver; gmake all ) ;                                              \
253     echo --------------------------------------------------------------- ); \
254                                                                             \
255   chmod -R u+w .
256
257
258 www::
259         @                                                                   \
260   DEST=$$HOME/www/xscreensaver ;                                            \
261   VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' utils/version.h` ; \
262   HEAD="xscreensaver-$$VERS" ;                                              \
263   ADIR=archive/ ;                                                           \
264   BNAME="$$HEAD.tar.gz" ;                                                   \
265   NAME="$$ADIR$$BNAME" ;                                                    \
266   DNAME="$$DEST/$$HEAD.tar.gz" ;                                            \
267                                                                             \
268   if [ ! -f $$NAME ]; then                                                  \
269     echo "$$NAME does not exist!  Did you forget to \`make tar'?" ;         \
270     exit 1 ;                                                                \
271   fi ;                                                                      \
272   chmod a-w $$NAME ;                                                        \
273   if [ -f $$DNAME ]; then                                                   \
274     echo -n "WARNING: $$DNAME already exists!  Overwrite? ";                \
275     read line;                                                              \
276     if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then                   \
277       exit 1 ;                                                              \
278     fi ;                                                                    \
279   fi ;                                                                      \
280   cp -p $$NAME $$DNAME ;                                                    \
281   chmod u+w $$DNAME ;                                                       \
282   cd $$DEST ;                                                               \
283                                                                             \
284   TMP=/tmp/xd.$$$$ ;                                                        \
285   sed "s/xscreensaver-[0-9]\.[0-9][0-9]*/$$HEAD/g" download.html > $$TMP ;  \
286   echo '' ;                                                                 \
287   diff -U0 download.html $$TMP ;                                            \
288   echo '' ;                                                                 \
289                                                                             \
290   OLDEST=`ls xscreensaver*.tar.gz | head -1` ;                              \
291   echo -n "Delete $$DEST/$$OLDEST? ";                                       \
292   read line;                                                                \
293   if [ "x$$line" = "xyes" -o "x$$line" = "xy" ]; then                       \
294     set -x ;                                                                \
295     rm $$OLDEST ;                                                           \
296     cvs remove $$OLDEST ;                                                   \
297   else                                                                      \
298     set -x ;                                                                \
299   fi ;                                                                      \
300   cvs add -kb $$BNAME ;                                                     \
301   cat $$TMP > download.html ;                                               \
302   rm -f $$TMP ;                                                             \
303                                                                             \
304   (cd ..; $(MAKE) xscreensaver/changelog.html );                            \
305   cvs diff -U0 changelog.html ;                                             \
306   set +x ;                                                                  \
307                                                                             \
308   echo -n "Ok? ";                                                           \
309   read line;                                                                \
310   if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then                     \
311     exit 1 ;                                                                \
312   fi ;                                                                      \
313                                                                             \
314   cvs commit -m "$$VERS"
315
316 check_years::
317         @for file in `find . -name '*.*' \
318                 \! -name '*~' \! -name '*.o' \! -name '*.gz' \! -name '*.Z' \
319                 \! -name '*.po' \! -name 'config.*'  \! -name '*.glade*' \
320                 \! -name '*.m4' \! -name '*.pdb' \! -name '*.xpm' \
321                 \! -name '*.jpg' \! -name '*.gif' \! -name '*.eps' \
322                 \! -name '*.png' \! -name '*.tif' \! -name '*.bak' \
323                 | sort` \
324         ; do \
325           y=`date -r "$$file" '+%Y'` ; \
326           if ! ( grep "\b$$y\b" $$file >/dev/null ); then \
327             if ( grep "opyright\|(c)\|\.BR" $$file >/dev/null ); then \
328               echo "$$file              does not mention $$y" ; \
329             fi ; \
330           fi ; \
331         done
332
333 count::
334         @ \
335   echo -n "Current hack count: " ; \
336   ( ( cd hacks;     make -s INSTALL=true install-program install-scripts ) ; \
337     ( cd hacks/glx; make -s INSTALL=true install-program ) ) | \
338     grep true | \
339     grep -v helper | \
340     grep -v ljlatest | \
341     wc -l