# BuildSystemHeader added automatically
/**/# $Header: [Imakefile,v 1.16.1.23 92/06/04 14:49:15 haney Exp ]$
/*
 * Server Master Makefile
 */

#include <Server.tmpl>
#include <DPS.tmpl>

#if defined(XhpServer) || HasInputExtension
      OTHEREXTS = $(EXTENSIONSRC)/server/xinput/libxinput.a
#else
      OTHEREXTS = /* as nothing */
#endif
     EXTENSIONS = $(OTHEREXTS) $(EXTENSIONSRC)/server/libext.a \
		  $(EXTENSIONSRC)/server/smt/libsmt.a \
		  $(EXTENSIONSRC)/ip/libip.a 

     EXTENSIONSVAX = $(OTHEREXTS) $(EXTENSIONSRC)/server/libext.a

     EXTENSIONS3D = $(OTHEREXTS) $(EXTENSIONSRC)/server/libext3d.a \
		  $(EXTENSIONSRC)/server/smt/libsmt.a \
		  $(EXTENSIONSRC)/ip/libip.a \
		  $(EXTENSIONSRC)/server/dblbuf/libdblbuf.a

         EXTDIR = $(EXTENSIONSRC)/server \
		  $(EXTENSIONSRC)/ip

         EXTDIRVAX = $(EXTENSIONSRC)/server

#ifdef NOTDEF
    FONTUTILDIR = $(FONTSRC)/mkfontdir
       FONTUTIL = $(FONTUTILDIR)/fontdir.o
#endif
    FONTUTILDIR = $(FONTSRC)/lib
       FONTLIBS=  \
                  $(FONTSRC)/lib/os/libfontos.a \
		  $(FONTSRC)/lib/bdf/libbdf.a \
		  $(FONTSRC)/lib/pcf/libpcf.a \
                  $(FONTSRC)/lib/utils/libfontutils.a \
                  $(FONTSRC)/lib/os/libfontos.a \
		  $(FONTSRC)/lib/bdf/libbdf.a \
                  $(FONTSRC)/lib/utils/libfontutils.a \
		  $(FONTSRC)/lib/pcf/libpcf.a
            BSD = os/4.2bsd/libos.a $(XAULIB) $(XDMCPLIB)
        BSDEMUL = os/bsdemul/libbsdemul.a
           SYSV = os/sysV/libos.a
            MFB = ddx/mfb/libmfb.a
            CFB = ddx/dec/cfb/libcfb.a
        MIT_CFB = ddx/cfb/libcfb.a
            TFB = ddx/dec/tfb/libtfb.a
             HX = ddx/dec/sfb/libsfb.a
             MX = ddx/dec/mx/libmx.a
            ROP = ddx/dec/rop/librop.a
             MI = ddx/mi/libmi.a
            DIX = dix/libdix.a
            SNF = ddx/snf/libsnf.a
         APOLLO = ddx/apollo/libapollo.a
            APC = ddx/apollo/apc/libapc.a
            SUN = ddx/sun/libsun.a
          MACII = ddx/macII/libmacII.a
            TEK = ddx/tek/libtek.a
         XAULIB = $(TOP)/lib/Xau/libXau.a
       XDMCPLIB = $(TOP)/lib/Xdmcp/libXdmcp.a
      EXTDILIBS = $(EXTENSIONSRC)/server/dps/ddx/mi/libdpsmi.a \
		$(EXTENSIONSRC)/server/dps/dix/libdpsdix.a \
		$(EXTENSIONSRC)/server/dps/os/libdpsos.a \
		$(PSRELEASEDIR)/coroutine.a \
		$(PSRELEASEDIR)/device.a \
		$(PSRELEASEDIR)/devpattern.a \
		$(PSRELEASEDIR)/stream.a \
		$(PSRELEASEDIR)/stodev.a \
		$(PSRELEASEDIR)/fp.a \
		$(PSRELEASEDIR)/pslib.a 
        SYSLIBS = DEC_SysLibUndefs \
		-lm -ldbm -ldnet
#ifdef DEC_SpecialMalloc
     MALLOCDIRS = DEC_MallocDir
     MALLOCLIBS = DEC_MallocLib
     MALLOCOBJS = 
#endif
#ifdef ATD_SpecialMalloc
     ATDMALLOCDIRS = ATD_MallocDir
     ATDMALLOCLIBS = ATD_MallocLib
     ATDMALLOCOBJS = 
#endif

/**/#
/**/# This turns off the default rule for compiling .c files because
/**/# this makefile does not really know how to build it.  This is really
/**/# just a hack because of sun's version of make and nfs.
/**/#
.c.o:




/*****************************************************************************
 *                                                                           * 
 *                            To add a new server                            *
 *                                                                           * 
 *     1.  Add an #ifdef block at the end of the following list.  It should  *
 *         determine whether or not a particular server is being built by    *
 *         checking to see if the symbol X<what>Server is defined:           *
 *                                                                           * 
 *             If so, then define a symbol do<what>Server                    * 
 *             If not, then define X<what>Server to be an empty comment      * 
 *                                                                           * 
 *     2.  Add the X<what>Server to the end of the ALL line below.           * 
 *                                                                           * 
 *     3.  Add the name of the server to the ALLPOSSIBLE list below.         * 
 *                                                                           * 
 *     4.  Add a set of object file definitions and build rules.             * 
 *                                                                           * 
 *****************************************************************************/

#ifdef	XqvsmServer
#define doqvsmServer
#else
#define	XqvsmServer /* as nothing */
#endif

#ifdef	XqdsgServer
#define doqdsgServer
#else
#define	XqdsgServer /* as nothing */
#endif

#ifdef XmfbServer
#define domfbServer
#else
#define XmfbServer /* as nothing */
#endif

#ifdef XcfbServer
#define docfbServer
#else
#define XcfbServer /* as nothing */
#endif

#ifdef XwsServer
#define dowsServer
#else
#define XwsServer /* as nothing */
#endif

#ifdef XtxServer
#define dotxServer
#else
#define XtxServer /* as nothing */
#endif

#ifdef XhxServer
#define dohxServer
#else
#define XhxServer
#endif

#ifdef XwstServer
#define dowstServer
#else
#define XwstServer /* as nothing */
#endif

#ifdef Xwst3dServer
#define dowst3dServer
#else
#define Xwst3dServer /* as nothing */
#endif

#ifdef XwsMITServer
#define dowsMITServer
#else
#define XwsMITServer /* as nothing */
#endif

#ifdef	XsunServer
#define dosunServer
#else
#define	XsunServer /* as nothing */
#endif

#ifdef	XhpServer
#define dohpServer
#else
#define	XhpServer /* as nothing */
#endif

#ifdef	XapolloServer
#define doapolloServer
#else
#define	XapolloServer /* as nothing */
#endif

#ifdef	XibmServer
#define doibmServer
#else
#define	XibmServer /* as nothing */
#endif

#ifdef	XtekServer
#define dotekServer
#else
#define	XtekServer /* as nothing */
#endif

#ifdef	XmacIIServer
#define domacIIServer
#else
#define	XmacIIServer /* as nothing */
#endif

#ifdef Xcfb3maxServer
#define docfb3maxServer
#else
#define Xcfb3maxServer /* as nothing */
#endif

/*****************************************************************************
 *                                                                           *
 * Now add X<what>Server to the ALL line; do NOT split across lines or you   *
 * will confuse make.  Then, add the name of the server to ALLPOSSIBLE.      *
 *                                                                           *
 * Add servers to NONINSTALL only if don't want them installed regardless.   *
/*****************************************************************************
 */
ALL = $(ALLINSTALL) $(ALLNONINSTALL)
ALLINSTALL = XqvsmServer XqdsgServer XsunServer XapolloServer XibmServer XhpServer XmacIIServer XtekServer Xcfb3maxServer XwstServer Xwst3dServer XtxServer
ALLNONINSTALL = XcfbServer XmfbServer XwsMITServer

all: $(ALL)


/*****************************************************************************
 *		  Build rule blocks, add one for each server                 *
 *****************************************************************************/


#ifdef doqvsmServer
/**/#
/**/# qvsm server
/**/#
#define need_dix
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_dec_initext
#define need_ddx_dec_lk201
#define need_ddx_dec_qvsm
#define need_os_42bsd
QVSMDIRS = dix ddx/mi ddx/mfb ddx/dec/lk201 ddx/dec/qvss ddx/dec/initext \
           os/4.2bsd $(MALLOCDIRS)
QVSMOBJS = ddx/dec/qvss/init.o ddx/dec/qvss/qvss_io.o ddx/dec/lk201/lk201.o \
           ddx/dec/initext/ddinitext.o $(MALLOCOBJS)
QVSMLIBS = $(DIX) $(MALLOCLIBS) $(BSD) $(MFB) $(MI) $(EXTENSIONSVAX) $(FONTLIBS) 
QVEXTDDOBJS = $(EXTENSIONSRC)/server/dps/ddx/mfb/initmark.o
QVEXTDDLIBS = $(EXTENSIONSRC)/server/dps/ddx/mfb/libdpsmfb.a
XqvsmDIRS = $(QVSMDIRS)

ServerTarget(Xqvsm,$(EXTDIRVAX) $(FONTUTILDIR) $(QVSMDIRS),$(QVSMOBJS),$(QVSMLIBS),$(QVEXTDDOBJS) $(EXTDILIBS) $(QVEXTDDLIBS) $(SYSLIBS))
#endif /* doqvsmServer */



#ifdef doqdsgServer
/**/#
/**/# qdsg server
/**/#
#define need_dix
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_dec_initext
#define need_ddx_dec_lk201
#define need_ddx_dec_qdsg
#define need_os_42bsd
QDSGDIRS = dix ddx/mi ddx/mfb ddx/dec/lk201 ddx/dec/qdss ddx/dec/initext \
           ddx/dec/qdss/libtl os/4.2bsd $(MALLOCDIRS)
QDSGOBJS = ddx/dec/qdss/init.o ddx/dec/qdss/qdss_io.o ddx/dec/lk201/lk201.o \
           ddx/dec/initext/ddinitext.o $(MALLOCOBJS)
QDSGLIBS = ddx/dec/qdss/libqdss.a ddx/dec/qdss/libtl/libtl.a \
           ddx/dec/qdss/libqdss.a \
           $(DIX) $(MALLOCLIBS) $(BSD) $(MFB) $(MI) $(EXTENSIONSVAX) $(FONTLIBS) 
QDEXTDDOBJS = $(EXTENSIONSRC)/server/dps/ddx/qdss/initmark.o
QDEXTDDLIBS = $(EXTENSIONSRC)/server/dps/ddx/qdss/libdpsqdss.a
XqdsgDIRS = $(QDSGDIRS)

ServerTarget(Xqdsg,$(EXTDIRVAX) $(FONTUTILDIR) $(QDSGDIRS),$(QDSGOBJS),$(QDSGLIBS),$(QDEXTDDOBJS) $(EXTDILIBS) $(QDEXTDDLIBS) $(SYSLIBS))
#endif /* doqdsgServer */

#ifdef domfbServer
/**/#
/**/# mfb server
/**/#
#define need_dix
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_dec_lk201
#define need_ddx_dec_mfb
#define need_os_42bsd
PMAXMFBDIRS = dix ddx/mi ddx/mfb ddx/dec/lk201 ddx/dec/mfbpmax \
		os/4.2bsd $(MALLOCDIRS)
PMAXMFBOBJS = ddx/dec/mfbpmax/init.o ddx/dec/mfbpmax/mfbpmax_io.o \
	      ddx/dec/lk201/lk201.o  \
	      $(EXTENSIONSRC)/server/dps/ddx/mfb/initmark.o $(MALLOCOBJS)
PMAXMFBLIBS = $(EXTENSIONSRC)/server/dps/ddx/mfb/libdpsmfb.a  \
	      $(DIX) $(MALLOCLIBS) $(BSD) $(MFB) $(MI) $(EXTENSIONS) $(FONTLIBS)
XmfbDIRS = $(PMAXMFBDIRS)

ServerTarget(Xmfb,$(EXTDIR) $(FONTUTILDIR) $(PMAXMFBDIRS),$(PMAXMFBOBJS),$(PMAXMFBLIBS),$(SYSLIBS))
#endif /* domfbServer */

#ifdef docfbServer
/**/#
/**/# cfb server
/**/#
#define need_dix
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_cfb
#define need_ddx_dec_lk201
#define need_ddx_dec_cfb
#define need_os_42bsd
PMAXCFBDIRS = dix ddx/mi ddx/mfb ddx/dec/cfb ddx/dec/lk201 ddx/dec/cfbpmax \
		os/4.2bsd $(MALLOCDIRS)
PMAXCFBOBJS =  $(EXTENSIONSRC)/server/dps/ddx/cfb/initmark.o \
	ddx/dec/cfbpmax/init.o ddx/dec/cfbpmax/cfbpmax_io.o\
	ddx/dec/cfbpmax/cfbpmaxcolor.o ddx/dec/lk201/lk201.o $(MALLOCOBJS)
PMAXCFBLIBS =  $(EXTENSIONSRC)/server/dps/ddx/cfb/libdpscfb.a \
		$(DIX) $(MALLOCLIBS) $(BSD) $(CFB) $(MFB) $(MI) $(EXTENSIONS) \
		$(FONTLIBS)
XcfbDIRS = $(PMAXCFBDIRS)

ServerTarget(Xcfb,$(EXTDIR) $(FONTUTILDIR) $(PMAXCFBDIRS),$(PMAXCFBOBJS),$(PMAXCFBLIBS),$(SYSLIBS))
#endif /* docfbServer */


#ifdef dowsServer
/**/#
/**/# ws server
/**/#
#define need_dix
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_cfb
#define need_ddx_dec_ws
#define need_ddx_dec_mx
#define need_os_42bsd
#define need_ddx_dec_initext
MAXWSDIRS = dix ddx/mi ddx/mfb ddx/dec/cfb ddx/dec/ws ddx/dec/mx os/4.2bsd \
	ddx/dec/initext $(MALLOCDIRS)
MAXWSOBJS = ddx/dec/ws/init.o ddx/dec/ws/cfbinit.o ddx/dec/ws/ws_io.o\
	ddx/dec/ws/ext_device.o ddx/dec/ws/ws_color.o ddx/dec/ws/acc_none.o \
	$(MALLOCOBJS) ddx/dec/initext/ddinitext.o
MAXWSLIBS = $(DIX) $(MALLOCLIBS) $(BSD) $(CFB) $(MFB) $(MI) $(EXTENSIONS) \
	$(FONTLIBS) $(MX)
EXTDDOBJS = $(EXTENSIONSRC)/server/dps/ddx/cfb/initmark.o \
	    $(EXTENSIONSRC)/server/dps/ddx/mfb/initmark.o
EXTDDLIBS = $(EXTENSIONSRC)/server/dps/ddx/cfb/libdpscfb.a \
	    $(EXTENSIONSRC)/server/dps/ddx/mfb/libdpsmfb.a
XwsDIRS = $(MAXWSDIRS)

ServerTarget(Xws,$(EXTDIR) $(FONTUTILDIR) $(MAXWSDIRS),$(MAXWSOBJS),$(MAXWSLIBS), $(EXTDDOBJS) $(EXTDILIBS) $(EXTDDLIBS) $(SYSLIBS))
#endif /* dowsServer */

#ifdef dotxServer
/**/#
/**/# tx server (RasterOps turbo channel board)
/**/#
#define need_dix
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_cfb
#define need_ddx_dec_rop
#define need_ddx_dec_tfb
#define need_os_42bsd
#define need_ddx_dec_initext
#define need_ext_xv
#define need_ddx_dec_mx
XTXDIRS = dix ddx/mi ddx/mfb ddx/dec/cfb ddx/dec/tfb ddx/dec/rop ddx/dec/ws \
        os/4.2bsd ddx/dec/initext $(EXTENSIONSRC)/xv/server $(MALLOCDIRS)
XTXOBJS = $(EXTENSIONSRC)/server/dps/ddx/cfb/initmark.o \
	$(EXTENSIONSRC)/server/dps/ddx/mfb/initmark.o\
        ddx/dec/ws/init.o ddx/dec/ws/cfbinit.o ddx/dec/ws/ws_io.o\
        ddx/dec/ws/ext_device.o ddx/dec/ws/ws_color.o ddx/dec/ws/acc_rop.o \
        $(MALLOCOBJS) ddx/dec/initext/txinitext.o
XTXLIBS = $(EXTENSIONSRC)/server/dps/ddx/cfb/libdpscfb.a \
        $(DIX) $(MALLOCLIBS) $(BSD) $(ROP) $(TFB) $(CFB) $(MFB) $(MI) \
        $(EXTENSIONS) $(FONTLIBS) $(MX) \
        $(EXTENSIONSRC)/xv/server/libxv.a $(ROP)
XTXEXTDDLIBS = $(EXTENSIONSRC)/server/dps/ddx/cfb/libdpscfb.a \
	       $(EXTENSIONSRC)/server/dps/ddx/mfb/libdpsmfb.a

ServerTarget(Xtx,$(EXTDIR) $(FONTUTILDIR) $(XTXDIRS),$(XTXOBJS),$(XTXLIBS), $(EXTDILIBS) $(XTXEXTDDLIBS) $(SYSLIBS))
#endif /* dotxServer */

#ifdef dohxServer
/**/#
/**/# hx server (RasterOps turbo channel board)
/**/#
#define need_dix
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_cfb
#define need_ddx_dec_sfb
#define need_os_42bsd
#define need_ddx_dec_initext
#define need_ext_xv
#define need_ddx_dec_mx
MAXHXDIRS = dix ddx/mi ddx/mfb ddx/dec/cfb ddx/dec/sfb ddx/dec/ws \
        os/4.2bsd ddx/dec/initext $(MALLOCDIRS)
EXTDDOBJS = $(EXTENSIONSRC)/server/dps/ddx/cfb/initmark.o \
	    $(EXTENSIONSRC)/server/dps/ddx/mfb/initmark.o
MAXHXOBJS = ddx/dec/ws/init.o ddx/dec/ws/cfbinit.o ddx/dec/ws/ws_io.o\
        ddx/dec/ws/ext_device.o ddx/dec/ws/ws_color.o \ 
        ddx/dec/ws/acc_sfb.o $(MALLOCOBJS) ddx/dec/initext/ddinitext.o
EXTDDLIBS = $(EXTENSIONSRC)/server/dps/ddx/cfb/libdpscfb.a \
	    $(EXTENSIONSRC)/server/dps/ddx/mfb/libdpsmfb.a
MAXHXLIBS = $(DIX) $(MALLOCLIBS) $(BSD) $(HX) $(CFB) $(MFB) $(MI) \
        $(EXTENSIONS) $(FONTLIBS) $(MX)

XhxDIRS = $(MAXHXDIRS)

ServerTarget(Xhx,$(EXTDIR) $(FONTUTILDIR) $(MAXHXDIRS),$(MAXHXOBJS),$(MAXHXLIBS), $(EXTDDOBJS) $(EXTDILIBS) $(EXTDDLIBS) $(SYSLIBS))
#endif /* dohxServer */

#ifdef dowsMITServer
/**/#
/**/# MIT CFB ws server
/**/#
#define need_dix
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_cfb
#define need_ddx_mit_cfb
#define need_ddx_dec_ws
#define need_os_42bsd
MAXWSMITDIRS = dix ddx/mi ddx/mfb ddx/cfb ddx/dec/ws os/4.2bsd $(MALLOCDIRS)
MAXWSMITOBJS = $(EXTENSIONSRC)/server/dps/ddx/cfb/initmark.o \
	ddx/dec/ws/init.o ddx/dec/ws/cfbinit.o ddx/dec/ws/ws_io.o\
	ddx/dec/ws/ext_device.o ddx/dec/ws/ws_color.o ddx/dec/ws/acc_none.o \
	$(MALLOCOBJS)
MAXWSMITLIBS = $(EXTENSIONSRC)/server/dps/ddx/cfb/libdpscfb.a \
	$(DIX) $(MALLOCLIBS) $(BSD) $(MIT_CFB) $(MFB) $(MI) $(EXTENSIONS) \
	$(FONTLIBS)

XwsDIRS = $(MAXWSMITDIRS)

ServerTarget(XwsMIT,$(EXTDIR) $(FONTUTILDIR) $(MAXWSMITDIRS),$(MAXWSMITOBJS),$(MAXWSMITLIBS),$(SYSLIBS))
#endif /* dowsServer */



#ifdef dowstServer
/**/#
/**/# wst server (PX multiscreen)
/**/#
#define need_dix
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_cfb
#define need_ddx_dec_sfb
#define need_ddx_dec_ws
#define need_ddx_dec_px
#define need_os_42bsd
#define need_ddx_dec_mx
#define need_ddx_dec_initext

MAXWSTDIRS = dix ddx/mi ddx/mfb ddx/dec/cfb ddx/dec/sfb ddx/dec/px \
	     ddx/dec/ws ddx/dec/mx os/4.2bsd \
	     ddx/dec/initext $(ATDMALLOCDIRS)
MAXWSTOBJS = ddx/dec/ws/init.o ddx/dec/ws/cfbinit.o ddx/dec/ws/ws_io.o\
	ddx/dec/ws/ext_device.o ddx/dec/ws/ws_color.o ddx/dec/ws/acc_2da.o \
	$(ATDMALLOCOBJS) ddx/dec/initext/ddinitext.o
MAXWSTLIBS = ddx/dec/px/libtm2d.a \
	$(DIX) $(ATDMALLOCLIBS) $(BSD) $(HX) $(CFB) $(MFB) $(MI) \
	$(EXTENSIONS) $(FONTLIBS) $(MX)

WSTEXTDDOBJS = $(EXTENSIONSRC)/server/dps/ddx/cfb/initmark.o \
	       $(EXTENSIONSRC)/server/dps/ddx/mfb/initmark.o \
	       $(EXTENSIONSRC)/server/dps/ddx/tm/initmark.o
WSTEXTDDLIBS = $(EXTENSIONSRC)/server/dps/ddx/cfb/libdpscfb.a \
	       $(EXTENSIONSRC)/server/dps/ddx/mfb/libdpsmfb.a \
	       $(EXTENSIONSRC)/server/dps/ddx/tm/libdpstm.a
XwstDIRS = $(MAXWSTDIRS) $(EXTDIR) $(FONTUTILDIR)

ServerTarget(Xwst,$(XwstDIRS),$(MAXWSTOBJS),$(MAXWSTLIBS),$(WSTEXTDDOBJS) $(EXTDILIBS) $(WSTEXTDDLIBS) $(SYSLIBS))
#endif /* dowstServer */


#ifdef dowst3dServer
/**/#
/**/# wst3d server with PEX extension
/**/#
#define need_dix
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_cfb
#define need_ddx_dec_ws
#define need_ddx_dec_mx
#define need_ddx_dec_px3d
#define need_os_42bsd
#define need_ddx_dec_initext
#define need_ext_pex
#define need_ext_dbuf

MAXWST3DDIRS = dix ddx/mi ddx/mfb ddx/dec/cfb ddx/dec/px3d ddx/dec/ws \
        ddx/dec/mx os/4.2bsd ddx/dec/initext $(ATDMALLOCDIRS) \
        $(EXTENSIONSRC)/server/pex $(EXTENSIONSRC)/server/nurbs \
        $(EXTENSIONSRC)/server/fillareas $(EXTENSIONSRC)/server/utils \
        $(EXTENSIONSRC)/server/dblbuf
MAXWST3DOBJS = ddx/dec/ws/init.o ddx/dec/ws/cfbinit.o ddx/dec/ws/ws_io.o\
        ddx/dec/ws/ext_device.o ddx/dec/ws/ws_color.o ddx/dec/ws/acc_3d.o \
        ddx/dec/mx/mxstub.o $(ATDMALLOCOBJS) ddx/dec/initext/pxinitext.o
MAXWST3DLIBS = ddx/dec/px3d/libpx3d.a \
        $(DIX) $(ATDMALLOCLIBS) $(BSD) $(CFB) $(MFB) $(MI) $(EXTENSIONS3D) \
        $(FONTLIBS) \
        $(EXTENSIONSRC)/server/pex/dd/n10/src/dev/libdev.a \
        $(EXTENSIONSRC)/server/pex/di/libpexdi.a \
        $(EXTENSIONSRC)/server/pex/dd/r3/libpexr3.a \
        $(EXTENSIONSRC)/server/pex/dd/fillareas/libfillareas.a \
        $(EXTENSIONSRC)/server/pex/dd/nurbs/libpexnurbs.a \
        $(EXTENSIONSRC)/server/pex/dd/mi/libpexmi.a \
        $(EXTENSIONSRC)/server/pex/utils/libpexutils.a \
        $(EXTENSIONSRC)/server/nurbs/tessellate/libnurbtess.a \
        $(EXTENSIONSRC)/server/nurbs/triangulate/libnurbtri.a \
        $(EXTENSIONSRC)/server/nurbs/n10_out/libnurbn10output.a \
        $(EXTENSIONSRC)/server/nurbs/utils/libnurbutils.a \
        $(EXTENSIONSRC)/server/fillareas/tessellate/libfillareastess.a \
        $(EXTENSIONSRC)/server/fillareas/ucode_out/libfillareasuout.a \
        $(EXTENSIONSRC)/server/utils/libutils.a

EXTDDOBJS = $(EXTENSIONSRC)/server/dps/ddx/cfb/initmark.o \
	    $(EXTENSIONSRC)/server/dps/ddx/mfb/initmark.o
EXTDDLIBS = $(EXTENSIONSRC)/server/dps/ddx/cfb/libdpscfb.a \
	    $(EXTENSIONSRC)/server/dps/ddx/mfb/libdpsmfb.a
Xwst3DDIRS = $(MAXWST3DDIRS) $(EXTDIR) $(FONTUTILDIR)

ServerTarget(Xwst3d,$(Xwst3DDIRS),$(MAXWST3DOBJS),$(MAXWST3DLIBS),$(WSTEXTDDOBJS) $(EXTDILIBS) $(WSTEXTDDLIBS) $(SYSLIBS))
#endif /* dowst3dServer */




#ifdef dosunServer
/**/#
/**/# sun server
/**/#
#if defined(UseSunWindowsInServer) && UseSunWindowsInServer
SUNWINDOWSLIBS = -lsunwindow -lpixrect
#endif
#define need_dix
#define need_ddx_snf
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_cfb
#define need_ddx_mit_cfb
#define need_ddx_sun
#define need_os_42bsd
SUNDIRS = dix ddx/snf ddx/mi ddx/mfb ddx/cfb ddx/sun os/4.2bsd
SUNOBJS = ddx/sun/sunInit.o $(FONTUTIL)
SUNLIBS = $(SUN) $(CFB) $(DIX) $(BSD) $(SNF) $(MFB) $(MI) $(EXTENSIONS)
SUNSYSLIBS = $(SYSLIBS) $(SUNWINDOWSLIBS)
XsunDIRS = $(SUNDIRS)

ServerTarget(Xsun,$(EXTDIR) $(FONTUTILDIR) $(SUNDIRS),$(SUNOBJS),$(SUNLIBS),$(SUNSYSLIBS))

saber_src_sun:
	#cd dix
	#make saber_src
	#cd ../ddx/snf
	#make saber_src
	#cd ../mi
	#make saber_src
	#cd ../mfb
	#make saber_src
	#cd ../cfb
	#make saber_src
	#cd ../sun
	#make saber_src
	#cd ../../os/4.2bsd
	#make saber_src
	#cd ../../../extensions/server
	#make saber_src
	#cd ../../fonts/mkfontdir
	#make saber_src_server
	#cd ../../lib/Xau
	#make saber_src
	#cd ../../server
	#load /usr/lib/libm.a
	#load /usr/lib/libdbm.a
#endif /* dosunServer */



#ifdef dohpServer
/**/#
/**/# HP server
/**/#
#define need_dix
#define need_ddx_snf
#define need_ddx_mi
#define need_ddx_hp
#define need_os_42bsd
#define need_os_bsdemul
HPDIRS = dix ddx/snf ddx/mi ddx/hp os/4.2bsd os/bsdemul

/* set up .o load */
#ifdef hp9000s300
HPOBJS = ddx/hp/hp.300.o $(FONTUTIL)
#else /* 800 */
HPOBJS = ddx/hp/hp.800.o $(FONTUTIL)
#endif /* hp9000s300 */

HPLIBS = $(DIX) $(BSD) $(MI) $(EXTENSIONS) $(BSDEMUL)
#if ServerMallocLib
HPMALLOCLIB = -lmalloc
#endif
HPSYSLIBS = $(SYSLIBS) $(HPMALLOCLIB)
XhpDIRS = $(HPDIRS)

ServerTarget(Xhp,$(EXTDIR) $(FONTUTILDIR) $(HPDIRS),$(HPOBJS),$(HPLIBS),$(HPSYSLIBS))
#endif /* dohpServer */


#ifdef doibmServer
/**/#
/**/# ibm server
/**/#
#if SpecialMalloc
IBMALLOCLIB = ddx/ibm/common/libibmalloc.a
#else
IBMALLOCLIB = 
#endif

#define need_dix
#define need_ddx_snf
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_ibm
#define need_os_42bsd
IBMDIRS = dix ddx/snf ddx/mi ddx/mfb ddx/ibm os/4.2bsd
IBMOBJS = ddx/ibm/common/ibmcomm.o ddx/ibm/common/ibmDate.o $(FONTUTIL)
IBMLIBS = ddx/ibm/libibm.a $(IBMALLOCLIB) \
		$(DIX)  $(BSD) $(SNF) $(MFB) $(MI) $(EXTENSIONS)
IBMSYSLIBS = $(SYSLIBS)
XibmDIRS = $(IBMDIRS)

ServerTarget(Xibm,$(EXTDIR) $(FONTUTILDIR) $(IBMDIRS),$(IBMOBJS),$(IBMLIBS),$(IBMSYSLIBS))
#endif /* doibmServer */



#ifdef doapolloServer
/**/#
/**/# apollo server
/**/#
#define need_dix
#define need_ddx_snf
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_apollo
#define need_ddx_apollo_apc
#define need_os_42bsd
APOLLODIRS = dix ddx/snf ddx/mi ddx/mfb ddx/apollo ddx/apollo/apc os/4.2bsd
APOLLOOBJS = ddx/apollo/ap_init.o /sys/traits/io_traits.2 $(FONTUTIL)
APOLLOLIBS = $(APOLLO) $(APC) $(DIX) $(BSD) $(SNF) $(MFB) $(MI) $(EXTENSIONS)
XapolloDIRS = $(APOLLODIRS)

ServerTarget(Xapollo,$(EXTDIR) $(FONTUTILDIR) $(APOLLODIRS),$(APOLLOOBJS),$(APOLLOLIBS),$(SYSLIBS))
#endif /* doapolloServer */



#ifdef dotekServer
/**/#
/**/# tek server
/**/#
#define need_dix
#define need_ddx_snf
#define need_ddx_mi
#define need_ddx_cfb
#define need_ddx_mit_cfb
#define need_ddx_mfb
#define need_ddx_tek
#define need_os_42bsd
TEKDIRS = dix ddx/snf ddx/mi ddx/mfb ddx/cfb ddx/tek os/4.2bsd
TEKOBJS = ddx/tek/pegInit.o $(FONTUTIL)
TEKLIBS = $(DIX) $(BSD) $(SNF) $(TEK) $(MFB) $(CFB) $(MI) $(EXTENSIONS)
XtekDIRS = $(TEKDIRS)

ServerTarget(Xtek,$(EXTDIR) $(FONTUTILDIR) $(TEKDIRS),$(TEKOBJS),$(TEKLIBS),$(SYSLIBS))
#endif /* dotekServer */



#ifdef domacIIServer
/**/#
/**/# macII server
/**/#
#define need_dix
#define need_ddx_snf
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_cfb
#define need_ddx_mit_cfb
#define need_ddx_macII
#define need_os_42bsd
#define need_os_bsdemul
MACIIDIRS = dix ddx/snf ddx/mi ddx/mfb ddx/cfb ddx/macII os/4.2bsd os/bsdemul
MACIIOBJS = ddx/macII/macIIInitS.o ddx/macII/macIIColor.o $(FONTUTIL)
MACIILIBS = $(MACII) $(CFB) $(DIX) $(BSD) $(SNF) $(BSDEMUL) $(MFB) $(MI) $(EXTENSIONS)
MACIISYSLIBS = $(SYSLIBS)
XmacIIDIRS = $(MACIIDIRS)
 
ServerTarget(XmacII,$(EXTDIR) $(FONTUTILDIR) $(MACIIDIRS),$(MACIIOBJS),$(MACIILIBS),$(MACIISYSLIBS))
#endif /* domacIIServer */

#ifdef docfb3maxServer
/**/#
/**/# cfb3max server
/**/#
#define need_dix
#define need_ddx_mi
#define need_ddx_mfb
#define need_ddx_cfb
#define need_ddx_dec_lk201
#define need_ddx_dec_cfb3max
#define need_os_42bsd
THREEMAXCFBDIRS = dix ddx/mi ddx/mfb ddx/dec/cfb ddx/dec/lk201 ddx/dec/cfb3max \
		os/4.2bsd $(MALLOCDIRS)
THREEMAXCFBOBJS = ddx/dec/cfb3max/init.o ddx/dec/cfb3max/cfb3max_io.o\
	ddx/dec/cfb3max/cfb3maxcolor.o ddx/dec/lk201/lk201.o \
	$(EXTENSIONSRC)/server/dps/ddx/cfb/initmark.o $(MALLOCOBJS)
THREEMAXCFBLIBS = $(EXTENSIONSRC)/server/dps/ddx/cfb/libdpscfb.a \
		$(DIX) $(MALLOCLIBS) $(BSD) $(CFB) $(MFB) $(MI) $(EXTENSIONS)\ 
		$(FONTLIBS) 
Xcfb3maxDIRS = $(THREEMAXCFBDIRS)

ServerTarget(Xcfb3max,$(EXTDIR) $(FONTUTILDIR) $(THREEMAXCFBDIRS),$(THREEMAXCFBOBJS),$(THREEMAXCFBLIBS),$(SYSLIBS))
#endif /* docfb3maxServer */


/*****************************************************************************
 *                                                                           *
 *			Do not modify rest of Imakefile                      *
 *                                                                           *
 *****************************************************************************/

#ifdef need_dix
#define dir_dix dix
#else
#define dir_dix /**/
#endif
#ifdef need_os_42bsd
#define dir_os_42bsd os/4.2bsd
#else
#define dir_os_42bsd /**/
#endif
#ifdef need_os_bsdemul
#define dir_os_bsdemul os/bsdemul
#else
#define dir_os_bsdemul /**/
#endif

#ifdef need_ddx_snf
#define dir_ddx_snf ddx/snf
#else
#define dir_ddx_snf /**/
#endif
#ifdef need_ddx_mfb
#define dir_ddx_mfb ddx/mfb
#else
#define dir_ddx_mfb /**/
#endif
#ifdef need_ddx_mi
#define dir_ddx_mi ddx/mi
#else
#define dir_ddx_mi /**/
#endif
/* added because someone moved ddx_cfb to be dec/cfb and ddx_dec_cfb 
 * to be cfbpmax
 */
#ifdef need_ddx_mit_cfb
#define dir_ddx_mit_cfb ddx/cfb
#else
#define dir_ddx_mit_cfb /**/
#endif

#ifdef need_ddx_cfb
#define dir_ddx_cfb ddx/dec/cfb
#else
#define dir_ddx_cfb /**/
#endif

#ifdef need_ddx_apollo
#define dir_ddx_apollo ddx/apollo
#else
#define dir_ddx_apollo /**/
#endif

#ifdef need_ddx_apollo_apc
#define dir_ddx_apollo_apc ddx/apollo/apc
#else
#define dir_ddx_apollo_apc /**/
#endif

#ifdef need_ddx_tek
#define dir_ddx_tek ddx/tek
#else
#define dir_ddx_tek /**/
#endif

#ifdef need_ddx_dec_lk201
#define dir_ddx_dec_lk201 ddx/dec/lk201
#else
#define dir_ddx_dec_lk201 /**/
#endif
#ifdef need_ddx_dec_qdsg
#define dir_ddx_dec_qdsg ddx/dec/qdss ddx/dec/qdss/libtl
#else
#define dir_ddx_dec_qdsg /**/
#endif
#ifdef need_ddx_dec_qvsm
#define dir_ddx_dec_qvsm ddx/dec/qvss
#else
#define dir_ddx_dec_qvsm /**/
#endif
#ifdef need_ddx_dec_mfb
#define dir_ddx_dec_mfb ddx/dec/mfbpmax
#else
#define dir_ddx_dec_mfb /**/
#endif
#ifdef need_ddx_dec_cfb
#define dir_ddx_dec_cfb ddx/dec/cfbpmax
#else
#define dir_ddx_dec_cfb /**/
#endif
#ifdef need_ddx_dec_cfb3max
#define dir_ddx_dec_cfb3max ddx/dec/cfb3max
#else
#define dir_ddx_dec_cfb3max /**/
#endif
#ifdef need_ddx_dec_ws
#define dir_ddx_dec_ws ddx/dec/ws
#else
#define dir_ddx_dec_ws /**/
#endif
#ifdef need_ddx_dec_mx
#define dir_ddx_dec_mx ddx/dec/mx
#else
#define dir_ddx_dec_mx /**/
#endif
#ifdef need_ddx_dec_rop
#define dir_ddx_dec_rop ddx/dec/rop
#else
#define dir_ddx_dec_rop /**/
#endif
#ifdef need_ddx_dec_tfb
#define dir_ddx_dec_tfb ddx/dec/tfb
#else
#define dir_ddx_dec_tfb /**/
#endif
#ifdef need_ddx_dec_sfb
#define dir_ddx_dec_sfb ddx/dec/sfb
#else
#define dir_ddx_dec_sfb /**/
#endif
#ifdef need_ddx_dec_atdalloc
#define dir_ddx_dec_atdalloc ddx/dec/atdalloc
#else
#define dir_ddx_dec_atdalloc /**/
#endif
#ifdef need_ddx_dec_initext
#define dir_ddx_dec_initext ddx/dec/initext
#else
#define dir_ddx_dec_initext /**/
#endif
#ifdef need_ddx_dec_px
#define dir_ddx_dec_px ddx/dec/px
#else
#define dir_ddx_dec_px /**/
#endif
#ifdef need_ddx_dec_px3d
#define dir_ddx_dec_px3d ddx/dec/px3d
#else
#define dir_ddx_dec_px3d /**/
#endif
#ifdef need_ddx_hp
#define dir_ddx_hp ddx/hp
#else
#define dir_ddx_hp /**/
#endif
#ifdef need_ddx_ibm
#define dir_ddx_ibm ddx/ibm
#else
#define dir_ddx_ibm /**/
#endif
#ifdef need_ddx_macII
#define dir_ddx_macII ddx/macII
#else
#define dir_ddx_macII /**/
#endif
#ifdef need_ddx_sun
#define dir_ddx_sun ddx/sun
#else
#define dir_ddx_sun /**/
#endif

OURDIX = dir_dix
OURDDX = dir_ddx_snf dir_ddx_mfb dir_ddx_cfb dir_ddx_mi dir_ddx_mit_cfb
OUROS = dir_os_42bsd dir_os_bsdemul $(MALLOCDIRS) $(ATDMALLOCDIRS)
DECDDX = dir_ddx_dec_lk201 dir_ddx_dec_qdsg dir_ddx_dec_qvsm dir_ddx_dec_mfb dir_ddx_dec_cfb dir_ddx_dec_cfb3max dir_ddx_dec_ws dir_ddx_dec_mx dir_ddx_dec_px dir_ddx_dec_px3d dir_ddx_dec_initext dir_ddx_dec_tfb dir_ddx_dec_rop dir_ddx_dec_sfb
HPDDX = dir_ddx_hp
OTHERDDX = dir_ddx_apollo dir_ddx_apollo_apc dir_ddx_ibm dir_ddx_macII dir_ddx_sun dir_ddx_tek

SUBDIRS = $(OURDIX) $(OURDDX) $(OUROS) $(DECDDX) $(HPDDX) $(OTHERDDX)

     ALLDDXDIRS = ddx/snf ddx/mi ddx/dec/cfb ddx/mfb \
                  ddx/dec/lk201 ddx/dec/qvss ddx/dec/qdss ddx/dec/qdss/libtl \
                  ddx/sun \
                  ddx/apollo ddx/apollo/apc \
                  ddx/ibm \
		  ddx/dec/mfbpmax ddx/dec/cfbpmax ddx/dec/ws \
		  ddx/dec/tfb ddx/dec/rop ddx/dec/sfb \
		  ddx/dec/mx ddx/dec/px ddx/dec/px3d \
                  ddx/hp ddx/tek \
                  ddx/macII ddx/dec/cfb3max $(MALLOCDIRS) $(ATDMALLOCDIRS)
      ALLOSDIRS = os/4.2bsd os/bsdemul
     ALLSUBDIRS = dix $(ALLDDXDIRS) $(ALLOSDIRS)

#ifdef need_ext_pex
#define dir_ext_pex     $(EXTENSIONSRC)/server/pex \
                $(EXTENSIONSRC)/server/nurbs $(EXTENSIONSRC)/server/fillareas \
                $(EXTENSIONSRC)/server/utils
#else
#define dir_ext_pex     /**/
#endif

#ifdef need_ext_xv
#define dir_ext_xv	$(EXTENSIONSRC)/xv/server
#else
#define dir_ext_xv    /**/
#endif
#ifdef need_ext_dbuf
#define dir_ext_dbuf    $(EXTENSIONSRC)/server/dblbuf
#else
#define dir_ext_dbuf  /**/
#endif

OTHEREXTDIRS = dir_ext_xv dir_ext_pex dir_ext_dbuf


install::	$(ALLNONINSTALL)

InstallMultiple($(ALLINSTALL),$(DESTDIR)/usr/bin)

#ifndef VaxArchitecture
InstallProgram(Xwst,$(DESTDIR)/usr/bin/Xws)
#endif

#define IHaveSubdirs

DependSubdirs($(SUBDIRS))
MakeLintLibSubdirs($(SUBDIRS))
LintSubdirs($(SUBDIRS))

NamedCleanSubdirs(AllClean,$(ALLSUBDIRS))
NamedTagSubdirs(AllTags,$(ALLSUBDIRS))

MakeMakeSubdirs($(ALLSUBDIRS),AllMakefiles)



$(EXTDIR) $(OTHEREXTDIRS) $(FONTUTILDIR) $(SUBDIRS): FRC
	@cd $@ ; echo "making $@"; \
	$(MAKE) $(MFLAGS) PassCDebugFlags all

clean::
	$(RM) $(ALLPOSSIBLE)

InstallManPage(Xserver,$(MANDIR))

install::
	@echo "************************************************************"
	@echo "* "
	@echo "*     Don't forget to create a link called $(BINDIR)/X"
	@echo "*     pointing to the default server, if there is one."
	@echo "* "
	@echo "************************************************************"

FRC:
