# smakefile for core library for Amiga opengl.lib

# Mesa 3-D graphics library
# 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.
#
##### MACROS #####

INCDIR = /include
LIBDIR = /lib
XDIR = x11:sasc

TMP_FILE = T:MesaTMP_SCOPTS
TMP_OML = T:MesaTMP_OML

COMSOURCES = accum.c alpha.c alphabuf.c api.c attrib.c bitmap.c blend.c bresenhm.c clip.c \
	context.c copypix.c depth.c dlist.c draw.c drawpix.c enable.c \
	eval.c feedback.c fog.c get.c image.c interp.c \
	light.c lines.c logic.c masking.c matrix.c misc.c pb.c \
	pixel.c pointers.c points.c polygon.c readpix.c scissor.c span.c stencil.c \
	teximage.c texobj.c texture.c triangle.c varray.c vb.c vertex.c winpos.c xform.c 

AMIGASOURCES = Amigamesa.c osmesa.c /amiga/misc/ht_colors.c /amiga/misc/ht__colors.a
LIBRARYSOURCES = Amigamesa.c /amiga/misc/ht_colors.c /amiga/misc/ht__colors.a
AMIWINSOURCES = glx.c xfonts.c xmesa1.c xmesa2.c xmesa3.c osmesa.c



#dd.o fortran.o xfonts.o
COMOBJ1 = accum.o alpha.o alphabuf.o api.o attrib.o bitmap.o blend.o bresenhm.o clip.o \
	context.o copypix.o depth.o dlist.o draw.o drawpix.o enable.o \
	eval.o feedback.o fog.o get.o image.o interp.o 
COMOBJ2 = light.o lines.o logic.o masking.o matrix.o misc.o pb.o \
	pixel.o pointers.o points.o polygon.o readpix.o scissor.o span.o stencil.o \
	teximage.o texobj.o texture.o triangle.o varray.o vb.o vertex.o winpos.o xform.o 

COMOBJECTS = $(COMOBJ1) $(COMOBJ2)
AMIGAOBJECTS = Amigamesa.o osmesa.o /amiga/misc/ht__colors.o /amiga/misc/ht_colors.o
LIBRARYOBJECTS = Amigamesa.o /amiga/misc/ht_colors.o /amiga/misc/ht__colors.o
AMIWINOBJECTS = glx.o xfonts.o xmesa1.o xmesa2.o xmesa3.o osmesa.o


AMIGASCFLAGS = idir=$(INCDIR) data=far idlen=63 with=/amiga/SCOPTIONS\
			 nolink IGN=ALL define=AMIGA define=AMIGALIB

LIBRARYSCFLAGS = idir=$(INCDIR) data=far idlen=63 with=/amiga/scoptions\
			 LIBCODE nolink IGN=ALL define=AMIGA define=AMIGALIB

AMIWINSCFLAGS = verbose idir=$(INCDIR) idir=$(XDIR)/include data=far idlen=63 \
			 nostkchk IGN=ALL optimize math=68882 cpu=68040 define=AMIWIN

# Fetures to make and link a shared library for amiga
VERSION = 39
REV = 2
LIBRARYFD = /amiga/library/gl.fd
GL_LIBRARY = libs:gl.library
MAKELIBRARY = slink lib lib:sc.lib+lib:amiga.lib LIBRARYFD $(LIBFD) TO $(GL_LIB) FROM lib:libent.o lib:libinitr.o NOICONS	LIBVERSION $(VERSION) LIBREVISION $(REV)

MAKELIB = oml
GL_LIB = MesaGL.LIB
GL_AMIWIN_LIB = AMIWINGL.LIB

CC = sc

##### RULES #####
.a.o:
	$(CC) WITH=$(TMP_File) $*.a
#	$(MAKELIB) $(LIBDIR)/$(GL_LIB) R $*.o

.c.o:
	$(CC) WITH=$(TMP_File) $*.c
#	$(MAKELIB) $(LIBDIR)/$(GL_LIB) R $*.o

##### TARGETS #####

default:
	@echo "specify: smake <target>"
	@echo "Where <targets> is one of"
	@echo "       amiga   - Compiles a link library"
	@echo "       library - A standard library (still beta)"
	@echo "       targets - Compilations for AMIWIN"
	smake amiga

clean:
	-delete *.o $(GL_LIB)
	-delete /amiga/misc/#?.o

amiga: $(LIBDIR)/$(GL_LIB)
	@echo "------- FINISHID ------"

library: $(GL_LIBRARY)
	@echo "------- FINISHID ------"

targets: $(LIBDIR)/$(GL_AMIWIN_LIB)
	@echo "------- FINISHID ------"

# Make the library 
$(LIBDIR)/$(GL_LIB): AmigaLIB $(COMOBJECTS) $(AMIGAOBJECTS) DeleteTMP
	@echo "------ Making LIB Amiga -----"
	@echo >$(TMP_OML) "$(COMOBJECTS) $(AMIGAOBJECTS)"
#	$(MAKELIB) $@ R <$(TMP_OML)
	$(MAKELIB) $@ R $(COMOBJ1) $(COMOBJ2) $(AMIGAOBJECTS)
	@delete $(TMP_OML)

$(GL_LIBRARY): AmigaLibrary $(COMOBJECTS) $(LIBRARYOBJECTS) DeleteTMP
	@echo "------ Making Library -----"
	$(MAKELIBRARY) $(COMOBJECTS) $(LIBRARYOBJECTS)
	
	
$(LIBDIR)/$(GL_AMIWIN_LIB): AMIWIN $(COMOBJECTS) $(AMIWINOBJECTS) DeleteTMP
	@echo "------ Making LIB AMIWIN -----"
	$(MAKELIB) $@ R $(COMOBJECTS) $(AMIWINOBJECTS)
	copy $@ $(LIBDIR)/$(GL_LIB)
	delete $@


# Makes temporary scoptions to use in global .c.o	
AmigaLIB:
	@echo >$(TMP_FILE) "$(AMIGASCFLAGS)"

AmigaLibrary:
	@echo >$(TMP_FILE) "$(LIBRARYSCFLAGS)"

AMIWIN:
	@echo >$(TMP_FILE) "$(AMIWINSCFLAGS)"

DeleteTMP:
	@delete $(TMP_FILE)

