# Top-level makefile for Mesa

# Mesa 3-D graphics library
# Version:  1.2.5
# Copyright (C) 1995  Brian Paul  (brianp@ssec.wisc.edu)
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


# $Id: Makefile,v 1.26 1995/11/30 17:16:32 brianp Exp $

# $Log: Makefile,v $
# Revision 1.26  1995/11/30  17:16:32  brianp
# updated version to 1.2.5
#
# Revision 1.25  1995/11/22  18:55:30  brianp
# added sunos5-x11r6-gcc-sl target from Oleg Krivosheev
#
# Revision 1.24  1995/11/16  20:52:10  brianp
# added a number of new Sun targets per Frederic Devernay
#
# Revision 1.23  1995/11/13  21:54:01  brianp
# added unicos target
#
# Revision 1.22  1995/10/31  19:33:40  brianp
# added aix-sl and hpux-gcc targets
# updated version to 1.2.4
#
# Revision 1.21  1995/09/29  16:04:48  brianp
# renamed HOME to MESA_HOME and NAME to MESA_NAME
#
# Revision 1.20  1995/09/22  19:57:24  brianp
# added solaris-gcc config from Steve Stevenson
#
# Revision 1.19  1995/09/15  13:05:42  brianp
# added dgux, hpux-sl and ultrix-gcc configs
# updated version to 1.2.3
#
# Revision 1.18  1995/08/01  21:03:27  brianp
# added machten target, updates for 1.2.2
#
# Revision 1.17  1995/06/21  16:25:23  brianp
# added irix5-dso, linux-elf and unixware targets
# Release 1.2.1
#
# Revision 1.16  1995/05/22  16:53:59  brianp
# Release 1.2
#
# Revision 1.15  1995/05/16  14:12:23  brianp
# added amix target
# added contrib tree to tar file
#
# Revision 1.14  1995/04/20  17:35:52  brianp
# made SCO a separate target
#
# Revision 1.13  1995/04/20  13:32:34  brianp
# added SCO to Linux config
#
# Revision 1.12  1995/04/17  14:50:24  brianp
# 1.1.4 beta release
#
# Revision 1.11  1995/03/31  17:05:29  brianp
# 1.1.3 beta release
#
# Revision 1.10  1995/03/14  14:34:02  brianp
# 1.1.2 beta release
#
# Revision 1.9  1995/03/09  14:51:39  brianp
# added osf1 target per Joseph Canedo
#
# Revision 1.8  1995/03/08  19:50:30  brianp
# added depend files to TAR_FILES
#
# Revision 1.7  1995/03/07  14:38:33  brianp
# changed NAME to Mesa-1.1.1beta
#
# Revision 1.6  1995/03/07  14:31:31  brianp
# new hpux CFLAGS per Jan Springer's suggestion
#
# Revision 1.5  1995/03/04  20:00:57  brianp
# changed tar NAME from Mesa1.1beta to Mesa-1.1beta
#
# Revision 1.4  1995/03/04  19:47:13  brianp
# 1.1 beta revision
#
# Revision 1.3  1995/03/01  21:11:53  brianp
# added GLUT to tar target
#
# Revision 1.2  1995/02/24  16:20:26  brianp
# added netbsd target
#
# Revision 1.1  1995/02/24  16:19:25  brianp
# Initial revision
#


# To add a new configuration for your system add it to the list below
# then update the Make-config file.



default:
	@echo "Type one of the following:"
	@echo "  make aix                  for IBM RS/6000 with AIX"
	@echo "  make aix-sl               for IBM RS/6000, make shared libs"
	@echo "  make amix                 for Amiga 3000 UX  SVR4 v2.1 systems"
	@echo "  make dgux                 for Data General"
	@echo "  make freebsd              for FreeBSD systems with GCC"
	@echo "  make gcc                  for a generic system with GCC"
	@echo "  make hpux                 for HP systems with HPUX"
	@echo "  make hpux-gcc             for HP systems with HPUX using GCC"
	@echo "  make hpux-sl              for HP systems with HPUX, make shared libs"
	@echo "  make irix4                for SGI systems with IRIX 4.x"
	@echo "  make irix5                for SGI systems with IRIX 5.x"
	@echo "  make irix5-dso            for SGI systems with IRIX 5.x, make DSOs"
	@echo "  make irix6                for SGI systems with IRIX 6.x"
	@echo "  make linux                for Linux systems with GCC"
	@echo "  make linux-elf            for Linux systems, make ELF shared libs"
	@echo "  make mswindows            for Microsoft Windows"
	@echo "  make machten              for Macs running MachTen"
	@echo "  make netbsd               for NetBSD 1.0 systems with GCC"
	@echo "  make osf1                 for DEC Alpha systems with OSF/1"
	@echo "  make sco                  for SCO Unix systems with ODT"
	@echo "  make solaris-gcc          for Solaris 2 systems with GCC"
	@echo "  make sunos4               for Suns with SunOS 4.x"
	@echo "  make sunos4-sl            for Suns with SunOS 4.x, make shared libs"
	@echo "  make sunos4-gcc           for Suns with SunOS 4.x and GCC"
	@echo "  make sunos4-gcc-sl        for Suns with SunOS 4.x, GCC, make shared libs"
	@echo "  make sunos5               for Suns with SunOS 5.x"
	@echo "  make sunos5-sl            for Suns with SunOS 5.x, make shared libs"
	@echo "  make sunos5-gcc           for Suns with SunOS 5.x and GCC"
	@echo "  make sunos5-gcc-sl        for Suns with SunOS 5.x, GCC, make shared libs"
	@echo "  make sunos5-x11r6-gcc-sl  for Suns with X11R6, GCC, make shared libs"
	@echo "  make ultrix-gcc           for DEC systems with Ultrix and GCC"
	@echo "  make unicos               for Cray C90 (and other?) systems"
	@echo "  make unixware             for PCs running UnixWare"
	@echo "  make vistra               for Stardent Vistra systems"
	@echo "  make clean"



aix aix-sl amix debug dgux freebsd gcc hpux hpux-gcc hpux-sl irix4 irix5 irix5-dso irix6 linux linux-elf machten netbsd osf1 sco solaris-gcc sunos4 sunos4-sl sunos4-gcc sunos4-gcc-sl sunos5 sunos5-sl sunos5-gcc sunos5-gcc-sl sunos5-x11r6-gcc-sl ultrix-gcc unicos unixware vistra:
	-mkdir lib
	touch src/depend
	touch src-glu/depend
	cd src ; $(MAKE) $@
	cd src-glu ; $(MAKE) $@
	cd src-tk ; $(MAKE) $@
	cd src-aux ; $(MAKE) $@
	cd demos ; $(MAKE) $@
	cd samples ; $(MAKE) $@
	cd book ; $(MAKE) $@

mswindows:
	@echo "See windows/README.WIN for installation"



# Remove .o files, emacs backup files, etc.
clean:
	-rm include/*~
	-rm include/GL/*~
	-rm lib/*.a lib/*.so*
	-rm src/*.o src/*~
	-rm src-aux/*.o
	-rm src-glu/*.o src-glu/*~
	-rm src-tk/*.o
	-rm book/*.o book/*~
	-rm demos/*.o demos/*~
	-rm samples/*.o samples/*~


# Remove everthing that can be remade
realclean: clean
	cd book ; $(MAKE) realclean
	cd demos ; $(MAKE) realclean
	cd samples ; $(MAKE) realclean
	-rm lib/*.a lib/*.so*



MESA_HOME = Mesa
MESA_NAME = Mesa-1.2.5

TAR_FILES =	\
	$(MESA_HOME)/README		\
	$(MESA_HOME)/IAFA-PACKAGE	\
	$(MESA_HOME)/LICENSE		\
	$(MESA_HOME)/Makefile		\
	$(MESA_HOME)/Make-config	\
	$(MESA_HOME)/mklib.*		\
	$(MESA_HOME)/include/*.h	\
	$(MESA_HOME)/include/GL/*.h	\
	$(MESA_HOME)/src*/NOTES		\
	$(MESA_HOME)/src*/README*	\
	$(MESA_HOME)/src*/Makefile	\
	$(MESA_HOME)/src*/depend	\
	$(MESA_HOME)/src*/*.[ch]	\
	$(MESA_HOME)/demos/Makefile	\
	$(MESA_HOME)/demos/*.[cf]	\
	$(MESA_HOME)/demos/isosurf.dat	\
	$(MESA_HOME)/book/Makefile	\
	$(MESA_HOME)/book/NOTES		\
	$(MESA_HOME)/book/README	\
	$(MESA_HOME)/book/*.[ch]	\
	$(MESA_HOME)/samples/Makefile	\
	$(MESA_HOME)/samples/NOTES	\
	$(MESA_HOME)/samples/README	\
	$(MESA_HOME)/samples/*.rgb	\
	$(MESA_HOME)/samples/*.c	\
	$(MESA_HOME)/GLUT/README-MESA	\
	$(MESA_HOME)/widgets		\
	$(MESA_HOME)/windows

tar:
	cd .. ; \
	tar -cvf $(MESA_NAME).tar $(TAR_FILES) ; \
	gzip $(MESA_NAME).tar ; \
	mv $(MESA_NAME).tar.gz $(MESA_HOME)


