XCOMM $XFree86: xc/programs/Xserver/GL/glx/Imakefile,v 1.17 2004/12/10 16:06:59 alanh Exp $
/*
 * Copyright (c) 2000-2004 by The XFree86 Project, Inc.
 * All rights reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject
 * to the following conditions:
 *
 *   1.  Redistributions of source code must retain the above copyright
 *       notice, this list of conditions, and the following disclaimer.
 *
 *   2.  Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer
 *       in the documentation and/or other materials provided with the
 *       distribution, and in the same place and form as other copyright,
 *       license and disclaimer information.
 *
 *   3.  The end-user documentation included with the redistribution,
 *       if any, must include the following acknowledgment: "This product
 *       includes software developed by The XFree86 Project, Inc
 *       (http://www.xfree86.org/) and its contributors", in the same
 *       place and form as other third-party acknowledgments.  Alternately,
 *       this acknowledgment may appear in the software itself, in the
 *       same form and location as other such third-party acknowledgments.
 *
 *   4.  Except as contained in this notice, the name of The XFree86
 *       Project, Inc shall not be used in advertising or otherwise to
 *       promote the sale, use or other dealings in this Software without
 *       prior written authorization from The XFree86 Project, Inc.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE XFREE86 PROJECT, INC OR ITS CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#if DoLoadableServer
# if !BuildModuleInSubdir
#  define IHaveModules
# elif !defined(IHaveModules)
#  define IHaveSubdirs
SUBDIRS = module
# endif
#endif

#ifdef IHaveModules
MSRCS = glxmodule.c
MOBJS = glxmodule.o
#endif

/* Large PIC tables needed for SPARC builds */
#if defined(sparc) || defined(SparcArchitecture)
# define LargePICTable YES
   PICFLAGS = LargePositionIndependentCFlags
#endif

#include <Server.tmpl>

LinkSourceFile(glcontextmodes.c, $(MESASRCDIR)/src/mesa/drivers/dri/common)
LinkSourceFile(glcontextmodes.h, $(MESASRCDIR)/src/mesa/drivers/dri/common)

         SRCS = global.c glxbuf.c glxcmds.c glxcmdsswap.c glxext.c \
                glxfb.c glximports.c glxmem.c glxpix.c glxscreens.c \
                glxutil.c render2.c render2swap.c renderpix.c \
                renderpixswap.c rensize.c rensizetab.c single2.c \
                single2swap.c singlepix.c singlepixswap.c \
                singlesize.c xfont.c g_disptab.c g_disptab_EXT.c \
                g_render.c g_renderswap.c g_single.c g_singleswap.c \
                glcontextmodes.c $(MSRCS)

         OBJS = global.o glxbuf.o glxcmds.o glxcmdsswap.o glxext.o \
                glxfb.o glximports.o glxmem.o glxpix.o glxscreens.o \
                glxutil.o render2.o render2swap.o renderpix.o \
                renderpixswap.o rensize.o rensizetab.o single2.o \
                single2swap.o singlepix.o singlepixswap.o \
                singlesize.o xfont.o g_disptab.o g_disptab_EXT.o \
                g_render.o g_renderswap.o g_single.o g_singleswap.o \
                glcontextmodes.o $(MOBJS)

     INCLUDES = -I$(SERVERSRC)/GL/glx -I$(SERVERSRC)/GL/include -I$(SERVERSRC)/include -I$(INCLUDESRC) -I$(MESASRCDIR)/include \
                -I$(XINCLUDESRC) -I$(SERVERSRC)/mi \
                -I$(EXTINCSRC) -I$(FONTINCSRC) -I$(LIBSRC)/GL/include \
                -I$(XF86SRC)

#if defined(DarwinArchitecture) && ((OSMajorVersion == 6 && OSMinorVersion < 3) || OSMajorVersion < 6)
  NO_EXT_DEFS = -DMISSING_GL_EXTS
#endif

XCOMM If you add "-DDEBUG" in DEFINES, then make sure you also
XCOMM add DEBUG to the define in ../mesa/src/X/xf86glx.c
      DEFINES = $(GLX_DEFINES) $(NO_EXT_DEFS)


#ifdef IHaveModules
ModuleObjectRule()
LibraryModuleTarget(glx,$(OBJS),extensions)
InstallLibraryModule(glx,$(MODULEDIR),extensions)
InstallDriverSDKLibraryModule(glx,$(DRIVERSDKMODULEDIR),extensions)
#else
NormalLibraryObjectRule()
NormalLibraryTarget(glx,$(OBJS))
#endif

LintLibraryTarget(glx,$(SRCS))
NormalLintTarget($(SRCS))

DependTarget()

#ifdef IHaveSubdirs
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
#endif

#ifdef LinkDirectory
LinkSourceFile(global.c,LinkDirectory)
LinkSourceFile(glxbuf.c,LinkDirectory)
LinkSourceFile(glxcmds.c,LinkDirectory)
LinkSourceFile(glxcmdsswap.c,LinkDirectory)
LinkSourceFile(glxext.c,LinkDirectory)
LinkSourceFile(glxfb.c,LinkDirectory)
LinkSourceFile(glximports.c,LinkDirectory)
LinkSourceFile(glxmem.c,LinkDirectory)
LinkSourceFile(glxmodule.c,LinkDirectory)
LinkSourceFile(glxpix.c,LinkDirectory)
LinkSourceFile(glxscreens.c,LinkDirectory)
LinkSourceFile(glxutil.c,LinkDirectory)
LinkSourceFile(render2.c,LinkDirectory)
LinkSourceFile(render2swap.c,LinkDirectory)
LinkSourceFile(renderpix.c,LinkDirectory)
LinkSourceFile(renderpixswap.c,LinkDirectory)
LinkSourceFile(rensize.c,LinkDirectory)
LinkSourceFile(rensizetab.c,LinkDirectory)
LinkSourceFile(single2.c,LinkDirectory)
LinkSourceFile(single2swap.c,LinkDirectory)
LinkSourceFile(singlepix.c,LinkDirectory)
LinkSourceFile(singlepixswap.c,LinkDirectory)
LinkSourceFile(singlesize.c,LinkDirectory)
LinkSourceFile(xfont.c,LinkDirectory)
LinkSourceFile(g_disptab.c,LinkDirectory)
LinkSourceFile(g_disptab_EXT.c,LinkDirectory)
LinkSourceFile(g_render.c,LinkDirectory)
LinkSourceFile(g_renderswap.c,LinkDirectory)
LinkSourceFile(g_single.c,LinkDirectory)
LinkSourceFile(g_singleswap.c,LinkDirectory)
#endif
