#!smake
#
# Copyright (c) Mark J. Kilgard, 1995.
#

# If you have a non-SGI system !!READ THIS!!
# 
# By default, GLUT has Makefiles that are symbolic links to Makefile.sgi
# files that work for IRIX (SGI's Unix).  If you have a non-SGI system,
# you should generate the Makefiles you need from Imakefiles.  To do
# this, run the ./mkmkfiles.imake script in this directory.

include $(ROOT)/usr/include/make/commondefs

TOP = .

RM = -rm -rf

# lib      - GLUT libraries
# test     - GLUT tests
# progs    - GLUT programs
# doc      - GLUT documentation
SUBDIRS = lib test progs

LDIRT = *.bak glut.tar glut.tar.Z glut.tar.gz glut_data.tar.gz glut_data.tar glut_data.tar.Z disttest data.tmp *.zip

default $(COMMONTARGS): $(_FORCE)
	$(SUBDIRS_MAKERULE)

DIST = README NOTICE README.glut2 README.fortran README.xinput \
       README.inventor README.irix64bit CHANGES Imakefile Makefile.sgi \
       mkmkfiles.imake mkmkfiles.sgi Glut.cf lib test progs man \
       README.ibm-shlib README.irix6 FAQ.glut README.glut3 README.linux \
       linux README.man Makefile IAFA-PACKAGE README.mesa README.ada \
       include adainclude glutdefs README.win README.mui \
       glutmake.bat glutwin32.mak Makefile.win Portability.txt

DIST_NAME = glut-3.5

glut.tar.gz :
	$(RM) disttest $(DIST_NAME) glut.stage1.tar $@
	find . -name '.nfs*' -print
	mkmkfiles.sgi
	$(MAKE) tree_clobber
	find . -name '*.bak' -print | xargs /bin/rm -f
	tar cvf glut.stage1.tar $(DIST)
	$(RM) $(DIST_NAME)
	mkdir $(DIST_NAME)
	( cd $(DIST_NAME) ; tar xvf ../glut.stage1.tar )
	( cd $(DIST_NAME) ; find . -name '*.ac' -print | xargs /bin/rm -f )
	tar cvf glut.tar $(DIST_NAME)
	$(RM) $(DIST_NAME) glut.stage1.tar
	gzip -fv glut.tar

ZIP = /usr/freeware/bin/zip

zip: glut.tar.gz glut_data.tar.gz
	$(RM) disttest
	mkdir disttest
	( cd disttest ; cp ../glut.tar.gz . ; gunzip glut.tar.gz ; tar xvf glut.tar )
	( cd disttest ; $(ZIP) -r ../glut35.zip glut-3.5 )
	$(RM) disttest
	mkdir disttest
	( cd disttest ; cp ../glut_data.tar.gz . ; gunzip glut_data.tar.gz ; tar xvf glut_data.tar )
	( cd disttest ; $(ZIP) -r ../glutdata.zip glut-3.5 )
	$(RM) disttest

dist: zip

tree_clobber:
	$(RM) $(LDIRT)
	( cd build ; /bin/rm -f IDB finalidb joinedidb )
	$(MAKE) clobber
	( cd lib/fglut ; $(MAKE) clobber )
	( cd lib/glut.n32 ; $(MAKE) clobber )
	( cd lib/fglut.n32 ; $(MAKE) clobber )
	( cd lib/mui.n32 ; $(MAKE) clobber )
	( cd lib/glut.n64 ; $(MAKE) clobber )
	( cd lib/fglut.n64 ; $(MAKE) clobber )
	( cd lib/mui.n64 ; $(MAKE) clobber )
	( cd progs/fortran ; $(MAKE) clobber )
	( cd progs/inventor ; $(MAKE) clobber )
	( cd progs/tiff ; $(MAKE) clobber )
	( cd progs/glc ; $(MAKE) clobber )
	( cd progs/ada ; $(MAKE) clobber )
	( cd mkfiles ; $(MAKE) clobber )
	( cd man ; $(MAKE) clobber )
	( cd adainclude ; $(MAKE) clobber )
	( cd progs/ada ; $(MAKE) clobber )

tree_check:
	p_check -w | grep -v ximages/ | grep -v images/ | grep -v sgiprogs/ \
	  | grep -v /Makefile | grep -v doc/ | grep -v inprogress/ \
	  | grep -v build/ | grep -v /.ident | grep -v _number

glut_data.tar.gz :
	find . -name '*.bak' -print | xargs /bin/rm -f
	tar cvf glut_data.stage1.tar data
	$(RM) data.tmp/$(DIST_NAME)
	mkdir -p data.tmp/$(DIST_NAME)
	( cd data.tmp/$(DIST_NAME) ; tar xvf ../../glut_data.stage1.tar )
	( cd data.tmp ; tar cvf ../glut_data.tar $(DIST_NAME) )
	$(RM) data.tmp/$(DIST_NAME) glut_data.stage1.tar
	gzip -fv glut_data.tar

dist: $(_FORCE)
	$(RM) glut.tar.gz glut.tar.Z
	$(MAKE) glut.tar.gz

.ORDER: glut.tar.gz glut_data.tar.gz

testdist: glut.tar.gz glut_data.tar.gz
	$(RM) disttest
	mkdir disttest
	( cd disttest ; cp ../glut.tar.gz . ; gunzip glut.tar.gz ; tar xvf glut.tar )
	( cd disttest ; cp ../glut_data.tar.gz . ; gunzip glut_data.tar.gz ; tar xvf glut_data.tar )
	( cd disttest/$(DIST_NAME) ; ./mkmkfiles.imake ; make )
	( cd disttest/$(DIST_NAME)/test ; make test )
	$(RM) disttest
	mkdir disttest
	( cd disttest ; cp ../glut.tar.gz . ; gunzip glut.tar.gz ; tar xvf glut.tar )
	( cd disttest ; cp ../glut_data.tar.gz . ; gunzip glut_data.tar.gz ; tar xvf glut_data.tar )
	( cd disttest/$(DIST_NAME) ; ./mkmkfiles.sgi ; make )
	( cd disttest/$(DIST_NAME)/test ; make test )
	$(RM) disttest

$(SUBDIRS): $(_FORCE)
	cd $@; $(MAKE)

$(_FORCE):
