XCOMM $XFree86: xc/programs/Xserver/dix/Imakefile,v 3.20 2004/09/21 18:37:48 torrey Exp $

/*
 * Copyright (c) 1994-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 BuildSeparateTinyDIX && !BuildTinyDIX
#define IHaveSubdirs
SUBDIRS = tiny
#endif

#include <Server.tmpl>

#if PrintOnlyServer
XPSRC = xpstubs.c
XPOBJ = xpstubs.o
#endif

#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)/dix -I$(SERVERSRC)/include -I$(XINCLUDESRC) \
		-I$(FONTINCSRC) -I$(EXTINCSRC) -I$(SERVERSRC)/Xext \
		-I$(SERVERSRC)/lbx
    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)

#if BuildTinyDIX
TINY_DEFINES = TinyDIXDefines
#endif

DEFINES = $(TINY_DEFINES)

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

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

#if PrintOnlyServer
NormalLibraryTarget(xpstubs,$(XPOBJ))
#endif

DependTarget()

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

#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)
LinkSourceFile(xpstubs.c,LinkDirectory)
#endif

