/**************************************************************************/
/*                                                                        */
/* Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com)          */
/* Copyright (c) 2008-2014 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de>  */
/* Copyright (c) 2011-2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>*/
/* Copyright (c) 2014-2016 Mihai Moldovan <ionic@ionic.de>                */
/* Copyright (c) 2014-2016 Ulrich Sibiller <uli42@gmx.de>                 */
/* Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com)           */
/*                                                                        */
/* nx-X11, NX protocol compression and NX extensions to this software     */
/* are copyright of the aforementioned persons and companies.             */
/*                                                                        */
/* Redistribution and use of the present software is allowed according    */
/* to terms specified in the file LICENSE which comes in the source       */
/* distribution.                                                          */
/*                                                                        */
/* All rights reserved.                                                   */
/*                                                                        */
/* NOTE: This software has received contributions from various other      */
/* contributors, only the core maintainers and supporters are listed as   */
/* copyright holders. Please contact us, if you feel you should be listed */
/* as copyright holder, as well.                                          */
/*                                                                        */
/**************************************************************************/

#include <Server.tmpl>

#if HasShm && (!(defined(NXAgentServer) && NXAgentServer))
  SHMSRCS = shm.c
  SHMOBJS = shm.o
#endif

#if BuildScreenSaverExt
  SCRNSAVSRC = saver.c
  SCRNSAVOBJ = saver.o
#endif

#if BuildXF86BigfontExt
XF86BIGFSRCS = xf86bigfont.c
XF86BIGFOBJS = xf86bigfont.o
#if HasShm
 SHM_DEFINES = -DHAS_SHM
#endif
#endif

#if BuildXvExt && ( (defined(NXAgentServer) && NXAgentServer) && !defined(SunArchitecture) && !defined(cygwinArchitecture) )
      XVSRCS = xvmain.c xvmc.c
      XVOBJS = xvmain.o xvmc.o
#elif BuildXvExt
      XVSRCS = xvmain.c xvdisp.c xvmc.c
      XVOBJS = xvmain.o xvdisp.o xvmc.o
#endif

#if BuildXResExt
 XRESSRCS = xres.c
 XRESOBJS = xres.o
#endif

#if BuildXCSecurity
    SECURITYSRCS = security.c
    SECURITYOBJS = security.o
 SERVERCONFIGDIR = ServerConfigDir
   POLICYFILEDEF = -DDEFAULTPOLICYFILE=\"$(SERVERCONFIGDIR)/SecurityPolicy\"
#endif
#if BuildXinerama
        PNRXSRCS = panoramiX.c panoramiXSwap.c panoramiXprocs.c
        PNRXOBJS = panoramiX.o panoramiXSwap.o panoramiXprocs.o
    PNRXINCLUDES = -I../mi -I../render
#endif
#if BuildDPMS
        DPMSSRCS = dpms.c
        DPMSOBJS = dpms.o
#endif

       SRCS = shape.c $(SHMSRCS) xcmisc.c\
              xtest.c xtest1di.c xtest1dd.c sleepuntil.c \
	      bigreq.c sync.c $(SCRNSAVSRC) \
	      $(XF86BIGFSRCS) $(SECURITYSRCS) \
	      $(PNRXSRCS) $(DPMSSRCS) \
	      $(XVSRCS) $(XRESSRCS) $(DMXSRCS)

       OBJS = shape.o $(SHMOBJS) xcmisc.o \
              xtest.o xtest1di.o xtest1dd.o sleepuntil.o \
              bigreq.o sync.o $(SCRNSAVOBJ) \
	      $(XF86BIGFOBJS) $(SECURITYOBJS) \
	      $(PNRXOBJS) $(DPMSOBJS) \
	      $(XVOBJS) $(XRESOBJS) $(DMXOBJS)

      SOBJS = $(SHMOBJS) $(SECURITYOBJS) \
	      shape.o xtest.o xtest1di.o xtest1dd.o sleepuntil.o $(PNRXOBJS) \
	      $(XF86BIGFOBJS)

#if defined(NXAgentServer) && NXAgentServer
NX_DEFINES = -DNXAGENT_SERVER 
#endif


#if defined(XorgVersion)
/* XXX Check if this can be eliminated */
XF86INCLUDES = -I$(XF86COMSRC)
#endif
    INCLUDES = -I. -I../include -I$(XINCLUDESRC) -I$(EXTINCSRC) \
		$(PNRXINCLUDES) \
		$(XF86INCLUDES) \
		$(DMXINCLUDES) \
		`pkg-config --cflags-only-I pixman-1`
    LINTLIBS = ../dix/llib-ldix.ln ../os/llib-los.ln

#if defined(NXAgentServer) && NXAgentServer
     DEFINES = $(EXT_DEFINES) $(XVMCSHM_DEFINES) $(NX_DEFINES)
#else
     DEFINES = $(EXT_DEFINES) $(XVMCSHM_DEFINES)
#endif

NormalLibraryObjectRule()

NormalLibraryTarget(ext,$(OBJS))
LintLibraryTarget(ext,$(SRCS))
NormalLintTarget($(SRCS))

#if BuildXF86BigfontExt
SpecialCObjectRule(xf86bigfont,$(ICONFIGFILES),$(SHM_DEFINES))
#endif
#if BuildXCSecurity
SpecialCObjectRule(security,$(ICONFIGFILES),$(POLICYFILEDEF))
#endif

LinkConfDirectory(xserver,.,xserver,.)

#if BuildXCSecurity && InstallSecurityConfig
InstallNonExecFile(SecurityPolicy,$(SERVERCONFIGDIR))
#endif

DependTarget()

InstallDriverSDKNonExecFile(xvdix.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(xvmcext.h,$(DRIVERSDKINCLUDEDIR))