
#
# This makefile is automatically generated by imake... do not modify
# or you may lose your changes when imake generates makefiles again.
# Ignore this message if you are not using imake.
#

            TOP = ./..
             AS = as
             CC = cc
            CPP = /lib/cpp
             LD = ld
           LINT = lint
           MAKE = make
    CDEBUGFLAGS = -O
        DESTDIR =

        INSTALL = install
           TAGS = ctags
         DEPEND = $(DEPENDSRC)/makedepend
          IMAKE = $(IMAKESRC)/imake
            RGB = $(RGBSRC)/rgb
         CFLAGS = $(CDEBUGFLAGS) $(INCLUDES) $(DEFINES)
        LDFLAGS = $(CDEBUGFLAGS) $(SYS_LIBRARIES)
   INSTLIBFLAGS = -c -m 0664
      USRLIBDIR = $(DESTDIR)/usr/lib
         BINDIR = $(DESTDIR)/usr/bin/X11
         LIBDIR = $(DESTDIR)/usr/lib/X11
         INCDIR = $(DESTDIR)/usr/include/X11
   FUTUREINCDIR = $(DESTDIR)/usr/include/X
        FONTDIR = $(DESTDIR)$(LIBDIR)/fonts
         MANDIR = $(DESTDIR)/usr/man/mann
      CLIENTSRC = $(TOP)/clients
        DEMOSRC = $(TOP)/demos
         LIBSRC = $(TOP)/lib
        FONTSRC = $(TOP)/fonts
     INCLUDESRC = $(TOP)/include
      SERVERSRC = $(TOP)/server
        UTILSRC = $(TOP)/util
        HACKSRC = $(TOP)/hacks
         DOCSRC = $(TOP)/doc
      DEPENDSRC = $(UTILSRC)/makedepend
       IMAKESRC = $(UTILSRC)/imake
         RGBSRC = $(UTILSRC)/rgb
        XLIBSRC = $(LIBSRC)/X
         XRMSRC = $(LIBSRC)/Xrm
     TOOLKITSRC = $(LIBSRC)/Xtk
     OLDXLIBSRC = $(LIBSRC)/oldX
    OLDXMENUSRC = $(LIBSRC)/oldXMenu
      OLDXRMSRC = $(LIBSRC)/oldXrm
  OLDTOOLKITSRC = $(LIBSRC)/oldXtk
   EXTENSIONSRC = $(TOP)/extensions
        XMANSRC = $(DOCSRC)/Xlib/Xman
   EXTENSIONLIB = $(EXTENSIONSRC)/lib/libXext.a
           XLIB = $(XLIBSRC)/libX.a
        OLDXLIB = $(OLDXLIBSRC)/liboldX.a
       XTOOLLIB = $(TOOLKITSRC)/libXtk.a
    OLDXTOOLLIB = $(OLDTOOLKITSRC)/liboldXtk.a
    OLDXMENULIB = $(OLDXMENUSRC)/libXMenu.a
         XRMLIB = $(XRMSRC)/libXrm.a
      OLDXRMLIB = $(OLDXRMSRC)/liboldXrm.a
       INCLUDES = -I$(TOP)
      MACROFILE = Vax.macros
      IMAKE_CMD = $(NEWTOP)$(IMAKE) -TImake.tmpl \
			-I$(NEWTOP)$(UTILSRC)/imake.includes \
			-s Makefile
         RM_CMD = rm -f *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a \
			tags TAGS make.log

        SUBDIRS = dix $(ALLDDXDIRS) $(ALLOSDIRS)
    CDEBUGFLAGS = -g -DDEBUG
     EXTENSIONS = $(EXTENSIONSRC)/server/libext.a
         EXTDIR = $(EXTENSIONSRC)/server
     ALLDDXDIRS = ddx/mi ddx/sun ddx/cfb ddx/apollo ddx/mfb ddx/lk201 \
                    ddx/qvss ddx/qdss ddx/ibm/apa16 ddx/ibm/rt ddx/ibm/aed
      ALLOSDIRS = os/sysV os/4.2bsd
        SUBDIRS = dix $(ALLDDXDIRS) $(ALLOSDIRS)
           UNIX = os/4.2bsd/libos.a
           SYSV = os/sysV/libos.a
            MFB = ddx/mfb/libmfb.a
            CFB = ddx/cfb/libcfb.a
             MI = ddx/mi/libmi.a
            DIX = dix/libdix.a
            SUN = ddx/sun/libsun.a
        SYSLIBS = -lm -ldbm
    ALLPOSSIBLE = Xqvss Xqdss Xsun Xapa16 Xapollo

ALL = Xqvss Xqdss

#
# 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:

all: $(ALL)

#
# qvss server
#
QVSSDIRS = dix ddx/mi ddx/mfb ddx/lk201 ddx/qvss os/4.2bsd
QVSSOBJS = ddx/qvss/init.o ddx/qvss/qvss_io.o ddx/lk201/lk201.o
QVSSLIBS = $(DIX) $(UNIX) $(MFB) $(MI) $(EXTENSIONS)
XqvssDIRS = $(QVSSDIRS)

Xqvss: $(EXTDIR) $(QVSSDIRS) $(QVSSOBJS) $(QVSSLIBS) loadXqvss

loadXqvss:
	-mv Xqvss Xqvss.bak
	$(CC) $(CDEBUGFLAGS) -o Xqvss $(QVSSOBJS) $(QVSSLIBS) $(SYSLIBS)

#
# qdss server
#
QDSSDIRS = dix ddx/mi ddx/mfb ddx/lk201 ddx/qdss os/4.2bsd
QDSSOBJS = ddx/qdss/init.o ddx/qdss/qdss_io.o ddx/lk201/lk201.o
QDSSLIBS = ddx/qdss/libqdss.a.save ddx/qdss/libtl.a.save \
		ddx/qdss/libqdss.a.save \
               $(DIX) $(UNIX) $(MFB) $(MI) $(EXTENSIONS)
XqdssDIRS = $(QDSSDIRS)

Xqdss: $(EXTDIR) $(QDSSDIRS) $(QDSSOBJS) $(QDSSLIBS) loadXqdss

loadXqdss:
	-mv Xqdss Xqdss.bak
	$(CC) $(CDEBUGFLAGS) -o Xqdss $(QDSSOBJS) $(QDSSLIBS) $(SYSLIBS)

#
# sun server
#

SUNDIRS = dix ddx/mi ddx/mfb ddx/cfb ddx/sun os/4.2bsd
SUNOBJS = ddx/sun/sunInit.o
SUNLIBS = $(SUN) $(CFB) $(DIX) $(UNIX) $(MFB) $(MI) $(EXTENSIONS)
SUNSYSLIBS = $(SYSLIBS) $(SUNWINDOWSLIBS)
XsunDIRS = $(SUNDIRS)

Xsun: $(EXTDIR) $(SUNDIRS) $(SUNOBJS) $(SUNLIBS) loadXsun

loadXsun:
	-mv Xsun Xsun.bak
	$(CC) $(CDEBUGFLAGS) -o Xsun $(SUNOBJS) $(SUNLIBS) $(SUNSYSLIBS)

#
# apa16 server
#
APA16DIRS = dix ddx/mi ddx/mfb ddx/ibm/apa16 ddx/ibm/rt os/4.2bsd
APA16OBJS = ddx/ibm/rt/rtinit.o ddx/ibm/rt/rtio.o
APA16LIBS = ddx/ibm/apa16/libapa16.a ddx/ibm/rt/librt.a \
		$(DIX) $(UNIX) $(MFB) $(MI) $(EXTENSIONS)
Xapa16DIRS = $(APA16DIRS)

Xapa16: $(EXTDIR) $(APA16DIRS) $(APA16OBJS) $(APA16LIBS) loadXapa16

loadXapa16:
	-mv Xapa16 Xapa16.bak
	$(CC) $(CDEBUGFLAGS) -o Xapa16 $(APA16OBJS) $(APA16LIBS) $(SYSLIBS)

#
# aed server
#
AEDDIRS = dix ddx/mi ddx/mfb ddx/ibm/aed ddx/ibm/rt os/4.2bsd
AEDOBJS = ddx/ibm/rt/rtinit.o ddx/ibm/rt/rtio.o
AEDLIBS = ddx/ibm/aed/libaed.a ddx/ibm/rt/librt.a \
		$(DIX) $(UNIX) $(MFB) $(MI) $(EXTENSIONS)
XaedDIRS = $(AEDDIRS)

Xaed: $(EXTDIR) $(AEDDIRS) $(AEDOBJS) $(AEDLIBS) loadXaed

loadXaed:
	-mv Xaed Xaed.bak
	$(CC) $(CDEBUGFLAGS) -o Xaed $(AEDOBJS) $(AEDLIBS) $(SYSLIBS)

#
# apollo server
#
APOLLODIRS = dix ddx/mi ddx/mfb ddx/apollo os/4.2bsd
APOLLOOBJS = ddx/apollo/init.o ddx/apollo/apollo_io.o \

		/sys/traits/io_traits
APOLLOLIBS = $(DIX) $(UNIX) $(MFB) $(MI) $(EXTENSIONS)
XapolloDIRS = $(APOLLODIRS)

Xapollo: $(EXTDIR) $(APOLLODIRS) $(APOLLOOBJS) $(APOLLOLIBS) loadXapollo

loadXapollo:
	-mv Xapollo Xapollo.bak
	$(CC) $(CDEBUGFLAGS) -o Xapollo $(APOLLOOBJS) $(APOLLOLIBS) $(SYSLIBS)

#
# other, necessary targets
#

clean::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
		(cd $$i ; echo "cleaning $$i"; \
			$(MAKE) $(MFLAGS) RM_CMD='$(RM_CMD)' clean ); \
	done

tags::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
		(cd $$i ; echo "tagging $$i"; \
			$(MAKE) $(MFLAGS) TAGS='$(TAGS)' tags ); \
	done

Makefiles::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
		echo "Making Makefiles in $$i..."; \
		case "$$i" in \
		./?*/?*/?*) newtop=../../../ sub=subsubsub;; \
		./?*/?*)    newtop=../../ sub=subsub;; \
		./?*)       newtop=../ sub=sub;; \
		*/?*/?*)    newtop=../../../ sub=subsubsub;; \
		*/?*)       newtop=../../ sub=subsub;; \
		*)	    newtop=../ sub=sub;; \
		esac; \
		$(MAKE) $${sub}dirMakefiles NEWTOP=$$newtop \
			MAKEFILE_SUBDIR=$$i;\
	done

subdirMakefiles:
	rm -f $(MAKEFILE_SUBDIR)/Makefile.bak
	-mv $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak
	cd $(MAKEFILE_SUBDIR); $(IMAKE_CMD) -DTOPDIR=$(TOP)/..; \
	$(MAKE) $(MFLAGS) Makefiles

subsubdirMakefiles:
	rm -f $(MAKEFILE_SUBDIR)/Makefile.bak
	-mv $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak
	cd $(MAKEFILE_SUBDIR); $(IMAKE_CMD) -DTOPDIR=$(TOP)/../..; \
	$(MAKE) $(MFLAGS) Makefiles

subsubsubdirMakefiles:
	rm -f $(MAKEFILE_SUBDIR)/Makefile.bak
	-mv $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak
	cd $(MAKEFILE_SUBDIR); $(IMAKE_CMD) -DTOPDIR=$(TOP)/../../..; \
	$(MAKE) $(MFLAGS) Makefiles

install:: $(ALL)
	@case '${MFLAGS}' in *[i]*) set +e;; esac; \
	for i in $(ALL); do \
		(set -x; $(INSTALL) -c $(INSTALLFLAGS) $$i $(BINDIR)); \
	done

#
# Gad, but I wish this wasn't so complicated.  All this because
# If we are making two servers, then there may be two lists of
# directories to depend or whatever, most of which are duplicates
#

depend::
	@for i in $(ALL); do \
		dirs="$$dirs \$$($${i}DIRS)"; \
	done; \
	$(MAKE) $(MFLAGS) Realdepend \
		"SERVERSUBDIRS=$$dirs" \
		LINT=$(LINT) DESTDIR=$(DESTDIR)

Realdepend:
	@subdirs=`ls -d $(SERVERSUBDIRS) | sort -u`; \
	for i in $$subdirs; do \
		echo "depend/**/ing $$i"; \
		(cd $$i ; $(MAKE) $(MFLAGS) depend \
			LINT=$(LINT) DESTDIR=$(DESTDIR) ); \
	done

install::
	@for i in $(ALL); do \
		dirs="$$dirs \$$($${i}DIRS)"; \
	done; \
	$(MAKE) $(MFLAGS) Realinstall \
		"SERVERSUBDIRS=$$dirs" \
		LINT=$(LINT) DESTDIR=$(DESTDIR)

Realinstall:
	@subdirs=`ls -d $(SERVERSUBDIRS) | sort -u`; \
	for i in $$subdirs; do \
		echo "install/**/ing $$i"; \
		(cd $$i ; $(MAKE) $(MFLAGS) install \
			LINT=$(LINT) DESTDIR=$(DESTDIR) ); \
	done

lintlib::
	@for i in $(ALL); do \
		dirs="$$dirs \$$($${i}DIRS)"; \
	done; \
	$(MAKE) $(MFLAGS) Reallintlib \
		"SERVERSUBDIRS=$$dirs" \
		LINT=$(LINT) DESTDIR=$(DESTDIR)

Reallintlib:
	@subdirs=`ls -d $(SERVERSUBDIRS) | sort -u`; \
	for i in $$subdirs; do \
		echo "lintlib/**/ing $$i"; \
		(cd $$i ; $(MAKE) $(MFLAGS) lintlib \
			LINT=$(LINT) DESTDIR=$(DESTDIR) ); \
	done

$(EXTDIR) $(SUBDIRS): FRC
	@cd $@ ; echo "making $@"; \
	$(MAKE) $(MFLAGS) 'CDEBUGFLAGS=$(CDEBUGFLAGS)' 'CC=$(CC)' all

lint:
	lint dix/?*.ln os/4.2bsd/?*.ln ddx/mi/?*.ln ddx/mfb/?*.ln > lint.out

clean::
	rm -f $(ALLPOSSIBLE)

FRC:

clean::
	$(RM_CMD) \#*

Makefile:: Imakefile \
	$(UTILSRC)/imake.includes/Imake.tmpl \
	$(UTILSRC)/imake.includes/Imake.rules \
	$(UTILSRC)/imake.includes/$(MACROFILE)
		-rm -f Makefile.bak; mv Makefile Makefile.bak
		$(IMAKE_CMD) -DTOPDIR=$(TOP)

tags::
	$(TAGS) -w *.[ch]
	$(TAGS) -xw *.[ch] > TAGS

install::
	@echo "install done"

Makefiles::

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         