# XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:53:28 cpqbld Exp $

#include <Server.tmpl>

#ifdef OS2Architecture
SRCS1 = os2Stub.c
OBJS1 = os2Stub.o
#endif

SRCS =  NXwindow.c \
	NXevents.c \
	NXproperty.c \
	NXmiwindow.c \
	NXdixfonts.c \
	NXglyphcurs.c \
	NXdispatch.c \
	NXrender.c \
	NXglyph.c \
	NXpicture.c \
	NXextension.c \
	Args.c \
	Icon.c \
	Color.c \
	Cursor.c \
	Display.c \
	Events.c \
	Font.c \
	GC.c \
	GCOps.c \
	GetTime.c \
	Handlers.c \
	Init.c \
	Keyboard.c \
	Pixmap.c \
	Pointer.c \
	Screen.c \
	TestExt.c \
	Visual.c \
	Window.c \
	Render.c \
	Control.c \
	Rootless.c \
	Options.c \
	Clipboard.c \
	Splash.c \
        Reconnect.c \
	Error.c \
	Atoms.c \
	Trap.c \
	stubs.c \
	miinitext.c \
	$(SRCS1)

OBJS =  NXwindow.o \
	NXevents.o \
	NXproperty.o \
	NXmiwindow.o \
	NXdixfonts.o \
	NXglyphcurs.o \
	NXdispatch.o \
	NXrender.o \
	NXglyph.o \
	NXpicture.o \
	NXextension.o \
	Args.o \
	Icon.o \
	Color.o \
	Cursor.o \
	Display.o \
	Events.o \
	Font.o \
	GC.o \
	GCOps.o \
	GetTime.o \
	Handlers.o \
	Init.o \
	Keyboard.o \
	Pixmap.o \
	Pointer.o \
	Screen.o \
	TestExt.o \
	Visual.o \
	Window.o \
	Render.o \
	Control.o \
	Rootless.o \
	Options.o \
	Clipboard.o \
	Splash.o \
	Reconnect.o \
	Error.o \
	Atoms.o \
	Trap.o \
	stubs.o \
	miinitext.o \
	$(OBJS1)

VFBINCLUDES = -I../../fb -I../../mfb -I../../render
NXFONTINCLUDES = -I../../../../lib/font/include

INCLUDES = -I../../../../../nxcomp -I../../../../../nxcompext \
	   -I. -I$(XBUILDINCDIR) -I$(FONTINCSRC) \
	   -I../../mi -I../../include -I../../os \
           -I$(EXTINCSRC) -I$(XINCLUDESRC) \
	   $(VFBINCLUDES) $(NXFONTINCLUDES)
#ifdef SunArchitecture
INCLUDES = -I../../../../../nxcomp -I../../../../../nxcompext \
	   -I. -I$(XBUILDINCDIR) -I$(FONTINCSRC) \
	   -I/usr/sfw/include \
	   -I../../mi -I../../include -I../../os \
           -I$(EXTINCSRC) -I$(XINCLUDESRC) \
	   $(VFBINCLUDES) $(NXFONTINCLUDES)
#endif

### NXAGENT Defines:
#
# NXAGENT_INIT_DEBUG               Make it print the version and symbols on startup
#
# NXAGENT_SAFEMODE                 Use a global flag to skip some optimizations
#
# NXAGENT_QUERYBSIZE               Resolve QueryBestSize requests locally
# NXAGENT_CONSTRAINCURSOR          Simplified unused (?) xnestConstrainCursor routine
#
# NXAGENT_FONTCACHE    	           Caching of fonts queries
# NXAGENT_FONTCACHE_SIZE           Number of cache slots
# NXAGENT_FONTCACHE_DEBUG          Debug output of font cache
# NXAGENT_GCHACK                   See GC.c (don't know why, but it works)
# NXAGENT_PIXMAPCACHE              Caching of XGetImage on pixmaps
#
# NXAGENT_BAKSTR      	           Support backingstore and saveunders for windows that
#                                  require them (if the server supports such features)
# NXAGENT_SHAPE	                   Old shape code
#
# NXAGENT_REPARENT                 Experiments on leaving windows to be children of remote root
# NXAGENT_REPARENT_DEBUG           Enable debug output
#
# NXAGENT_GLYPHCACHE
# NXAGENT_GLYPHCACHE_SIZE          Slots for glyph cache
# NXAGENT_SHAPE2 	           New shape code
# NXAGENT_XLIBPARAMS               Let agent pass image related parameters to NX Xlib.
# NXAGENT_STOPBIGREQ  	           When making a PutImage request stop the client if image > -imgstop
# NXAGENT_GETIFOCUS   	           Send GetInputFocus requests and stop the client
# NXAGENT_FONTMATCH  	           Eliminate fonts not existing on remote server
# NXAGENT_FIXKEYS     	           Force the release of pressed key when loosing focus
# NXAGENT_ERRORH      	           Handling of Xlib errors
#
# NXAGENT_EXPOSURES                Manage expose events
# NXAGENT_EXPOSURES_DEBUG          Enable debug output.
#
# NXAGENT_MOTION                   Skip motion events that would be rewritten with the same timestamp.
# NXAGENT_MOTION_DEBUG             Enable debug output.
#
# NXAGENT_CLIPBOARD                Enables clipboard cut and paste function between X servers.
#
# NXAGENT_NOEXPOSEOPTIMIZE         Skip check on GraphicExposures events on CopyPlane and CopyArea.
# NXAGENT_NOEXPOSEOPTIMIZE_DEBUG   Enable debug output.
# NXAGENT_GCOPTIMIZE               Eliminate redundant calls to change GC
# NXAGENT_CONFWINOPTIMIZE          Eliminate some configuration window calls, also under -safe mode control
#
# NXAGENT_HSCREEN
#
# NXAGENT_FONTEXCLUDE              Exclude some specific font names (only "-ult1mo" at this moment).
# NXAGENT FULLSCREEN               Fullscreen mode
# NXAGENT_SHUTDOWN                 Used to let agent exit is no client is connecting before a timeout.
#
# NOTE: NXAGENT_MOTION is not compiled into agent 1.3.1 and
#       can be removed in future versions. NXAGENT_FIXKEYS
#       is still present because of problems on Solaris.
#       NXAGENT_SHUTDOWN is also not defined. Probably we
#       can remove it as well.
#

DEFINES = -g $(OS_DEFINES) $(EXT_DEFINES) -UXINPUT -UMITSHM \
          -UXF86VIDMODE -UXFreeXDGA -UXF86MISC -UXF86DRI -UXFree86LOADER \
          -DNXAGENT_NX_INCLUDE=\"NX.h\"\
          -DNXAGENT_NXPROTO_INCLUDE=\"NXproto.h\"\
          -DNXAGENT_NXPACK_INCLUDE=\"NXpack.h\"\
          -DNXAGENT_NXLIBINT_INCLUDE=\"NXlibint.h\"\
          -DNXAGENT_NXLIB_INCLUDE=\"NXlib.h\"\
          -DNXAGENT_INIT_DEBUG \
          -DNXAGENT_SAFEMODE \
          -DNXAGENT_QUERYBSIZE \
          -DNXAGENT_CONSTRAINCURSOR \
          -DNXAGENT_FONTCACHE -DNXAGENT_FONTCACHE_SIZE=50 \
          -DNXAGENT_BAKSTR \
          -DNXAGENT_GCHACK \
          -DNXAGENT_PIXMAPCACHE \
          -DNXAGENT_GLYPHCACHE -DNXAGENT_GLYPHCACHE_SIZE=50 \
          -DNXAGENT_SHAPE2 \
          -DNXAGENT_GETIFOCUS \
          -DNXAGENT_STOPBIGREQ \
          -DNXAGENT_XLIBPARAMS \
          -DNXAGENT_FIXKEYS \
          -DNXAGENT_FONTMATCH \
          -DNXAGENT_ERRORH  \
          -DNXAGENT_KARMA   \
          -DNXAGENT_CLIPBOARD \
          -DNXAGENT_EXPOSURES \
          -DNXAGENT_NOEXPOSEOPTIMIZE \
          -DNXAGENT_GCOPTIMIZE \
          -DNXAGENT_CONFWINOPTIMIZE \
          -DNXAGENT_LOGO \
          -DNXAGENT_FORCEBACK \
          -DNXAGENT_NEVERSS \
          -DNXAGENT_ONEXIT \
          -DNXAGENT_FONTEXCLUDE \
          -DNXAGENT_FULLSCREEN \
          -DNXAGENT_INTERNALBS \
          -DNXAGENT_PACKEDIMAGES \
          -DNXAGENT_VISIBILITY \
          -DNXAGENT_WAKEUP=1000 \
          -DNXAGENT_ONSTART \
          -DNXAGENT_SPLASH \
          -DNXAGENT_FOCUS_KARMA \
          -DNXAGENT_GETIMAGE \
          -DNXAGENT_MVFB \
          -DNXAGENT_ARTSD \
          -DNXAGENT_KEYMAP \
          -DNXAGENT_RECONNECT

#         -DNXAGENT_LOGO_DEBUG \
#         -DNXAGENT_EXPOSURES_DEBUG \
#         -DNXAGENT_NOEXPOSE_DEBUG \
#         -DNXAGENT_MOTION_DEBUG \
#         -DNXAGENT_GCOPTIMIZE_DEBUG \
#         -DNXAGENT_CONFWINOPTIMIZE_DEBUG \

#         -DNXAGENT_HSCREEN \

#         -DNXAGENT_GETIFOCUS_DEBUG \
#         -DNXAGENT_STOPBIGREQ_DEBUG \


#         -DNXAGENT_MANAGECLIENTS \
#         -DNXAGENT_REPARENT \
#         -DNXAGENT_REPARENT_DEBUG \
#         -DNXAGENT_SHAPE \
#         -DNXAGENT_SWITCH_SLOW_DEBUG \

all:: $(OBJS)

LinkSourceFile(stubs.c,$(SERVERSRC)/Xi)
SpecialCObjectRule(Init,$(ICONFIGFILES),$(_NOOP_))
LinkSourceFile(miinitext.c,$(SERVERSRC)/mi)
SpecialCObjectRule(miinitext,$(ICONFIGFILES),-UDPMSExtension)

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

DependTarget()
