X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile.in;h=a94868146bfa2996dd16ecf3ef6ff792320de598;hb=HEAD;hp=c905925fffa0a74b4aff69dede985baf0abf8e0c;hpb=ff35d056d723c9a5ffe728dbba5f1c25e141be04;p=xscreensaver diff --git a/Makefile.in b/Makefile.in index c905925f..c713f1f5 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in --- xscreensaver, Copyright (c) 1999-2010 Jamie Zawinski. +# Makefile.in --- xscreensaver, Copyright © 1999-2024 Jamie Zawinski. # the `../configure' script generates `Makefile' from this file. @SET_MAKE@ @@ -6,34 +6,38 @@ srcdir = @srcdir@ VPATH = @srcdir@ SHELL = /bin/sh -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 aclocal.m4 \ - config.sub makevms.com \ +SUBDIRS = utils jwxyz hacks/images hacks hacks/glx hacks/fonts \ + driver po +SUBDIRS2 = $(SUBDIRS) OSX android +TARFILES = README README.hacking INSTALL \ + configure configure.ac Makefile.in config.h.in \ + install-sh config.guess config.rpath aclocal.m4 \ + ax_pthread.m4 config.sub \ intltool-merge.in intltool-extract.in intltool-update.in \ - xscreensaver.spec \ - xscreensaver.xcodeproj/project.pbxproj + xscreensaver.spec -TAR = tar +TAR = gnutar +TAR_ARGS = --owner=0 --group=0 --posix --no-acls --no-xattrs --no-selinux -MAKE_SUBDIR = for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit 5; done -MAKE_SUBDIR2 = for dir in $(SUBDIRS2); do $(MAKE) -C $$dir $@ || exit 5; done + +# Using $(MAKE) directly means the shell executes things even with "make -n" +MAKE2 = $(MAKE) + +MAKE_SUBDIR = for dir in $(SUBDIRS); do (cd $$dir && $(MAKE2) $@) || exit 5; done +MAKE_SUBDIR2 = for dir in $(SUBDIRS2); do (cd $$dir && $(MAKE2) $@) || exit 5; done default:: - @$(MAKE_SUBDIR) + @+$(MAKE_SUBDIR) all:: - @$(MAKE_SUBDIR) + @+$(MAKE_SUBDIR) install:: - @$(MAKE_SUBDIR) + @+$(MAKE_SUBDIR) install-program:: - @$(MAKE_SUBDIR) + @+$(MAKE_SUBDIR) install-man:: - @$(MAKE_SUBDIR) + @+$(MAKE_SUBDIR) install-strip:: - @$(MAKE_SUBDIR) + @+$(MAKE_SUBDIR) uninstall:: @$(MAKE_SUBDIR) uninstall-program:: @@ -43,20 +47,20 @@ uninstall-man:: depend:: @$(MAKE_SUBDIR) distdepend:: - @$(MAKE) update_spec_version + @$(MAKE2) update_spec_version @$(MAKE_SUBDIR2) - @$(MAKE) -C po update-po + @cd po ; $(MAKE2) update-po TAGS:: tags tags:: @$(MAKE_SUBDIR) clean:: - @$(MAKE_SUBDIR2) + @$(MAKE_SUBDIR) distclean:: clean - -rm -f config.h Makefile config.status config.cache config.log TAGS *~ "#"* intltool-extract intltool-merge intltool-update @$(MAKE_SUBDIR2) + -rm -f config.h Makefile config.status config.cache config.log TAGS *~ "#"* intltool-extract intltool-merge intltool-update dist:: tar @@ -65,26 +69,35 @@ tar:: @ \ sh config.status ; \ rm -f configure ; \ - $(MAKE) configure ; \ - $(MAKE) version-date distdepend ; \ - VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' utils/version.h` ; \ + $(MAKE2) configure ; \ + $(MAKE2) version-date distdepend ; \ + $(MAKE2) _tar + +list_tarfiles: + @find $(TARFILES) -type f -print | sort + +_tar: + @ \ + VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' utils/version.h | \ + head -1` ; \ NAME="xscreensaver-$$VERS" ; \ rm -rf $$NAME ; ln -s . $$NAME ; \ - FILES= ; \ + LIST="tar$$$$.txt" ; \ ADIR=archive/ ; \ - for subdir in $(SUBDIRS2) ; do \ - d=`pwd` ; \ - cd $$subdir ; \ - FILES="$$FILES `$(MAKE) echo_tarfiles \ - | grep -v '^.*make\[' \ - | sed \"s|^|$$subdir/|g;s| | $$subdir/|g\" \ - ` "; \ - cd $$d ; done ; \ + rm -f "$$LIST" ; \ + for subdir in . $(SUBDIRS2) ; do \ + ( cd $$subdir ; \ + $(MAKE2) list_tarfiles \ + | grep -v '^.*make\[' \ + | sed -e "s@^@$$NAME/$$subdir/@g" \ + | sed -e "s@/\./@/@g" \ + ) >> "$$LIST" ; \ + done ; \ 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 + export GZIP="-9v" ; \ + $(TAR) -vczf $$ADIR$$NAME.tar.gz -T "$$LIST" $(TAR_ARGS) ; \ + rm "$$LIST" "$$NAME" # This also makes me sick... @@ -94,14 +107,13 @@ tar:: # 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:: - autoconf263 - autoheader263 + rm -f configure + aclocal + autoconf + autoheader + +configure:: @TMP=configure.$$$$ ; \ echo "munging configure's --help message..." ; \ ( perl -e ' \ @@ -109,26 +121,24 @@ configure:: while (<>) { $$file .= $$_; } \ $$_ = $$file; \ \ - s/^(Configuration:)$$/\n$$1\n/m; \ - s/^(Directory and file names:)$$/\n$$1\n/m; \ - s/^ --sbindir=.*\n//m; \ - s/^ --sysconfdir.*\n//m; \ - s/^ --sharedstatedir.*\n.*\n//m; \ - s/^ --localstatedir.*\n//m; \ - s/^ --infodir.*\n//m; \ - s/^(Host type:)$$/\n$$1\n/m; \ - s/\nFeatures and packages:\n.*library files are in DIR\n/\n/s;\ - s/--enable and --with options recognized://m; \ - s/\n --with-x .*?(["\n])/$$1/s; \ - s/\n(Installation options:\n)/$$1/s; \ + s/\nInstallation directories:.*?\n\n/\n/s; \ + s/\nOptional Features:.*?\n\n/\n/s; \ + s/\nOptional Packages:.*?\n\n/\n/s; \ \ - s/^ --oldincludedir=.*$$/ \ - --x-includes=DIR X include files are in DIR\n \ - --x-libraries=DIR X library files are in DIR/m; \ + s/^ +--sbindir=.*\n//m; \ + s/^ +--sysconfdir.*\n//m; \ + s/^ +--sharedstatedir.*\n.*\n//m; \ + s/^ +--oldincludedir.*\n//m; \ + s/^ +--infodir.*\n//m; \ + s/^ +--htmldir.*\n//m; \ + s/^ +--dvidir.*\n//m; \ + s/^ +--pdfdir.*\n//m; \ + s/^ +--psdir.*\n//m; \ + s/^ +--with-x .*\n//m; \ \ - s@mandir=.\$${prefix}/man.@mandir=\\\$${datadir}/man@; \ + s/(\n\n)\n+/$$1/gs; \ \ - s@rm -f conftest@rm -rf conftest@g; \ + s/rm -f conftest/rm -rf conftest/g; \ \ print;' \ < configure \ @@ -136,37 +146,68 @@ configure:: cat $$TMP > configure ) ; \ rm -f $$TMP +# WARNING: This stands a good chance of breaking the world. +# Be prepared to roll back all of /opt/local/ from Time Machine. +automake-upgrade: + sudo port upgrade autoconf automake libtool autoconf-archive + cp -p /opt/local/share/automake*/{config.guess,config.sub,install-sh} . + cp -p /opt/local/share/libtool/aclocal.m4 . + cp -p /opt/local/share/aclocal/ax_pthread.m4 . + echo also consider autoupdate + $(MAKE2) configure + + bump-version:: @ \ SRC=utils/version.h ; \ - VERS=`sed -n 's/[^0-9]*\([0-9]\)\.\([0-9][^. ]*\).*/\1 \2/p' $$SRC` ; \ + VERS=`sed -n \ + 's/[^0-9]*\([0-9]\)\.\([0-9][0-9]*\)\([^. \"]*\).*/\1 \2 \3/p' $$SRC | \ + head -1` ; \ 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'`; \ + MAJOR="$$1"; MINOR="$$2"; SUF="$$3"; \ + VERS="$$MAJOR.$$MINOR$$SUF" ; \ + if [ -z "$$SUF" ]; then \ + MINOR=`echo $$MINOR + 1 | bc | sed 's/^\(.\)/0\1/'` ; \ + else \ + set - `echo $$SUF | sed 's/^\([^0-9]*\)/\1 /'` ; \ + AA="$$1"; BB="$$2"; \ + BB=`echo $$BB + 1 | bc` ; \ + SUF="$$AA$$BB" ; \ + fi ; \ + VERS2="$$MAJOR.$$MINOR$$SUF" ; \ ADIR=archive/ ; \ - if [ ! -f $${ADIR}xscreensaver-$$MAJOR.$$MINOR.tar.gz ]; then \ - echo "WARNING: $${ADIR}xscreensaver-$$MAJOR.$$MINOR.tar.gz does not exist.";\ + if [ ! -f "$${ADIR}xscreensaver-$$VERS.tar.gz" ]; then \ + echo "WARNING: $${ADIR}xscreensaver-$$VERS.tar.gz does not exist."; \ fi ; \ - if [ -f $${ADIR}xscreensaver-$$MAJOR.$$NEW.tar.gz ]; then \ - echo "WARNING: $${ADIR}xscreensaver-$$MAJOR.$$NEW.tar.gz already exists.";\ + if [ -f "$${ADIR}xscreensaver-$$VERS2.tar.gz" ]; then \ + echo "WARNING: $${ADIR}xscreensaver-$$VERS2.tar.gz already exists."; \ fi ; \ - /bin/echo -n "Bumping $$MAJOR.$$MINOR to $$MAJOR.$$NEW ($$D), ok? "; \ + /bin/echo -n "Bumping $$VERS to $$VERS2, ok? "; \ read line; \ if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then \ exit 1 ; \ fi ; \ + \ TMP=/tmp/bv.$$ ; \ - 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 ; \ - /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; \ + sed -e "s/\([0-9]\.[0-9][^. \"]*\)/$$VERS2/" $$SRC > $$TMP ; \ + if cmp -s $$SRC $$TMP ; then \ + echo "ERROR! UNCHANGED!" ; \ + exit 1 ; \ + fi ; \ + \ cat $$TMP > $$SRC ; \ rm -f $$TMP; \ - echo "overwrote $$SRC"; \ + \ + VERS3=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. \"]*\).*/\1/p' < $$SRC | \ + tail -1`; \ + if [ x"$$VERS2" != x"$$VERS3" ]; then \ + echo "ERROR! \"$$VERS2\" vs \"$$VERS3\"!" ; \ + exit 1 ; \ + fi ; \ + \ + echo "Updated $$SRC version to \"$$VERS3\"" ; \ + \ + $(MAKE2) version-date ; \ ls -lFd $$SRC bump_version:: bump-version @@ -176,15 +217,18 @@ tick_version:: bump-version version-date:: @ \ SRC=utils/version.h ; \ + VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. \"]*\).*/\1/p' < $$SRC | \ + head -1`; \ D=`date '+%d-%b-%Y'`; \ + TIME_T=`perl -e "use Date::Parse; print str2time('$$D 12:00')"` ; \ 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 \ + sed -e "s/\([0-9]\.[0-9][^. \"]*\)/$$VERS/" \ + -e "s/([0-9][^()]*)/($$D)/" \ + -e "s/\(_RELEASED *\)[0-9][0-9]*/\1$$TIME_T/" \ + < $$SRC > $$TMP ; \ + if ! cmp -s $$SRC $$TMP ; then \ cat $$TMP > $$SRC ; \ - echo "done." ; \ + echo "Updated $$SRC date to \"$$D\"" ; \ fi ; \ rm -f $$TMP @@ -192,7 +236,8 @@ version-date:: update_spec_version:: @S=$(srcdir)/xscreensaver.spec ; \ U=$(srcdir)/utils/version.h ; \ - VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' < $$U` ; \ + VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' < $$U | \ + head -1` ; \ /bin/echo -n "Updating $$S to \"$$VERS\"... " ; \ T=/tmp/xs.$$$$ ; \ sed "s/^\(%define.version[^0-9]*\)\(.*\)/\1$$VERS/" \ @@ -207,7 +252,8 @@ update_spec_version:: rpm:: @ \ - VERS=`sed -n 's/[^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 -1` ; \ DIR=`pwd`/rpm_build ; \ ARCH=`rpm --showrc | sed -n 's/^build arch *: //p'` ; \ ADIR=archive/ ; \ @@ -235,61 +281,32 @@ rpm:: echo '' ; \ ls -lFG xscreensaver*-$$VERS-*.rpm -test-tar:: - @ \ - VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' utils/version.h` ; \ - D=xscreensaver-$$VERS ; \ - ADIR=archive/ ; \ - NAME="$${ADIR}$$D.tar.gz" ; \ - if [ ! -f $$NAME ]; then \ - echo "$$NAME does not exist! Did you forget to \`make tar'?" ; \ - exit 1 ; \ - fi ; \ - \ - set -e ; \ - set -x ; \ - \ - if [ -d $$D ]; then \ - chmod -R u+w $$D ; \ - fi ; \ - rm -rf $$D ; \ - zcat $${ADIR}$$D.tar.gz | tar -xf - ; \ - cd $$D ; \ - chmod -R a-w . ; \ - chmod u+w . ; \ - mkdir BIN ; \ - mkdir BIN/motif ; \ - mkdir BIN/lesstif ; \ - chmod a-w . ; \ - \ - ( cd BIN/motif ; \ - CC=cc ; \ - export CC ; \ - ../../configure --without-xpm --without-xdbe --without-xshm \ - --with-motif=/usr/local/motif ; \ - echo --------------------------------------------------------------- ; \ - gmake all ; \ - ( cd driver; gmake tests ) ; \ - echo --------------------------------------------------------------- ); \ - \ - ( cd BIN/lesstif ; \ - CC=cc ; \ - export CC ; \ - ../../configure --with-motif=/usr/local/lesstif --without-gnome ; \ - echo --------------------------------------------------------------- ; \ - ( cd utils; gmake all ) ; \ - ( cd driver; gmake all ) ; \ - echo --------------------------------------------------------------- ); \ - \ - chmod -R u+w . - dmg:: - $(MAKE) -C OSX release dmg + $(MAKE2) -C OSX release dmg +apk:: + $(MAKE2) -C android apk + +# Update the version numbers in faq.html, bugs.html, etc. +www_versions:: + @ \ + DEST=$$HOME/www/xscreensaver ; \ + VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' utils/version.h | \ + head -1` ; \ + TMP=/tmp/xd.$$$$ ; \ + for f in $$DEST/*.html ; do \ + sed "s/\(CLASS=.latest.>\)[^<>]*\(<\)/\1$$VERS\2/gi" < "$$f" > "$$TMP" ;\ + if ! cmp -s "$$f" "$$TMP" ; then \ + diff -U0 "$$f" "$$TMP" ; \ + cp -p "$$TMP" "$$f" ; \ + fi ; \ + rm -f "$$TMP" ; \ + done www:: @ \ DEST=$$HOME/www/xscreensaver ; \ - VERS=`sed -n 's/[^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 -1` ; \ HEAD="xscreensaver-$$VERS" ; \ ADIR=archive/ ; \ BNAME="$$HEAD.tar.gz" ; \ @@ -298,6 +315,17 @@ www:: BNAME2="$$HEAD.dmg" ; \ NAME2="$$ADIR$$BNAME2" ; \ DNAME2="$$DEST/$$HEAD.dmg" ; \ + BNAME3="$$HEAD.apk" ; \ + NAME3="$$ADIR$$BNAME3" ; \ + DNAME3="$$DEST/$$HEAD.apk" ; \ + \ + if ! git diff --quiet ; then \ + echo "uncommitted changes exist!" ; \ + exit 1 ; \ + fi ; \ + \ + $(MAKE2) www_versions ; \ + $(MAKE2) -C OSX updates.xml ; \ \ if [ ! -f $$NAME ]; then \ echo "$$NAME does not exist! Did you forget to \`make tar'?" ; \ @@ -307,6 +335,10 @@ www:: echo "$$NAME2 does not exist! Did you forget to \`make dmg'?" ; \ exit 1 ; \ fi ; \ + if [ ! -f $$NAME3 ]; then \ + echo "$$NAME3 does not exist! Did you forget to \`make apk'?" ; \ + exit 1 ; \ + fi ; \ chmod a-w $$NAME ; \ if [ -f $$DNAME ]; then \ /bin/echo -n "WARNING: $$DNAME already exists! Overwrite? "; \ @@ -322,35 +354,55 @@ www:: exit 1 ; \ fi ; \ fi ; \ + if [ -f $$DNAME3 ]; then \ + /bin/echo -n "WARNING: $$DNAME3 already exists! Overwrite? "; \ + read line; \ + if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then \ + exit 1 ; \ + fi ; \ + fi ; \ + \ + git tag -a "v$$VERS" -m "$$VERS" ; \ + git commit -m "$$VERS" . ; \ + \ + ( cd $$DEST ; git pull ) ; \ + \ cp -p $$NAME $$DNAME ; \ cp -p $$NAME2 $$DNAME2 ; \ - chmod u+w $$DNAME $$DNAME2 ; \ + cp -p $$NAME3 $$DNAME3 ; \ + chmod u+w $$DNAME $$DNAME2 $$DNAME3 ; \ + cp -p OSX/updates.xml $$DEST ; \ cd $$DEST ; \ \ TMP=/tmp/xd.$$$$ ; \ - sed "s/xscreensaver-5\.[0-9][0-9ab]*/$$HEAD/g" download.html > $$TMP ; \ + sed "s/xscreensaver-[56]\.[0-9][0-9ab]*/$$HEAD/g" download.html > $$TMP ; \ echo '' ; \ diff -U0 download.html $$TMP ; \ echo '' ; \ \ - for EXT in tar.gz dmg ; do \ - OLDEST=`ls xscreensaver*.$$EXT | head -n 1` ; \ + for EXT in tar.gz dmg apk ; do \ + OLDEST=`ls xscreensaver*.$$EXT | \ + fgrep -v 5.14 | \ + fgrep -v 5.34 | \ + fgrep -v 6.00 | \ + 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 ; \ + git rm $$OLDEST ; \ set +x ; \ fi ; \ done ; \ set -x ; \ - cvs add -kb $$BNAME $$BNAME2 ; \ cat $$TMP > download.html ; \ rm -f $$TMP ; \ \ - $(MAKE) -C ../ xscreensaver/changelog.html xscreensaver/screenshots/index.html; \ - cvs diff -U0 changelog.html ; \ + git add $$BNAME $$BNAME2 $$BNAME3 ; \ + \ + $(MAKE2) -C ../ xscreensaver/changelog.html xscreensaver/screenshots/index.html; \ + git diff changelog.html ; \ set +x ; \ \ /bin/echo -n "Ok? "; \ @@ -359,15 +411,97 @@ www:: exit 1 ; \ fi ; \ \ - cvs commit -m "$$VERS" + git tag -a "v$$VERS" -m "$$VERS" ; \ + git commit -m "$$VERS" . ; \ + git push ; \ 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 + echo "Current hack count: " ; \ + A=`cd hacks ; ( make -s INSTALL=true install-man | \ + grep true | grep -v helper | grep -v ljlatest | wc -l )` ; \ + echo " X11:" $$A ; \ + B=`cd hacks/glx ; ( make -s INSTALL=true install-man | \ + grep true | grep -v helper | grep -v ljlatest | wc -l )` ; \ + echo " GLX:" $$B ; \ + C=`echo $$A + $$B | bc` ; \ + echo " Total:" $$C ; \ + + +# Install symlinks pointing back to the source directory, for debugging. +install_links:: + @ \ + cwd=`pwd` ; \ + for d in $(SUBDIRS) ; do ( \ + cd $$d ; \ + $(MAKE2) install -k INSTALL=true INSTALL_DATA=true \ + INSTALL_DIRS=false SUID_FLAGS= 2>&- | \ + while read s ; do \ + set - $$s ; \ + if [ $$1 = true ]; then \ + a="$$cwd/$$d/$$2" ; \ + b="$$3" ; \ + a=`echo "$$a" | sed -e 's@/\./@/@' \ + -e 's@/[^/]*/\.\./@/@'` ; \ + echo "ln -sf $$a $$b" ; \ + ln -sf "$$a" "$$b" ; \ + fi ; \ + done ; \ + ) ; done + + +cerebrum:: + rsync -vax . 10.0.1.12:xscreensaver/ \ + --omit-dir-times \ + --delete-during \ + --exclude .git \ + --exclude OSX \ + --exclude android \ + --exclude archive \ + --exclude build \ + --exclude gen \ + --exclude videos \ + --exclude config.h \ + --exclude XScreenSaver_ad.h \ + --include xscreensaver-getimage-file \ + --include xscreensaver-getimage-video \ + --include xscreensaver-text \ + --exclude xscreensaver-5.45 \ + --exclude xscreensaver-6.00 \ + --exclude xscreensaver-6.01 \ + --exclude xscreensaver-6.02 \ + --exclude '*~' \ + --include '*.asm' \ + --include '*.c' \ + --include '*.gif' \ + --include '*.h' \ + --include '*.in' \ + --include '*.jpg' \ + --include '*.m' \ + --include '*.m4' \ + --include '*.pdb' \ + --include '*.png' \ + --include '*.po' \ + --include '*.xml' \ + --include '*.xpm' \ + --include '*.man' \ + --include '*.ttf' \ + --include '*.otf' \ + --include '*.ui' \ + --include '*.sh' \ + --include '*.pl' \ + --include '*.spec' \ + --include '*.ad' \ + --include 'configure*' \ + --include 'config.sub' \ + --include 'config.guess' \ + --include 'config.rpath' \ + --include 'install-sh' \ + --include 'bin2c' \ + --include 'ad2c' \ + --include 'vidwhacker' \ + --include 'webcollage' \ + --include '*/' \ + --exclude '*' +