GEOM=.
include ${GEOM}/makefiles/Makedefs.global
include Makedefs
include ${GEOM}/makefiles/Makedefs.DISTDIRS

first:	prep configure all

all ${TARGETS} ${LIB} ${COMMONLIB} ${OBJS}:
	@${DOMACHDISTDIRS}

rm_libs rm_depend:
	@${DODISTDIRS}

install installh:
	@${DOMACHDISTDIRS}

clobber:	clean rm_libs rm_depend

depend:
	@if [ -d O.${MACHTYPE} ] ; then				\
	  CC=${CC} ${MKDEP} -f O.${MACHTYPE}/${MKDEPFILE}	\
		-P ../ ${CFLAGS} ${SRCS} ;			\
	fi
	@${DONOMACHDISTDIRS}

clean:
	-rm -f ${DIRT}
	@${DODISTDIRS}

distclean:
	-rm -f ${DIRT} ${DISTDIRT}
	@${DODISTDIRS}

FILES:	_FILES

_FILES:
	@echo "\tMaking FILES in `pwd`..."
	@-/bin/rm -f FILES
	@( hfiles=`/bin/ls | grep '.*\.h$$' || : ` ; 			\
	   echo FILES Makefile Makedefs ${SRCS} $$hfiles ${DISTFILES} ;	\
	   cat DATAFILES ) | tr ' ' '\12' | sort > FILES

RFILES:	FILES
	@${DODISTDIRS}


prep:
	@if [ ! -d lib ] ; then mkdir lib ; fi
	@if [ ! -d lib/${MACHTYPE} ] ; then mkdir lib/${MACHTYPE} ; fi
	@if [ ! -d bin ] ; then mkdir bin ; fi
	@if [ ! -d bin/${MACHTYPE} ] ; then mkdir bin/${MACHTYPE} ; fi

# Note: target RFILES takes several minutes to build; this affects
#   both DISTLIST and all.tar.Z


DISTLIST:	RFILES
all.tar.Z:	DISTLIST

DISTLIST:	
	-/bin/rm -f DISTLIST
	( GEOM=`pwd` ; export GEOM ; $$GEOM/tools/distlist ) > DISTLIST

all.tar.Z:	
	-/bin/rm -f all.tar.Z
	gnutar -cvZ -T DISTLIST -f all.tar.Z


BINDISTLIST:	_BINDISTLIST

_BINDISTLIST:
	-/bin/rm -f BINDISTLIST || :
	cat BINFILES DATAFILES > BINDISTLIST
	( GEOM=`pwd` ; export GEOM ; \
	  cd doc ; $$GEOM/tools/distlist ./doc ) >> BINDISTLIST


# WARNING: "make bin.tar.Z" does not imply "make all".  But you better
#  be sure that the binary geomview is in bin/${MACHTYPE} !!

bin.tar.Z:	BINDISTLIST
	-/bin/rm -f bin.tar.Z
	gnutar -cvZ -T BINDISTLIST -f bin.tar.Z

tree.tar.Z:
	find . \! -type d -print -o -name RCS -prune | \
	  eggrep -v 'O.next|O.sun4|~' | \
	  gnutar -cvZ -T - -f tree.tar.Z

tape:
	find . \! -type d -print -o -name RCS -prune | \
	  eggrep -v 'O.next|O.sun4|~' | \
	  gnutar -cv -b 126 -T - -f /dev/tape

configure:
	@(geom=`pwd` ; \
	   cd src/config ; \
	   if [ "${GEOMDATA}" != "" ] ; then \
	     geomdata="${GEOMDATA}" ; \
	   else \
	     geomdata="$${_GEOMDATA:-$$geom/data}" ; \
	   fi ; \
	   if [ "${GEOMBINROOT}" != "" ] ; then \
	     geombinroot="${GEOMBINROOT}" ; \
	   else \
	     geombinroot="$${_GEOMBINROOT:-$$geom/bin}" ; \
	   fi ; \
	   echo "Configuring GEOMDATA = $$geomdata, GEOMBINROOT = $$geombinroot" ; \
	   echo "in ${GEOM}/include/geomconfig.h and ${GEOM}/src/config/geomconfig.h" ; \
	  sed -e "s|^#define GEOMDATA.*$$|#define GEOMDATA \"$$geomdata\"|" \
	      -e "s|^#define GEOMBINROOT.*$$|#define GEOMBINROOT \"$$geombinroot\"|" \
	    < geomconfig.h > geomconfig.h.new ; \
	  if [ ! -f geomconfig.h.orig ] ; then \
	    mv geomconfig.h geomconfig.h.orig ; \
	  fi ; \
	  mv geomconfig.h.new geomconfig.h \
	) ; \
	rm -f ${GEOM}/include/geomconfig.h ; \
	cp src/config/geomconfig.h ${GEOM}/include
