#include <Server.tmpl>


NULL =

SUBDIRS = compext \
          $(NULL)

SRCS =  \
	NXwindow.c \
	NXevents.c \
	NXproperty.c \
	NXdixfonts.c \
	NXglyphcurs.c \
	NXdispatch.c \
	NXrender.c \
	NXglyph.c \
	NXpicture.c \
	NXextension.c \
	NXshm.c \
        NXglxext.c \
        NXxvdisp.c \
        NXresource.c \
	NXdamage.c \
	NXmitrap.c \
	Args.c \
	Binder.c \
	BitmapUtils.c \
	Colormap.c \
	Cursor.c \
	Dialog.c \
	Display.c \
	Events.c \
	Font.c \
	GC.c \
	GCOps.c \
	Millis.c \
	Handlers.c \
	Init.c \
	Keyboard.c \
	Keystroke.c \
	Pointer.c \
	Screen.c \
	Visual.c \
	Drawable.c \
	Window.c \
	Pixmap.c \
	Render.c \
	Client.c \
	Rootless.c \
	Extensions.c \
	Options.c \
	Clipboard.c \
	Splash.c \
	Split.c \
	Holder.c \
        Reconnect.c \
	Error.c \
	Atoms.c \
	Trap.c \
	Image.c \
	Composite.c \
	Pixels.c \
	stubs.c \
	xpstubs.c \
	miinitext.c \
	$(NULL)

OBJS =  \
	NXwindow.o \
	NXevents.o \
	NXproperty.o \
	NXdixfonts.o \
	NXglyphcurs.o \
	NXdispatch.o \
	NXrender.o \
	NXglyph.o \
	NXpicture.o \
	NXextension.o \
	NXshm.o \
        NXglxext.o \
        NXxvdisp.o \
        NXresource.o \
	NXdamage.o \
	NXmitrap.o \
	Args.o \
	Binder.o \
	BitmapUtils.o \
	Colormap.o \
	Cursor.o \
	Dialog.o \
	Display.o \
	Events.o \
	Font.o \
	GC.o \
	GCOps.o \
	Millis.o \
	Handlers.o \
	Init.o \
	Keyboard.o \
	Keystroke.o \
	Pointer.o \
	Screen.o \
	Visual.o \
	Drawable.o \
	Window.o \
	Pixmap.o \
	Render.o \
	Client.o \
	Rootless.o \
	Extensions.o \
	Options.o \
	Clipboard.o \
	Splash.o \
	Split.o \
	Holder.o \
	Reconnect.o \
	Error.o \
	Atoms.o \
	Trap.o \
	Image.o \
	Composite.o \
	Pixels.o \
	stubs.o \
	xpstubs.o \
	miinitext.o \
	$(NULL)

VFBINCLUDES =  \
	-I../../fb \
	-I../../mfb \
	-I../../render \
	$(NULL)

INCLUDES = \
	-I. \
	-I../../../../extras/Mesa/include \
	-I$(XBUILDINCDIR) \
	-I../../mi \
	-I../../include \
	-I../../os \
	-I../../miext/damage \
	-I../../miext/cw \
	-I../../GL/glx \
	-I../../GL/include \
	-I../../../../lib/GL/include \
	-I../../Xext \
	-I../../../../lib/include/X11 \
	-I$(EXTINCSRC) -I$(XINCLUDESRC) \
	$(VFBINCLUDES) \
	`pkg-config --cflags-only-I libxml-2.0` \
	`pkg-config --cflags-only-I pixman-1` \
	$(NULL)
#ifdef SunArchitecture
INCLUDES = \
	-I. \
	-I../../../../extras/Mesa/include \
	-I$(XBUILDINCDIR) \
	-I/usr/sfw/include \
	-I../../mi \
	-I../../include \
	-I../../os \
	-I../../GL/glx \
	-I../../GL/include \
	-I../../../../lib/GL/include \
	-I../../Xext \
	-I../../miext/damage \
	-I../../miext/cw \
	-I../../../../lib/include/X11 \
	-I$(EXTINCSRC) -I$(XINCLUDESRC) \
	$(VFBINCLUDES) \
	`pkg-config --cflags-only-I libxml-2.0` \
	`pkg-config --cflags-only-I pixman-1` \
	$$(pkg-config --exists 'zlib' >/dev/null 2>&1 && pkg-config --cflags-only-I 'zlib') \
	`pkg-config --cflags-only-I libpng` \
	$(NULL)
#else
#ifdef cygwinArchitecture
INCLUDES = \
	-I. -I$(XBUILDINCDIR) \
	-I../../mi \
	-I../../include \
	-I../../os \
	-I../../GL/glx \
	-I../../GL/include \
	-I../../../../lib/GL/include \
	-I../../Xext \
	-I../../miext/damage \
	-I../../miext/cw \
	-I../../../../../nxcomp \
	-I../../../../../nxcompshad \
	-I../../../../extras/Mesa/include \
	-I../../../../lib/include/X11 \
	-I$(EXTINCSRC) -I$(XINCLUDESRC) \
	$(VFBINCLUDES) \
	`pkg-config --cflags-only-I libxml-2.0` \
	`pkg-config --cflags-only-I pixman-1` \
	$$(pkg-config --exists 'zlib' >/dev/null 2>&1 && pkg-config --cflags-only-I 'zlib') \
	`pkg-config --cflags-only-I libpng` \
	$(NULL)
#endif
#endif

### NXAGENT Defines:
#
# NXAGENT_FONTCACHE_SIZE           Number of cache slots
# NXAGENT_SHAPE	                   Old shape code
# NXAGENT_GLYPHCACHE
# NXAGENT_GLYPHCACHE_SIZE          Slots for glyph cache
# NXAGENT_SHAPE2 	           New shape code
# NXAGENT_FIXKEYS     	           Force the release of pressed key when losing focus
# NXAGENT_EXPOSURES                Manage expose events
# NXAGENT_CLIPBOARD                Enables clipboard cut and paste function between X servers.
# NXAGENT_FONTEXCLUDE              Exclude some specific font names (only "-ult1mo" at this moment).
# NXAGENT FULLSCREEN               Fullscreen mode
# NXAGENT_RANDR_MODE_PREFIX        Use prefixed (i.e., nx_<x>x<y>) RandR modes
# NXAGENT_RANDR_XINERAMA_CLIPPING  cut off invisible window parts in xinerama mode (you probably do not want this)

#if nxVersion
NX_DEFINES = \
	-DNX_VERSION_CURRENT="$(NX_VERSION_CURRENT)" \
	-DNX_VERSION_CURRENT_STRING="\"$(NX_VERSION_CURRENT_STRING)\"" \
	$(NULL)
#endif

DEFINES = \
	-g $(OS_DEFINES) $(EXT_DEFINES) $(NX_DEFINES) \
        -UXF86VIDMODE -UXFreeXDGA -UXF86MISC -UXF86DRI \
        -DNXAGENT_SERVER \
        -DNXAGENT_CONSTRAINCURSOR \
        -DNXAGENT_FONTCACHE_SIZE=50 \
        -DNXAGENT_GLYPHCACHE -DNXAGENT_GLYPHCACHE_SIZE=50 \
        -DNXAGENT_RENDER_CLEANUP \
        -DNXAGENT_SHAPE2 \
        -DNXAGENT_FIXKEYS \
        -DNXAGENT_CLIPBOARD \
        -DNXAGENT_EXPOSURES \
        -DNXAGENT_FONTEXCLUDE \
        -DNXAGENT_PACKEDIMAGES \
        -DNXAGENT_VISIBILITY \
        -DNXAGENT_WAKEUP=1000 \
        -DNXAGENT_ONSTART \
        -DNXAGENT_SPLASH \
        -DNXAGENT_ARTSD \
        -DNXAGENT_RANDR_MODE_PREFIX \
        -UNX_DEBUG_INPUT \
	-DRANDR_10_INTERFACE=1 \
	-DRANDR_12_INTERFACE=1 \
	-DRANDR_13_INTERFACE=1 \
	-DRANDR_14_INTERFACE=1 \
	-DRANDR_15_INTERFACE=1 \
        -DPANORAMIX \
        -UDEBUG_TREE \
        -DSYSTEMFONTDIR=\"$(SYSTEMFONTDIR)\" \
	$(NULL)

all:: $(OBJS)

LinkSourceFile(stubs.c,$(SERVERSRC)/Xi)
LinkSourceFile(xpstubs.c,$(SERVERSRC)/dix)
LinkSourceFile(miinitext.c,$(SERVERSRC)/mi)
SpecialCObjectRule(miinitext,$(ICONFIGFILES), $(_NOOP_))

NormalLibraryObjectRule()
NormalLibraryTarget(nxagent,$(OBJS))

DependTarget()

#define IHaveSubdirs
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))