XCOMM $XConsortium: Imakefile,v 1.6 94/01/19 17:18:42 rob Exp $
#define DoThreadedServer XServerThreaded
#include <Server.tmpl>

#if (SystemV || SystemV4) && !HasSockets
#undef ConnectionFlags
#define ConnectionFlags -DTCPCONN -DUNIXCONN
#endif

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

#ifdef HPArchitecture
#define OtherSources hpsocket.c 
#define OtherObjects hpsocket.o
#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

BOOTSTRAPCFLAGS = 

#if DoThreadedServer
        MT_SRCS = dit.c message.c signal.c
        MT_OBJS = dit.o message.o signal.o
#endif

           SRCS = WaitFor.c access.c connection.c io.c \
		  oscolor.c osinit.c utils.c auth.c mitauth.c \
		  $(XDMAUTHSRCS) $(RPCSRCS) $(KRB5SRCS) xdmcp.c \
		  decompress.c $(MT_SRCS) OtherSources
           OBJS = WaitFor.o access.o connection.o io.o \
		  oscolor.o osinit.o utils.o auth.o mitauth.o \
		  $(XDMAUTHOBJS) $(RPCOBJS) $(KRB5OBJS) xdmcp.o \
		  decompress.o $(MT_OBJS) OtherObjects
#if SpecialMalloc
     MEM_DEFINES = -DSPECIAL_MALLOC
#endif /* SpecialMalloc */
    DBM_DEFINES = NdbmDefines
    ADM_DEFINES = -DADMPATH=\"$(ADMDIR)/X\%smsgs\"
    EXT_DEFINES = ExtensionDefines
  XDMCP_DEFINES = ServerXdmcpDefines
     OS_DEFINES = ServerOSDefines
   KRB5_DEFINES = Krb5Defines
        DEFINES = ConnectionFlags $(MEM_DEFINES) $(XDMAUTHDEFS) $(RPCDEFS) $(SIGNAL_DEFINES) $(OS_DEFINES) $(KRB5_DEFINES)
       INCLUDES = -I.  -I../include -I$(INCLUDESRC) -I$(TOP)/lib/Xau Krb5Includes
 DEPEND_DEFINES = $(DBM_DEFINES) $(XDMCP_DEFINES) $(EXT_DEFINES)
       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))
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(osinit,$(ICONFIGFILES),$(ADM_DEFINES))
SpecialCObjectRule(WaitFor,$(ICONFIGFILES),$(EXT_DEFINES))
SpecialCObjectRule(io,$(ICONFIGFILES),$(EXT_DEFINES))
SpecialCObjectRule(utils,$(ICONFIGFILES),$(XDMCP_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

LinkSourceFile(access.c,$(SERVERSRC)/os)
LinkSourceFile(oscolor.c,$(SERVERSRC)/os)
LinkSourceFile(osinit.c,$(SERVERSRC)/os)
LinkSourceFile(auth.c,$(SERVERSRC)/os)
LinkSourceFile(mitauth.c,$(SERVERSRC)/os)
LinkSourceFile(decompress.c,$(SERVERSRC)/os)
#if HasXdmAuth
LinkSourceFile(xdmauth.c,$(SERVERSRC)/os)
#endif
#if HasSecureRPC
LinkSourceFile(rpcauth.c,$(SERVERSRC)/os)
#endif
#if HasKrb5
LinkSourceFile(k5auth.c,$(SERVERSRC)/os)
LinkSourceFile(k5encode.c,$(XAUTHSRC))
#endif

DependTarget()
