-# Makefile.in --- xscreensaver, Copyright (c) 1999 Jamie Zawinski.
+# Makefile.in --- xscreensaver, Copyright (c) 1999-2010 Jamie Zawinski.
# the `../configure' script generates `Makefile' from this file.
@SET_MAKE@
VPATH = @srcdir@
SHELL = /bin/sh
-SUBDIRS = utils driver hacks hacks/glx
-TARFILES = README README.VMS README.debugging INSTALL xscreensaver.lsm \
+SUBDIRS = utils driver hacks hacks/glx po
+#SUBDIRS = utils driver hacks hacks/glx
+SUBDIRS2 = $(SUBDIRS) OSX
+TARFILES = README README.hacking README.VMS INSTALL \
configure configure.in Makefile.in config.h.in \
- config.h-vms install-sh setup.com config.guess \
- config.sub makevms.com screenblank.txt \
- xscreensaver.lsm.sh xscreensaver.spec
+ config.h-vms install-sh setup.com config.guess aclocal.m4 \
+ config.sub makevms.com \
+ intltool-merge.in intltool-extract.in intltool-update.in \
+ xscreensaver.spec \
+ xscreensaver.xcodeproj/project.pbxproj
+
TAR = tar
-COMPRESS = gzip --verbose --best
-COMPRESS_EXT = gz
-# COMPRESS = compress
-# COMPRESS_EXT = Z
-MAKE_SUBDIR = for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) $@) || exit 5; done
+MAKE_SUBDIR = for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) $@) || exit 5; done
+MAKE_SUBDIR2 = for dir in $(SUBDIRS2);do (cd $$dir; $(MAKE) $@) || exit 5; done
+default::
+ @$(MAKE_SUBDIR)
all::
@$(MAKE_SUBDIR)
-install:
+install::
@$(MAKE_SUBDIR)
-install-program:
+install-program::
@$(MAKE_SUBDIR)
-install-man:
+install-man::
@$(MAKE_SUBDIR)
-install-strip:
+install-strip::
@$(MAKE_SUBDIR)
-uninstall:
+uninstall::
@$(MAKE_SUBDIR)
-uninstall-program:
+uninstall-program::
@$(MAKE_SUBDIR)
-uninstall-man:
+uninstall-man::
@$(MAKE_SUBDIR)
-depend:
+depend::
@$(MAKE_SUBDIR)
-distdepend:
+distdepend::
@$(MAKE) update_spec_version
+ @$(MAKE_SUBDIR2)
+ @cd po ; $(MAKE) update-po
+
+TAGS:: tags
+tags::
@$(MAKE_SUBDIR)
-TAGS: tags
-tags:
- @$(MAKE_SUBDIR)
-clean:
- @$(MAKE_SUBDIR)
-distclean: clean
- -rm -f config.h Makefile config.status config.cache config.log TAGS *~ "#"*
- @$(MAKE_SUBDIR)
-dist: tar
+clean::
+ @$(MAKE_SUBDIR2)
+
+distclean:: clean
+ -rm -f config.h Makefile config.status config.cache config.log TAGS *~ "#"* intltool-extract intltool-merge intltool-update
+ @$(MAKE_SUBDIR2)
+
+dist:: tar
# This really makes me sick...
-tar:
+tar::
@ \
sh config.status ; \
rm -f configure ; \
$(MAKE) configure ; \
- $(MAKE) distdepend ; \
- sh xscreensaver.lsm.sh > xscreensaver.lsm.$$$$ ; \
- mv xscreensaver.lsm.$$$$ xscreensaver.lsm ; \
- NAME=`sed -n \
- 's/[^0-9]*\([0-9]\.[0-9][0-9]*\).*/xscreensaver-\1/p' utils/version.h` ; \
+ $(MAKE) version-date distdepend ; \
+ VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' utils/version.h` ; \
+ NAME="xscreensaver-$$VERS" ; \
rm -rf $$NAME ; ln -s . $$NAME ; \
FILES= ; \
- for subdir in $(SUBDIRS) ; do \
+ ADIR=archive/ ; \
+ for subdir in $(SUBDIRS2) ; do \
d=`pwd` ; \
cd $$subdir ; \
FILES="$$FILES `$(MAKE) echo_tarfiles \
| sed \"s|^|$$subdir/|g;s| | $$subdir/|g\" \
` "; \
cd $$d ; done ; \
- echo creating tar file $${NAME}.tar.$(COMPRESS_EXT)... ; \
- $(TAR) -vchf - \
- `echo $(TARFILES) $$FILES | sed "s|^|$$NAME/|g; s| | $$NAME/|g" ` \
- | $(COMPRESS) > $${NAME}.tar.$(COMPRESS_EXT) ; \
+ echo creating tar file $$ADIR$$NAME.tar.gz... ; \
+ export COPYFILE_DISABLE=true ; \
+ GZIP="-9v" $(TAR) -vchzf $$ADIR$$NAME.tar.gz \
+ `echo $(TARFILES) $$FILES | sed "s|^|$$NAME/|g; s| | $$NAME/|g" ` ; \
rm $$NAME
# out options we don't use. Odds are good that this will fail with any version
# of autoconf other than the ones I've tried (2.12 and 2.13.)
#
+# NOTE: we now require autoconf 2.63 or earlier, because later versions have
+# the "Expanded-Before-Required" change and I can't make any sense of it.
+# If someone wants to send me a patch to make configure.in work with 2.64
+# or later, feel free. Personally, I can't be bothered.
+#
configure::
- autoconf
+ autoconf263
+ autoheader263
@TMP=configure.$$$$ ; \
echo "munging configure's --help message..." ; \
( perl -e ' \
s/^(Configuration:)$$/\n$$1\n/m; \
s/^(Directory and file names:)$$/\n$$1\n/m; \
s/^ --sbindir=.*\n//m; \
- s/^ --libexecdir.*\n//m; \
- s/^ --datadir.*\n.*\n//m; \
s/^ --sysconfdir.*\n//m; \
s/^ --sharedstatedir.*\n.*\n//m; \
s/^ --localstatedir.*\n//m; \
--x-includes=DIR X include files are in DIR\n \
--x-libraries=DIR X library files are in DIR/m; \
\
+ s@mandir=.\$${prefix}/man.@mandir=\\\$${datadir}/man@; \
+ \
+ s@rm -f conftest@rm -rf conftest@g; \
+ \
print;' \
< configure \
> $$TMP && \
bump-version::
@ \
SRC=utils/version.h ; \
- VERS=`sed -n 's/[^0-9]*\([0-9]\)\.\([0-9][0-9]*\).*/\1 \2/p' $$SRC` ; \
+ VERS=`sed -n 's/[^0-9]*\([0-9]\)\.\([0-9][^. ]*\).*/\1 \2/p' $$SRC` ; \
set - $$VERS ; \
MAJOR="$$1"; MINOR="$$2"; \
NEW=`echo $$MINOR + 1 | bc` ; \
NEW=`echo $$NEW | sed 's/^\([0-9]\)$$/0\1/'` ; \
- D=`date '+%d-%b-%y'`; \
- if [ ! -f xscreensaver-$$MAJOR.$$MINOR.tar.gz ]; then \
- echo "WARNING: xscreensaver-$$MAJOR.$$MINOR.tar.gz does not exist."; \
+ D=`date '+%d-%b-%Y'`; \
+ ADIR=archive/ ; \
+ if [ ! -f $${ADIR}xscreensaver-$$MAJOR.$$MINOR.tar.gz ]; then \
+ echo "WARNING: $${ADIR}xscreensaver-$$MAJOR.$$MINOR.tar.gz does not exist.";\
fi ; \
- if [ -f xscreensaver-$$MAJOR.$$NEW.tar.gz ]; then \
- echo "WARNING: xscreensaver-$$MAJOR.$$NEW.tar.gz already exists."; \
+ if [ -f $${ADIR}xscreensaver-$$MAJOR.$$NEW.tar.gz ]; then \
+ echo "WARNING: $${ADIR}xscreensaver-$$MAJOR.$$NEW.tar.gz already exists.";\
fi ; \
- echo -n "Bumping $$MAJOR.$$MINOR to $$MAJOR.$$NEW ($$D), ok? "; \
+ /bin/echo -n "Bumping $$MAJOR.$$MINOR to $$MAJOR.$$NEW ($$D), ok? "; \
read line; \
if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then \
exit 1 ; \
sed -e "s/\([0-9]\.[0-9][0-9]*\)/$$MAJOR.$$NEW/" \
-e "s/\(([0-9][0-9]*-[A-Za-z][a-z][a-z]-[0-9][0-9][0-9]*\))/($$D)/" \
$$SRC > $$TMP ; \
- echo -n "New version and date are "; \
+ /bin/echo -n "New version and date are "; \
sed -n "s/[^0-9]*\([0-9]\.[0-9][0-9]*\) (\([-A-Za-z0-9]*\)).*/\1, \2./p" \
$$TMP; \
cat $$TMP > $$SRC ; \
echo "overwrote $$SRC"; \
ls -lFd $$SRC
+bump_version:: bump-version
+tick-version:: bump-version
+tick_version:: bump-version
+
+version-date::
+ @ \
+ SRC=utils/version.h ; \
+ D=`date '+%d-%b-%Y'`; \
+ TMP=/tmp/bv.$$ ; \
+ sed -e "s/([0-9][^()]*)/($$D)/" < $$SRC > $$TMP ; \
+ /bin/echo -n "Updating date in $$SRC to \"$$D\"... " ; \
+ if cmp -s $$SRC $$TMP ; then \
+ echo "unchanged." ; \
+ else \
+ cat $$TMP > $$SRC ; \
+ echo "done." ; \
+ fi ; \
+ rm -f $$TMP
+
+
update_spec_version::
@S=$(srcdir)/xscreensaver.spec ; \
U=$(srcdir)/utils/version.h ; \
- V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ; \
- echo -n "Updating version number in $$S to \"$$V\"... " ; \
+ VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' < $$U` ; \
+ /bin/echo -n "Updating $$S to \"$$VERS\"... " ; \
T=/tmp/xs.$$$$ ; \
- sed "s/^\(Version:[^0-9]*\)\(.*\)/\1$$V/" \
+ sed "s/^\(%define.version[^0-9]*\)\(.*\)/\1$$VERS/" \
< $$S > $$T ; \
if cmp -s $$S $$T ; then \
echo "unchanged." ; \
rm $$T
rpm::
- @ \
- VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][0-9]*\).*/\1/p' utils/version.h` ; \
- cp -p xscreensaver-$$VERS.tar.gz /usr/src/redhat/SOURCES/ ; \
- rpm -ba xscreensaver.spec
+ @ \
+ VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' utils/version.h` ; \
+ DIR=`pwd`/rpm_build ; \
+ ARCH=`rpm --showrc | sed -n 's/^build arch *: //p'` ; \
+ ADIR=archive/ ; \
+ TGZ=xscreensaver-$$VERS.tar.gz ; \
+ if [ ! -f $${ADIR}$$TGZ ]; then \
+ echo "$${ADIR}$$TGZ does not exist! Did you forget to \`make tar'?" ; \
+ exit 1 ; \
+ fi ; \
+ rm -rf /var/tmp/xscreensaver-$$VERS-root ; \
+ rm -rf $$DIR ; \
+ mkdir $$DIR ; \
+ ( cd $$DIR; mkdir BUILD RPMS RPMS/$$ARCH SOURCES SPECS SRPMS ) ; \
+ cp -p $${ADIR}$$TGZ $$DIR/SOURCES/ ; \
+ rpmbuild --define "_topdir $$DIR" \
+ --define "USE_GL yes" \
+ -v -ba xscreensaver.spec ; \
+ echo '' ; \
+ echo 'RPM build complete' ; \
+ echo '' ; \
+ rm -f $$DIR/$$TGZ ; \
+ rm -rf $$DIR/BUILD/xscreensaver-$$VERS ; \
+ mv $$DIR/SRPMS/xscreensaver*-$$VERS-*.rpm . ; \
+ mv $$DIR/RPMS/$$ARCH/xscreensaver*-$$VERS-*.rpm . ; \
+ rm -rf $$DIR ; \
+ echo '' ; \
+ ls -lFG xscreensaver*-$$VERS-*.rpm
test-tar::
@ \
- VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][0-9]*\).*/\1/p' utils/version.h` ; \
+ VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' utils/version.h` ; \
D=xscreensaver-$$VERS ; \
- NAME="$$D.tar.gz" ; \
+ ADIR=archive/ ; \
+ NAME="$${ADIR}$$D.tar.gz" ; \
if [ ! -f $$NAME ]; then \
echo "$$NAME does not exist! Did you forget to \`make tar'?" ; \
exit 1 ; \
chmod -R u+w $$D ; \
fi ; \
rm -rf $$D ; \
- zcat $$D.tar.gz | tar -xf - ; \
+ zcat $${ADIR}$$D.tar.gz | tar -xf - ; \
cd $$D ; \
chmod -R a-w . ; \
chmod u+w . ; \
mkdir BIN ; \
- mkdir BIN/athena ; \
mkdir BIN/motif ; \
mkdir BIN/lesstif ; \
chmod a-w . ; \
\
- ( cd BIN/athena ; \
- CC=cc ; \
- export CC ; \
- ../../configure --with-athena ; \
- echo --------------------------------------------------------------- ; \
- gmake ; \
- echo --------------------------------------------------------------- ); \
- \
( cd BIN/motif ; \
CC=cc ; \
export CC ; \
- ../../configure --without-xpm --with-motif=/usr/local/motif ; \
+ ../../configure --without-xpm --without-xdbe --without-xshm \
+ --with-motif=/usr/local/motif ; \
echo --------------------------------------------------------------- ; \
- gmake ; \
- ( cd driver; gmake xscreensaver-demo-Xaw ) ; \
+ gmake all ; \
+ ( cd driver; gmake tests ) ; \
echo --------------------------------------------------------------- ); \
\
( cd BIN/lesstif ; \
CC=cc ; \
export CC ; \
- ../../configure --with-motif=/usr/local/lesstif ; \
+ ../../configure --with-motif=/usr/local/lesstif --without-gnome ; \
echo --------------------------------------------------------------- ; \
- ( cd utils; gmake ) ; \
- ( cd driver; gmake ) ; \
- ( cd driver; gmake xscreensaver-demo-Xaw ) ; \
+ ( cd utils; gmake all ) ; \
+ ( cd driver; gmake all ) ; \
echo --------------------------------------------------------------- ); \
\
chmod -R u+w .
+dmg::
+ cd OSX ; $(MAKE) release dmg
www::
@ \
DEST=$$HOME/www/xscreensaver ; \
- VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][0-9]*\).*/\1/p' utils/version.h` ; \
+ VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' utils/version.h` ; \
HEAD="xscreensaver-$$VERS" ; \
- NAME="$$HEAD.tar.gz" ; \
+ ADIR=archive/ ; \
+ BNAME="$$HEAD.tar.gz" ; \
+ NAME="$$ADIR$$BNAME" ; \
+ DNAME="$$DEST/$$HEAD.tar.gz" ; \
+ BNAME2="$$HEAD.dmg" ; \
+ NAME2="$$ADIR$$BNAME2" ; \
+ DNAME2="$$DEST/$$HEAD.dmg" ; \
\
if [ ! -f $$NAME ]; then \
echo "$$NAME does not exist! Did you forget to \`make tar'?" ; \
exit 1 ; \
fi ; \
- if [ -f $$DEST/$$NAME ]; then \
- echo -n "WARNING: $$DEST/$$NAME already exists! Overwrite? "; \
+ if [ ! -f $$NAME2 ]; then \
+ echo "$$NAME2 does not exist! Did you forget to \`make dmg'?" ; \
+ exit 1 ; \
+ fi ; \
+ chmod a-w $$NAME ; \
+ if [ -f $$DNAME ]; then \
+ /bin/echo -n "WARNING: $$DNAME already exists! Overwrite? "; \
+ read line; \
+ if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then \
+ exit 1 ; \
+ fi ; \
+ fi ; \
+ if [ -f $$DNAME2 ]; then \
+ /bin/echo -n "WARNING: $$DNAME2 already exists! Overwrite? "; \
read line; \
if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then \
exit 1 ; \
fi ; \
fi ; \
- cp -p $$NAME $$DEST/$$NAME ; \
- chmod u+w $$DEST/$$NAME ; \
+ cp -p $$NAME $$DNAME ; \
+ cp -p $$NAME2 $$DNAME2 ; \
+ chmod u+w $$DNAME $$DNAME2 ; \
cd $$DEST ; \
\
TMP=/tmp/xd.$$$$ ; \
- sed "s/xscreensaver-[0-9]\.[0-9][0-9]*/$$HEAD/g" download.html > $$TMP ; \
+ sed "s/xscreensaver-5\.[0-9][0-9ab]*/$$HEAD/g" download.html > $$TMP ; \
echo '' ; \
- diff -u0 download.html $$TMP ; \
+ diff -U0 download.html $$TMP ; \
echo '' ; \
\
- OLDEST=`ls xscreensaver*.tar.gz | head -1` ; \
- echo -n "Delete $$DEST/$$OLDEST? "; \
- read line; \
- if [ "x$$line" = "xyes" -o "x$$line" = "xy" ]; then \
- set -x ; \
- rm $$OLDEST ; \
- cvs remove $$OLDEST ; \
- else \
- set -x ; \
- fi ; \
- cvs add -kb $$NAME ; \
+ for EXT in tar.gz dmg ; do \
+ OLDEST=`ls xscreensaver*.$$EXT | head -n 1` ; \
+ /bin/echo -n "Delete $$DEST/$$OLDEST? "; \
+ read line; \
+ if [ "x$$line" = "xyes" -o "x$$line" = "xy" ]; then \
+ set -x ; \
+ rm $$OLDEST ; \
+ cvs remove $$OLDEST ; \
+ set +x ; \
+ fi ; \
+ done ; \
+ set -x ; \
+ cvs add -kb $$BNAME $$BNAME2 ; \
cat $$TMP > download.html ; \
rm -f $$TMP ; \
\
- (cd ..; $(MAKE) xscreensaver/changelog.html ); \
- cvs diff -u0 changelog.html ; \
+ (cd ..; $(MAKE) xscreensaver/changelog.html \
+ xscreensaver/screenshots/index.html ); \
+ cvs diff -U0 changelog.html ; \
set +x ; \
\
- echo -n "Ok? "; \
+ /bin/echo -n "Ok? "; \
read line; \
if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then \
exit 1 ; \
fi ; \
\
cvs commit -m "$$VERS"
+
+
+count::
+ @ \
+ /bin/echo -n "Current hack count: " ; \
+ ( ( cd hacks; make -s INSTALL=true install-program install-scripts ) ; \
+ ( cd hacks/glx; make -s INSTALL=true install-program ) ) | \
+ grep true | \
+ grep -v helper | \
+ grep -v ljlatest | \
+ wc -l