/**************************************************************************/
/*                                                                        */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
/*                                                                        */
/* NX-X11, NX protocol compression and NX extensions to this software     */
/* are copyright of NoMachine. Redistribution and use of the present      */
/* software is allowed according to terms specified in the file LICENSE   */
/* which comes in the source distribution.                                */
/*                                                                        */
/* Check http://www.nomachine.com/licensing.html for applicability.       */
/*                                                                        */
/* NX and NoMachine are trademarks of Medialogic S.p.A.                   */
/*                                                                        */
/* All rights reserved.                                                   */
/*                                                                        */
/**************************************************************************/

XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:53:36 cpqbld Exp $
XCOMM $XFree86: xc/programs/Xserver/mi/Imakefile,v 3.34 2002/05/22 21:38:31 herrb Exp $

NULL =

#include <Server.tmpl>

#if ! HasCbrt
CBRT_SRC = cbrt.c
CBRT_OBJ = cbrt.o
#endif

#if HasFfs
FFS_DEFINES = -DHAS_FFS
#endif

#if DoLoadableServer
EXTRAMIINITEXTOBJ = miinitext.o
#else
MIINITEXTSRC = miinitext.c
MIINITEXTOBJ = miinitext.o
#endif

#if (!(defined(NXAgentServer) && NXAgentServer))
NXAGENT_SKIP_SRCS =                     \
                    miexpose.c          \
                    $(NULL)
NXAGENT_SKIP_OBJS =                     \
                    miexpose.o          \
                    $(NULL)
#endif

SRCS =  $(CBRT_SRC)             \
        mivaltree.c             \
        mipolyseg.c             \
        mipolyrect.c            \
        mipoly.c                \
        mipolycon.c             \
        mipolygen.c             \
        mipolyutil.c            \
        mifillrct.c             \
        miwideline.c            \
        mispans.c               \
        miarc.c                 \
        mizerarc.c              \
        mifillarc.c             \
        miwindow.c              \
        micursor.c              \
        mipolytext.c            \
        mibitblt.c              \
        mipolypnt.c             \
        mipushpxl.c             \
        miglblt.c               \
        mizerline.c             \
        mizerclip.c             \
        mifpolycon.c            \
        midash.c                \
        mibstore.c              \
        mibank.c                \
        $(MIINITEXTSRC)         \
        mieq.c                  \
        mipointer.c             \
        misprite.c              \
        midispcur.c             \
        miscrinit.c             \
        miclipn.c               \
        migc.c                  \
        micmap.c                \
        mioverlay.c             \
        $(NXAGENT_SKIP_SRCS)    \
        $(NULL)

OBJS =  $(CBRT_OBJ)             \
        mivaltree.o             \
        mipolyseg.o             \
        mipolyrect.o            \
        mipoly.o                \
        mipolycon.o             \
        mipolygen.o             \
        mipolyutil.o            \
        mifillrct.o             \
        miwideline.o            \
        mispans.o               \
        miarc.o                 \
        mizerarc.o              \
        mifillarc.o             \
        miwindow.o              \
        micursor.o              \
        mipolytext.o            \
        mibitblt.o              \
        mipolypnt.o             \
        mipushpxl.o             \
        miglblt.o               \
        mizerline.o             \
        mizerclip.o             \
        mifpolycon.o            \
        midash.o                \
        mibstore.o              \
        mibank.o                \
        $(MIINITEXTOBJ)         \
        mieq.o                  \
        mipointer.o             \
        misprite.o              \
        midispcur.o             \
        miscrinit.o             \
        miclipn.o               \
        migc.o                  \
        micmap.o                \
        mioverlay.o             \
        $(NXAGENT_SKIP_OBJS)    \
        $(NULL)

#if defined(XorgVersion)
/* 
 * Make sure XINPUT, XF86VidTune, etc aren't defined for the miinitext.o 
 * used by Xnest, Xvfb 
 */

#if NXLibraries

/*
 * To build the NX agent we need the XINPUT symbol
 * in order to build the XInputExtension, since we
 * don't use the XF86 module loader.
 */

EXT_DEFINES = ExtensionDefines \
	-UXFree86LOADER

#else

EXT_DEFINES = ExtensionDefines -UXINPUT \
	-UXFree86LOADER
#endif

#endif

INCLUDES = -I.                  \
           -I../include         \
           -I../render          \
           -I../xfixes          \
           -I../damageext       \
           -I../miext/damage    \
           -I$(XINCLUDESRC)     \
           -I$(EXTINCSRC)       \
           -I$(SERVERSRC)/Xext  \
           `pkg-config --cflags-only-I pixman-1` \
           $(NULL)

LINTLIBS =                      \
           ../dix/llib-ldix.ln  \
           ../os/llib-los.ln    \
           $(NULL)

DEFINES  = $(FFS_DEFINES)

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

#ifndef Win32Architecture
NormalLibraryTarget(cbrt,cbrt.o)
#endif

SpecialCObjectRule(miinitext,$(ICONFIGFILES),$(EXT_DEFINES))
SpecialCObjectRule(miscrinit,$(ICONFIGFILES),$(EXT_DEFINES))
#ifdef ItsyCompilerBug
SpecialCObjectRule(mipolycon,$(_NOOP_),-O0)
#endif
#if defined(OpenBSDArchitecture) && defined(Sparc64Architecture)
SpecialCObjectRule(mizerclip,NullParameter,-O0)
#endif

AllTarget($(EXTRAMIINITEXTOBJ))

DependTarget()

InstallDriverSDKNonExecFile(mi.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(mibank.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(mibstore.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(micmap.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(migc.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(miline.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(mipointer.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(mipointrst.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(mizerarc.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(micoord.h,$(DRIVERSDKINCLUDEDIR))