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




XCOMM $XFree86: xc/programs/Xserver/os/Imakefile,v 3.40 2003/09/09 03:20:41 dawes Exp $

/**************************************************************************/
/*                                                                        */
/* 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.                                                   */
/*                                                                        */
/**************************************************************************/
 
#include <Server.tmpl>

/*
 * If you have any extra files to be put into the library, define them here.
 */

#if NXLibraries

NX_INCLUDES = -I../../../../nxcomp

NX_DEFINES = -DNX_TRANS_SOCKET        \
             -DNX_TRANS_AUTH          \
             -DNX_TRANS_FOPEN         \
             -DNX_TRANS_SLEEP         \
             -DNX_TRANS_EXIT          \
             -DNX_TRANS_WAKEUP=1000

#            -DNX_TRANS_WARN          \
#            -DNX_TRANS_INFO          \
#            -DNX_TRANS_TEST          \
#            -DNX_TRANS_DEBUG         \

#endif

/*
 * do not modify the following two definitions
 */

#ifndef OtherSources
#define OtherSources
#endif

#ifndef OtherObjects
#define OtherObjects
#endif

#if HasXdmAuth
XDMAUTHDEFS = -DHASXDMAUTH
XDMAUTHOBJS = xdmauth.o
XDMAUTHSRCS = xdmauth.c
#else
XDMAUTHDEFS = 
XDMAUTHOBJS =
XDMAUTHSCRS =
#endif

#if HasSecureRPC
RPCDEFS = -DSECURE_RPC
RPCOBJS = rpcauth.o
RPCSRCS = rpcauth.c
#else
RPCDEFS =
RPCOBJS =
RPCSRCS =
#endif

#if HasKrb5
KRB5OBJS = k5auth.o k5encode.o
KRB5SRCS = k5auth.c k5encode.c
#endif

#if HasBSD44Sockets
   SOCK_DEFINES = -DBSD44SOCKETS
#endif

#if HasGetIfAddrs
   IFADDRS_DEFINES = -DHAS_GETIFADDRS
#endif

#if BuildLBX
   LBX_SRCS = lbxio.c
   LBX_OBJS = lbxio.o
#else
   LBX_SRCS =
   LBX_OBJS =
#endif

#if !defined(DDXOsColor)
COLOR_SRCS=oscolor.c
COLOR_OBJS=oscolor.o
#endif

#if UseInternalMalloc
MALLOC_SRCS=xalloc.c
MALLOC_OBJS=xalloc.o
#endif

#if !HasSnprintf
SNPRINTF_SRCS = snprintf.c
SNPRINTF_OBJS = snprintf.o
#endif

#if !HasStrlcat
STRLCAT_SRCS = strlcat.c strlcpy.c
STRLCAT_OBJS = strlcat.o strlcpy.o
#endif

#if HasGetpeerucred
GETPEER_DEFINES = -DHAS_GETPEERUCRED
#else
# if HasGetpeereid
GETPEER_DEFINES = -DHAS_GETPEEREID
# endif
#endif

BOOTSTRAPCFLAGS = 
           SRCS = WaitFor.c access.c connection.c io.c $(COLOR_SRCS) \
                  osinit.c utils.c log.c auth.c mitauth.c secauth.c \
                  $(XDMAUTHSRCS) $(RPCSRCS) $(KRB5SRCS) xdmcp.c OtherSources \
                  transport.c $(SNPRINTF_SRCS) $(STRLCAT_SRCS) \
		  $(MALLOC_SRCS) $(LBX_SRCS) xprintf.c
           OBJS = WaitFor.o access.o connection.o io.o $(COLOR_OBJS) \
                  osinit.o utils.o log.o auth.o mitauth.o secauth.o \
                  $(XDMAUTHOBJS) $(RPCOBJS) $(KRB5OBJS) xdmcp.o OtherObjects \
                  transport.o $(SNPRINTF_OBJS) $(STRLCAT_OBJS) \
		  $(MALLOC_OBJS) $(LBX_OBJS) xprintf.o

#if SpecialMalloc
     MEM_DEFINES = -DSPECIAL_MALLOC
#endif /* SpecialMalloc */
#if UseInternalMalloc
     MEM_DEFINES = -DINTERNAL_MALLOC
#endif
#if UseMemLeak
     MEM_DEFINES = -DMEMBUG
#endif
#if UseRgbTxt
    RGB_DEFINES = -DUSE_RGB_TXT
#endif
    DBM_DEFINES = NdbmDefines
    ADM_DEFINES = -DADMPATH=\"$(ADMDIR)/X\%smsgs\"
  XDMCP_DEFINES = ServerXdmcpDefines
   KRB5_DEFINES = Krb5Defines
 XALLOC_DEFINES = XallocDefines
  ERROR_DEFINES = ServerErrorDefines
#if HasPam && HasPamMisc
    PAM_DEFINES = -DUSE_PAM
#endif
        DEFINES = -DXSERV_t -DTRANS_SERVER $(CONNECTION_FLAGS) $(MEM_DEFINES) \
		  $(XDMAUTHDEFS) $(RPCDEFS) $(SIGNAL_DEFINES) $(OS_DEFINES) \
		  $(KRB5_DEFINES) $(RGB_DEFINES) $(GETPEER_DEFINES) \
		  $(RANDOM_DEFINES) $(BUGMSG) $(XTRANS_FAILDEFINES) $(NX_DEFINES)
       INCLUDES = -I. -I../include -I$(XINCLUDESRC) -I$(EXTINCSRC) \
		  -I$(SERVERSRC)/Xext -I$(FONTINCSRC) -I$(SERVERSRC)/render \
		  -I$(TOP)/lib/Xau -I../lbx -I../Xprint Krb5Includes $(NX_INCLUDES)
 DEPEND_DEFINES = $(DBM_DEFINES) $(XDMCP_DEFINES) $(EXT_DEFINES) \
		  $(TRANS_INCLUDES) $(CONNECTION_FLAGS) $(GETPEER_DEFINES) \
		  DependDefines
       LINTLIBS = ../dix/llib-ldix.ln

#ifdef NEED_ALLOCA_FROM_LIBPW
          PWLIB = /lib/libPW.a
#endif /* NEED_ALLOCA_FROM_LIBPW */

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

#ifdef NEED_ALLOCA_FROM_LIBPW
XCOMM
XCOMM And this one is to get the version of alloca that lives in /lib/libPW.a
XCOMM without getting all of the rest of the stuff in there.
XCOMM
alloca.o:  $(PWLIB)
	rm -f alloca.o
	ar x $(PWLIB) alloca.o
#endif /* NEED_ALLOCA_FROM_LIBPW */

SpecialCObjectRule(access,$(ICONFIGFILES),$(XDMCP_DEFINES) $(SOCK_DEFINES) $(IFADDRS_DEFINES))
SpecialCObjectRule(auth,$(ICONFIGFILES),$(XDMCP_DEFINES))
SpecialCObjectRule(xdmauth,$(ICONFIGFILES),$(XDMCP_DEFINES))
SpecialCObjectRule(xdmcp,$(ICONFIGFILES),$(SOCK_DEFINES) $(XDMCP_DEFINES))
SpecialCObjectRule(connection,$(ICONFIGFILES),$(SOCK_DEFINES) $(XDMCP_DEFINES))
SpecialCObjectRule(transport,$(ICONFIGFILES),$(TRANS_INCLUDES) $(CONN_DEFINES) $(SOCK_DEFINES))
LinkSourceFile(transport.c,$(TRANSCOMMSRC))
SpecialCObjectRule(osinit,$(ICONFIGFILES),$(ADM_DEFINES))
SpecialCObjectRule(WaitFor,$(ICONFIGFILES),$(EXT_DEFINES))
SpecialCObjectRule(io,$(ICONFIGFILES),$(EXT_DEFINES))
#if BuildLBX
SpecialCObjectRule(lbxio,$(ICONFIGFILES),$(EXT_DEFINES))
#endif
SpecialCObjectRule(utils,$(ICONFIGFILES),$(XDMCP_DEFINES) $(EXT_DEFINES) $(ERROR_DEFINES) $(PAM_DEFINES))
SpecialCObjectRule(xalloc,$(ICONFIGFILES),$(XALLOC_DEFINES))
#if defined(SparcArchitecture) && HasGcc && !HasGcc2
oscolor.o: oscolor.c $(ICONFIGFILES)
	$(RM) $@
	cc -c $(DBM_DEFINES) $(CDEBUGFLAGS) $(ALLDEFINES) $*.c
#else
SpecialCObjectRule(oscolor,$(ICONFIGFILES),$(DBM_DEFINES))
#endif

#if HasKrb5
LinkSourceFile(k5encode.c,$(XAUTHSRC))
#endif

#if !HasSnprintf
LinkSourceFile(snprintf.c,$(LIBSRC)/misc)
#endif

#if !HasStrlcat
LinkSourceFile(strlcat.c,$(LIBSRC)/misc)
LinkSourceFile(strlcpy.c,$(LIBSRC)/misc)
#endif

#if DoLoadableServer
AllTarget(libcwrapper.o)
ObjectFromSpecialSource(libcwrapper,$(XF86OSSRC)/shared/libc_wrapper,-DSELF_CONTAINED_WRAPPER)
#endif

DependTarget()