XCOMM $XConsortium: Imakefile,v 1.76 95/01/05 20:57:42 kaleb Exp $
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'

#ifndef BuildChooser
#define BuildChooser !SystemV
#endif

#ifndef SharedLibXdmGreet
#define SharedLibXdmGreet (defined(AlphaArchitecture) || SystemV4)
#endif

#if HasXdmAuth
XDMAUTH_DEFINES = -DHASXDMAUTH
XDMAUTHOBJS = xdmauth.o
XDMAUTHSRCS = xdmauth.c
#endif

#if HasSecureRPC
RPC_DEFINES = -DSECURE_RPC
RPCOBJS = rpcauth.o
RPCSRCS = rpcauth.c
RPCLIB = -lrpcsvc
#endif

#if HasKrb5
KRB5_DEFINES = Krb5Defines
KRB5_INCLUDE = Krb5Includes
KRB5OBJS = krb5auth.o
KRB5SRCS = krb5auth.c
#endif

#if SharedLibXdmGreet
GREET_DIR = greeter
#if SystemV4
    DLLIB = -ldl
#endif
#else
GREET_DEFINES = -DGREET_USER_STATIC
GREETSRCS = greet.c verify.c Login.c
GREETOBJS = greet.o verify.o Login.o
#endif

#if SystemV4 || HasShadowPasswd
PWD_DEFINES = -DUSESHADOW
#if SystemV || defined(SequentArchitecture)
SYS_LIBRARIES = -lsec
#endif
#ifdef LinuxArchitecture
SYS_LIBRARIES = -lshadow
#endif
#endif

#if defined(UltrixArchitecture)
SYS_LIBRARIES = -lauth
#endif

#if (defined(AIXArchitecture) && (OSMajorVersion >= 3))
SYS_LIBRARIES = -ls
#endif

#if defined(XFree86Version) && HasLibCrypt
SYS_LIBRARIES = -lcrypt
#endif

#if HasBSD44Sockets
SOCK_DEFINES = -DBSD44SOCKETS
#endif

#ifdef i386Architecture
FRAGILE_DEFINES = -DFRAGILE_DEV_MEM
#endif

#if HasVFork
VFORK_DEFINES = -DHAS_VFORK
#endif

   XDMCONFIGDIR = XdmConfigurationSubdirectory
        SUBDIRS = $(GREET_DIR) $(XDMCONFIGDIR)

INCLUDES = $(KRB5_INCLUDE)
DEPLIBS = $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB) $(DEPXAUTHLIB) $(DEPXDMCPLIB)
LOCAL_LIBRARIES = $(XMULIB) $(XTOOLLIB) $(XLIB) $(XAUTHLIB) $(XDMCPLIB) $(RPCLIB) $(DLLIB)

          SRCS1 = auth.c daemon.c server.c dpylist.c dm.c error.c file.c \
		  netaddr.c reset.c resource.c protodpy.c policy.c \
		  session.c socket.c streams.c util.c xdmcp.c \
		  mitauth.c \
		  genauth.c access.c choose.c \
		  $(XDMAUTHSRCS) $(RPCSRCS) $(KRB5SRCS) $(GREETSRCS)
          OBJS1 = auth.o daemon.o server.o dpylist.o dm.o error.o file.o \
		  netaddr.o reset.o resource.o protodpy.o policy.o \
		  session.o socket.o streams.o util.o xdmcp.o \
		  mitauth.o \
		  genauth.o access.o choose.o \
		  $(XDMAUTHOBJS) $(RPCOBJS) $(KRB5OBJS) $(GREETOBJS)
          SRCS2 = xdmshell.c 
          OBJS2 = xdmshell.o 
#if BuildChooser
          SRCS3 = chooser.c
          OBJS3 = chooser.o
       DEPLIBS3 = XawClientDepLibs $(DEPXDMCPLIB)
          LIBS3 = XawClientLibs $(XDMCPLIB)
#endif
       
          SRCS4 = sessreg.c
          OBJS4 = sessreg.o
#if BuildChooser
       PROGRAMS = xdm xdmshell sessreg chooser
#else
       PROGRAMS = xdm xdmshell sessreg
#endif

 OSMAJORVERSION = OSMajorVersion
 OSMINORVERSION = OSMinorVersion
   CONN_DEFINES = ConnectionFlags
        DEFINES = -DBINDIR=\"$(BINDIR)\" -DXDMDIR=\"$(XDMDIR)\" \
		$(SIGNAL_DEFINES) \
		$(XDMAUTH_DEFINES) $(RPC_DEFINES) $(KRB5_DEFINES) \
		$(PWD_DEFINES) $(CONN_DEFINES) \
		$(GREET_DEFINES) $(FRAGILE_DEFINES) \
		-DOSMAJORVERSION=$(OSMAJORVERSION) \
		-DOSMINORVERSION=$(OSMINORVERSION)

XCOMM
XCOMM Special definitions for compiling default resources; these parameters
XCOMM should be set in util/imake.includes/site.def or the appropriate .macros
XCOMM file in that directory.  The lack of initial spaces is to prevent imake
XCOMM from accidently turning the lines into rules by putting a leading tab.
XCOMM
XCOMM Do NOT change these lines!
XCOMM
DEF_SERVER = $(BINDIR)/X
DEF_USER_PATH = DefaultUserPath		/* no leading spaces or imake will */
DEF_SYSTEM_PATH = DefaultSystemPath	/* indent as rule */
BOURNE_SHELL = DefaultSystemShell
RES_DEFINES = '-DDEF_SERVER_LINE=":0 local $(DEF_SERVER) :0"' \
		  '-DXRDB_PROGRAM="$(BINDIR)/xrdb"' \
		  '-DDEF_SESSION="$(BINDIR)/xterm -ls"' \
		  '-DDEF_USER_PATH="$(DEF_USER_PATH)"' \
		  '-DDEF_SYSTEM_PATH="$(DEF_SYSTEM_PATH)"' \
		  '-DDEF_SYSTEM_SHELL="$(BOURNE_SHELL)"' \
		  '-DDEF_FAILSAFE_CLIENT="$(BINDIR)/xterm"' \
		  '-DDEF_XDM_CONFIG="$(XDMDIR)/xdm-config"' \
		  '-DDEF_CHOOSER="$(XDMDIR)/chooser"' \
		  '-DDEF_AUTH_DIR="$(XDMDIR)"' \
		  '-DDEF_GREETER_LIB="$(XDMDIR)/libXdmGreet.so"'

ComplexProgramTarget_1(xdm,$(LOCAL_LIBRARIES),NullParameter)
NormalProgramTarget(xdmshell,$(OBJS2),NullParameter,NullParameter,NullParameter)
NormalProgramTarget(sessreg,$(OBJS4),NullParameter,NullParameter,NullParameter)
InstallProgram(sessreg,$(BINDIR))
#if BuildChooser
SpecialCObjectRule(chooser, $(ICONFIGFILES), $(SOCK_DEFINES))
NormalProgramTarget(chooser,$(OBJS3),$(DEPLIBS3),$(LIBS3),NullParameter)
InstallProgram(chooser,$(XDMDIR))
InstallAppDefaults(Chooser)
#endif

SpecialCObjectRule(auth,$(ICONFIGFILES),$(_NOOP_))
SpecialCObjectRule(policy,$(ICONFIGFILES),$(_NOOP_))
SpecialCObjectRule(resource,$(ICONFIGFILES),$(RES_DEFINES))
SpecialCObjectRule(socket,$(ICONFIGFILES),$(SOCK_DEFINES))
SpecialCObjectRule(xdmcp,$(ICONFIGFILES),$(SOCK_DEFINES))
SpecialCObjectRule(xdmshell,$(ICONFIGFILES),$(VFORK_DEFINES))

#if !SharedLibXdmGreet
LinkSourceFile(greet.c,greeter)
LinkSourceFile(verify.c,greeter)
LinkSourceFile(Login.c,greeter)
LinkSourceFile(Login.h,greeter)
LinkSourceFile(LoginP.h,greeter)
#endif /* !SharedLibXdmGreet */

#ifdef IHaveSubdirs
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
#endif

/*
 * Don't install; let people read the instructions about putting in the
 * abort-display() resource:
 */
#ifdef comment
InstallProgramWithFlags(xdmshell,$(BINDIR),NullParameter)
#endif
