# xdaliclock, Copyright (c) 1991-2006 by Jamie Zawinski.

SHELL		= /bin/sh
TARFILES	= README Makefile version.h \
		  config.guess config.sub install-sh \
		  mac128/README mac128/*.*
NUMBERS		= numbers0/*.xbm numbers1/*.xbm numbers2/*.xbm \
		  numbers_big/README numbers_big/*.gif numbers_big/*.xbm
TAR		= tar
COMPRESS	= gzip --verbose --best
COMPRESS_EXT	= gz


default:
	@echo ''; \
	 echo '        please make one of: "x", "palm", "all", or "clean"'; \
	 echo ''; \
	 exit 5

all: X11 palm

X11::   x11
X::     X11
x::     X11
gtk::   GTK
OSX::   osx
palm::  Palm
pilot:: Palm
Pilot:: Palm

x11:: X11/Makefile
	@echo '==============================================================='
	@echo ''
	cd X11 ; make

GTK:: gtk/Makefile
	@echo '==============================================================='
	@echo ''
	cd gtk ; make

osx::
	@echo '==============================================================='
	@echo ''
	cd OSX ; make

Palm:: palm/Makefile
	@echo '==============================================================='
	@echo ''
	cd palm ; make

X11/Makefile:
	@echo '==============================================================='
	@echo ''
	cd X11 ; ./configure

gtk/Makefile:
	@echo '==============================================================='
	@echo ''
	cd gtk ; ./configure

palm/Makefile:
	@echo '==============================================================='
	@echo ''
	cd palm ; ./configure --host=m68k-palmos --build=`../config.guess`

clean: X11/Makefile palm/Makefile
	cd X11 ; make $@
	cd gtk ; make $@
	cd OSX ; make $@
	cd palm ; make $@

distclean: X11/Makefile gtk/Makefile palm/Makefile
	cd X11 ; make $@
	cd gtk ; make $@
	cd OSX ; make $@
	cd palm ; make $@

install:
	@echo ''; \
	 echo '      - to install the X11 version: "cd X11; make install".';   \
	 echo ''; \
	 echo '      - to install the MacOS version: "cd OSX; make"';	     \
	 echo '        then copy "build/Development/DaliClock.app"';	     \
	 echo '        to your Applications folder."';			     \
	 echo ''; \
	 echo '      - to install the Palm version: "cd palm; make", and';   \
	 echo '        then download "daliclock.prc" to your PalmOS device.';\
	 echo ''; \
	 exit 5

tar: X11/Makefile gtk/Makefile palm/Makefile
	@								    \
  for dir in X11 gtk palm ; do						    \
   ( cd $$dir ;								    \
     rm -f configure ;							    \
     autoconf ;								    \
     ./config.status ;							    \
     $(MAKE) distdepend );						    \
  done ;								    \
  (cd X11; make update_spec_version) ;					    \
  (cd gtk; make update_spec_version) ;					    \
  (cd palm; make update_rsc_version) ;					    \
  (cd OSX; make update_plist_version) ;					    \
  NAME=`sed -n								    \
  's/[^0-9]*\([0-9]\.[0-9][0-9]*\).*/xdaliclock-\1/p' version.h` ;	    \
  rm -rf $$NAME ; ln -s . $$NAME ;					    \
  FILES= ;								    \
  for subdir in X11 gtk palm OSX ; do					    \
    d=`pwd` ;								    \
    cd $$subdir ;							    \
    FILES="$$FILES `$(MAKE) echo_tarfiles				    \
      | grep -v '^.*make\['						    \
      | sed \"s|^|$$subdir/|g;s| | $$subdir/|g\"			    \
      ` ";								    \
    cd $$d ; done ;							    \
  echo creating tar file archive/$${NAME}.tar.$(COMPRESS_EXT)... ;	    \
  $(TAR) -vchf -							    \
    `echo $(TARFILES) $$FILES $(NUMBERS)				    \
   | sed "s|^|$$NAME/|g; s| | $$NAME/|g" `				    \
   | $(COMPRESS) > archive/$${NAME}.tar.$(COMPRESS_EXT) ;		    \
  rm $$NAME ;								    \
  ls -ldF archive/$${NAME}.tar.$(COMPRESS_EXT)

www::
	@								    \
  DEST=$$HOME/www/xdaliclock ;						    \
  VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][0-9]*\).*/\1/p' version.h`	 ;  \
  VERS2=`echo $$VERS | sed 's/[.]//g'`					 ;  \
  HEAD="daliclock-$$VERS"						 ;  \
  HEAD2="daliclock-$$VERS2"						 ;  \
  HEAD3="DaliClock-$$VERS2"						 ;  \
  TAR="x$$HEAD.tar.gz"							 ;  \
  PRC="$$HEAD2.prc"							 ;  \
  DMG="$$HEAD3.dmg"							 ;  \
									    \
  if [ ! -f archive/$$TAR ]; then					    \
    echo "archive/$$TAR does not exist!  Did you forget to \`make tar'?" ;  \
    exit 1 ; 								    \
  fi ;									    \
									    \
  if [ ! -f archive/$$DMG ]; then					    \
    echo "archive/$$DMG does not exist!  Did you forget to \`make dmg'?" ;  \
    exit 1 ; 								    \
  fi ;									    \
  chmod a-w archive/$$TAR ;						    \
  chmod a-w archive/$$DMG ;						    \
									    \
  if [ -f $$DEST/$$TAR ]; then						    \
    /bin/echo -n "WARNING: $$DEST/$$TAR already exists!  Overwrite? ";	    \
    read line;								    \
    if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then		    \
      exit 1 ; 								    \
    fi ;								    \
  fi ;									    \
									    \
  if [ -f $$DEST/$$PRC ]; then						    \
    /bin/echo -n "WARNING: $$DEST/$$PRC already exists!  Overwrite? ";	    \
    read line;								    \
    if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then		    \
      exit 1 ; 								    \
    fi ;								    \
  fi ;									    \
									    \
  if [ -f $$DEST/$$DMG ]; then						    \
    /bin/echo -n "WARNING: $$DEST/$$DMG already exists!  Overwrite? ";	    \
    read line;								    \
    if [ "x$$line" != "xyes" -a "x$$line" != "xy" ]; then		    \
      exit 1 ; 								    \
    fi ;								    \
  fi ;									    \
									    \
  cp -p archive/$$TAR $$DEST/$$TAR ;					    \
  chmod u+w $$DEST/$$TAR ;						    \
									    \
  cp -p archive/$$DMG $$DEST/$$DMG ;					    \
  chmod u+w $$DEST/$$DMG ;						    \
									    \
  cp -p palm/daliclock.prc $$DEST/$$PRC ;				    \
  cd $$DEST ;								    \
									    \
  TMP=/tmp/xd.$$$$ ;							    \
  sed -e "s/daliclock-[0-9]\.[0-9][0-9]*/$$HEAD/g"			    \
      -e "s/daliclock-[0-9][0-9][0-9]*/$$HEAD2/g"			    \
      -e "s/DaliClock-[0-9][0-9][0-9]*/$$HEAD3/g"			    \
      index.html > $$TMP ;						    \
  echo '' ;								    \
  diff -U0 index.html $$TMP ;						    \
  echo '' ;								    \
									    \
  OLDEST=`ls xdaliclock*.tar.gz | head -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 ;									    \
									    \
  OLDEST=`ls daliclock*.prc | head -1` ;				    \
  /bin/echo -n "Delete $$DEST/$$OLDEST? ";					    \
  read line;								    \
  if [ "x$$line" = "xyes" -o "x$$line" = "xy" ]; then			    \
    set -x ;								    \
    rm $$OLDEST $$OLDEST2 ;						    \
    cvs remove $$OLDEST $$OLDEST2 ;					    \
    set +x ;								    \
  fi ;									    \
									    \
  cat $$TMP > index.html ;						    \
  rm -f $$TMP ;								    \
									    \
  set -x ;								    \
  cvs add -kb $$TAR $$PRC $$DMG ;					    \
  cvs commit -m "$$VERS"

