# 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

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 ADisp_AGA.o ADisp_Cyb.o osmesa.o /amiga/misc/ht__colors.o /amiga/misc/ht_colors.o
LIBRARYOBJECTS = Amigamesa.o ADisp_AGA.o ADisp_Cyb.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 define=AMIGA define=AMIGALIB
#IGN=ALL

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)
    $(MAKELIB) $@ R $(COMOBJ2)
    $(MAKELIB) $@ R $(AMIGAOBJECTS)
#    @delete $(TMP_OML)

api.o: api.c
    $(CC) WITH=$(TMP_File) $*.c

$(GL_LIBRARY): AmigaLibrary $(COMOBJECTS) $(LIBRARYOBJECTS) DeleteTMP
    @echo "------ Making Library -----"
    $(MAKELIBRARY) $(COMOBJECTS)
    $(MAKELIBRARY) $(LIBRARYOBJECTS)
    
    
$(LIBDIR)/$(GL_AMIWIN_LIB): AMIWIN $(COMOBJECTS) $(AMIWINOBJECTS) DeleteTMP
    @echo "------ Making LIB AMIWIN -----"
    @$(MAKELIB) $@ R $(COMOBJECTS)
    @$(MAKELIB) $@ R $(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)

