XCOMM $XFree86: xc/programs/Xserver/dix/Imakefile,v 3.24 2006/02/19 15:51:19 tsi Exp $

/*
 * Copyright (c) 1994-2006 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.
 */

#include <Server.tmpl>

#if !HasFfs
            FFS_SRC = ffs.c
            FFS_OBJ = ffs.o
#endif

               SRCS = atom.c colormap.c cursor.c devices.c dispatch.c \
		      dixutils.c events.c extension.c gc.c globals.c \
		      glyphcurs.c grabs.c main.c property.c resource.c \
		      swaprep.c swapreq.c tables.c window.c initatoms.c \
		      dixfonts.c privates.c pixmap.c $(FFS_SRC)
               OBJS = atom.o colormap.o cursor.o devices.o dispatch.o \
		      dixutils.o events.o extension.o gc.o globals.o \
		      glyphcurs.o grabs.o main.o property.o resource.o \
		      swaprep.o swapreq.o tables.o window.o initatoms.o \
		      dixfonts.o privates.o pixmap.o $(FFS_OBJ)

           INCLUDES = -I$(SERVERSRC)/include -I$(SERVERSRC)/dix \
		      -I$(SERVERSRC)/Xext -I$(SERVERSRC)/lbx \
		      -I$(SERVERSRC)/Xprint
           LINTLIBS = ../os/llib-los.ln

/*
 * The following configuration parameters may be set in the appropriate
 * .macros files or site.def in the directory util/imake.includes/:
 *
 *     DefaultFontPath                COMPILEDDEFAULTFONTPATH
 *     DefaultRGBDatabase             RGB_DB
 *
 * The sample util/imake.includes/Imake.tmpl will provide generic defaults.
 * The values in site.h are simply a last line of defense and should not be
 * changed.
 */

#ifdef DefaultFontPath
    DEFAULTFONTPATH = DefaultFontPath
     SITE_FONT_PATH = -DCOMPILEDDEFAULTFONTPATH=\"$(DEFAULTFONTPATH)\"
#endif

#ifdef DefaultRGBDatabase
 DEFAULTRGBDATABASE = DefaultRGBDatabase
        SITE_RGB_DB = -DRGB_DB=\"$(DEFAULTRGBDATABASE)\"
#endif

#ifdef DefaultDisplayClass
DEFAULTDISPLAYCLASS = DefaultDisplayClass
 SITE_DISPLAY_CLASS = -DCOMPILEDDISPLAYCLASS=\"$(DEFAULTDISPLAYCLASS)\"
#endif

#ifdef XVendorString
       VENDORSTRING = XVendorString
      VENDOR_STRING = -DVENDOR_STRING=\"$(VENDORSTRING)\"
#endif

#ifdef XVendorRelease
      VENDORRELEASE = XVendorRelease
     VENDOR_RELEASE = -DVENDOR_RELEASE="$(VENDORRELEASE)"
#endif

#if HasKrb5
             K5DEFS = Krb5Defines
#endif

#ifdef DarwinArchitecture
#if DarwinQuartzSupport
     QUARTZ_DEFINES = -DDARWIN_WITH_QUARTZ -DROOTLESS
#endif
#endif

       SITE_DEFINES = $(SITE_FONT_PATH) $(SITE_RGB_DB) $(SITE_DISPLAY_CLASS)

     VENDOR_DEFINES = $(VENDOR_STRING) $(VENDOR_RELEASE) $(QUARTZ_DEFINES)

#ifndef LinkDefines
#define LinkDefines /**/
#endif

/*
 * Insert EXT_DEFINES just in case the list of pervasive extensions isn't
 * being kept up to date.
 */
            DEFINES = $(EXT_DEFINES) LinkDefines

NormalLibraryObjectRule()
NormalLibraryTarget(dix,$(OBJS))
LintLibraryTarget(dix,$(SRCS))
NormalLintTarget($(SRCS))

SpecialCObjectRule(globals,$(ICONFIGFILES),$(SITE_DEFINES))
SpecialCObjectRule(tables,$(ICONFIGFILES),$(K5DEFS))
SpecialCObjectRule(dispatch,$(ICONFIGFILES),$(K5DEFS))
SpecialCObjectRule(main,$(ICONFIGFILES),$(VENDOR_DEFINES))
SpecialCObjectRule(events,$(ICONFIGFILES),NullParameter)
SpecialCObjectRule(pixmap,$(ICONFIGFILES),NullParameter)
SpecialCObjectRule(privates,$(ICONFIGFILES),NullParameter)
SpecialCObjectRule(window,$(ICONFIGFILES),$(QUARTZ_DEFINES))

DependTarget()

#ifdef LinkDirectory
LinkSourceFile(atom.c,LinkDirectory)
LinkSourceFile(colormap.c,LinkDirectory)
LinkSourceFile(cursor.c,LinkDirectory)
LinkSourceFile(devices.c,LinkDirectory)
LinkSourceFile(dispatch.c,LinkDirectory)
LinkSourceFile(dixfonts.c,LinkDirectory)
LinkSourceFile(dixutils.c,LinkDirectory)
LinkSourceFile(events.c,LinkDirectory)
LinkSourceFile(extension.c,LinkDirectory)
LinkSourceFile(ffs.c,LinkDirectory)
LinkSourceFile(gc.c,LinkDirectory)
LinkSourceFile(globals.c,LinkDirectory)
LinkSourceFile(glyphcurs.c,LinkDirectory)
LinkSourceFile(grabs.c,LinkDirectory)
LinkSourceFile(initatoms.c,LinkDirectory)
LinkSourceFile(main.c,LinkDirectory)
LinkSourceFile(pixmap.c,LinkDirectory)
LinkSourceFile(privates.c,LinkDirectory)
LinkSourceFile(property.c,LinkDirectory)
LinkSourceFile(resource.c,LinkDirectory)
LinkSourceFile(swaprep.c,LinkDirectory)
LinkSourceFile(swapreq.c,LinkDirectory)
LinkSourceFile(tables.c,LinkDirectory)
LinkSourceFile(window.c,LinkDirectory)
#endif

