#ifndef XCOMM
# define XCOMM #
#endif

XCOMM # 
XCOMM #  Copyright (C) 1992 by Gustaf Neumann, Stefan Nusser
XCOMM # 
XCOMM #       Wirtschaftsuniversitaet Wien,
XCOMM #       Abteilung fuer Wirtschaftsinformatik
XCOMM #       Augasse 2-6,
XCOMM #       A-1090 Vienna, Austria
XCOMM #       neumann@wu-wien.ac.at, nusser@wu-wien.ac.at
XCOMM #
XCOMM #  Permission to use, copy, modify, and distribute this software
XCOMM #  and its documentation for any purpose and without fee is
XCOMM #  hereby granted, provided that the above copyright notice
XCOMM #  appears in all copies and that both that copyright notice and
XCOMM #  this permission notice appear in all supporting
XCOMM #  documentation.  This software is provided "as is" without
XCOMM #  expressed or implied warranty.
XCOMM # 
XCOMM #  Date: Mon, Apr 13 1992
XCOMM #  Author: Gustaf Neumann
XCOMM #  Version: 1.0.6


XCOMM  # ----------------- Wafe configuration -------------------------
XCOMM  # if you have no socketpair on your system, you might try 
XCOMM  # -DPIPES or -DSTREAMS. 
XCOMM  # in this case uncomment one of the following lines
XCOMM  # COMPAT_DEFINES = -DSTREAMS
XCOMM  # COMPAT_DEFINES = -DPIPES
XCOMM  # COMPAT_DEFINES = -DWIDGETLISTTRACE

XCOMM  # CDEBUGFLAGS = -Wall -g
XCOMM  # CC=cc

XCOMM  # If Perl installed on a different place on your systems change
XCOMM  # the path here. Perl might be called during make to execute genc
XCOMM  # (the C code generator), when a  .spec file, a .inc file, 'types',
XCOMM  # or 'genc' is changed. 
GENC = /usr/local/bin/perl ./genc

XCOMM  # xmkmf
XMKMF = $(BINDIR)/xmkmf

XCOMM  # This is the standard place where wafe/mofe will look for 
XCOMM  # library scripts etc.
WAFELIB = /usr/lib/X11/wafe

XCOMM  # BINDIR is the place where executables will be installed.
XCOMM  # Uncomment the following lines (or set it to different values)
XCOMM  # if you have no write permission in the default X11 BINDIR
XCOMM  # (usually /usr/bin/X11).  Since also some standard X11
XCOMM  # utilities are addressed relative to BINDIR, we have to
XCOMM  # redefine these here as well. Make sure that the standard X11
XCOMM  # BINDIR is on your path.
XCOMM  # BINDIR    = ${HOME}/bin
XCOMM  # MKDIRHIER = mkdirhier
XCOMM  # XMKMF     = xmkmf

XCOMM  # USRLIBDIR is the place where the wafe libraries libwafe.a and
XCOMM  # libmofe.a will be installed.  Uncomment the line below if
XCOMM  # you have no write permission in the default X11 USRLIBDIR
XCOMM  # (usually /usr/lib/X11).
XCOMM  # USRLIBDIR = ${HOME}/lib

XCOMM  # ----------------- Wafe configuration -------------------------

XCOMM  # The following variables define the Wafe configuration:
XCOMM  # -> If MOTIF is specified, an OSF/Motif version of 
XCOMM  #    Wafe (mofe) is being build (using Motif 1.1 or Motif 1.2).
XCOMM  #    otherwise
XCOMM  #    a version of Wafe using the Athena widget set is built (wafe).
XCOMM  #
XCOMM  # -> If during the compilation Layout.h is not found, either
XCOMM  #    get XAW3D (+patches) or #undef LAYOUT

#ifndef CONFIGURATION_VIA_CMDLINE
# undef  MOTIF
# define ATHENA
# define DEBUG
# define XPM
# define XAW3D
# define LAYOUT
# define PLOTTER
# define XMGRAPH
# define RDD
# define HTML
# undef MTREE
# undef XBAE
# undef HTTP
# undef GHOSTVIEW
# undef ITCL
#endif

XCOMM  # ----------------- which libraries should be built -------------

XCOMM  # The following packages might be already installed on your
XCOMM  # system; if they are not and if you want to build them uncomment
XCOMM  # the necessary lines. Be aware, that building shared libraries is
XCOMM  # a moving target on some operating systems. It might be easier to
XCOMM  # obtain a binary distribution in some cases (eg. Linux)

#define BUILD_TCL
#define BUILD_PLOTTER
XCOMM #define BUILD_XPM
XCOMM #define BUILD_XAW3D
#define BUILD_XBAE

XCOMM  # ----------------- implied variables --------------------

XCOMM  # if MOTIF is defined, ATHENA or XAW3d cannot be defined
XCOMM  # the wafe executable will be called mofe
#ifdef MOTIF
 WAFE                  =   mofe
#undef ATHENA 
#undef XAW3D
#endif

XCOMM  # if ATHENA is defined, the ATHENA_DEFINES flag is added automatically,
XCOMM  # XMGRAPH is not allowed.
XCOMM  # The wafe executable will be called wafe
#ifdef ATHENA
 WAFE                  = wafe
 ATHENA_DEFINES        = -DATHENA
 XMLIB                 =
# undef XMGRAPH
# undef MTREE
# undef XBAE
# undef BUILD_XBAE
#else
 XAWLIB                =
 XAW3D_DEFINES         = 
 XAW3D_INCLUDE_FLAG    = 
#endif


XCOMM  # $(WAFESHELL).c is the source of the program containing main()
XCOMM  # WAFESHELL=wafe is the standard setup for wafe and mofe.
XCOMM  # If libwafe/libmofe should be linked to a different program
XCOMM  # it could be specified here
WAFESHELL = wafe



XCOMM  # ----------------- configuration of packages --------------------

XCOMM  # Dictionary of Variable names:
XCOMM  #  *HOME         ... home directroy of the sources of this package
XCOMM  #  *LD_PATH      ... linker option to locate library
XCOMM  #  *LIBRARY_FLAG ... linker option to use library
XCOMM  #  *INCLUDE_FLAG ... compiler option to locate include files
XCOMM  #  *DEFINES      ... compiler option to pass preprocessor variables
XCOMM  #  *DEP_LIB      ... name of the library used in dependencies


TCL_HOME              = ../lib/tcl7.3
TCL_H                 = $(TCL_HOME)/tcl.h 
#ifdef BUILD_TCL
 TCL_LD_PATH          = -L$(TCL_HOME) 
 TCL_DEP_LIB          = $(TCL_HOME)/libtcl.a
 TCL_ENV_VAR          = TCL_HOME=$(TCL_HOME);export TCL_HOME;
#endif
TCL_LIBRARY_FLAG      = -ltcl

#ifdef ITCL
 ITCL_HOME            = ../lib/itcl-1.5/src
 ITCL_INCLUDE_FLAG    = -I$(ITCL_HOME)
 ITCL_LD_PATH         = -L$(ITCL_HOME)
 ITCL_LIBRARY_FLAG    = -litcl
 ITCL_DEFINES         = -DITCL
#endif

DBUG_HOME             = ../lib/dbug
DBUG_INCLUDE_FLAG     = -I$(DBUG_HOME)
#ifdef DEBUG
 DBUG_DEP_LIB         = $(DBUG_HOME)/libdbug.a
 DBUG_LIBRARY_FLAG    = -ldbug
 DBUG_LD_PATH         = -L$(DBUG_HOME)
#else
 DBUG_DEFINES         = -DDBUG_OFF
#endif


#ifdef XPM
 XPM_HOME             = ../lib/xpm-3.4a
 XPM_INCLUDE_FLAG     = -I$(XPM_HOME)/lib
# ifdef BUILD_XPM
  XPM_DEP_LIB         = $(XPM_HOME)/lib/libXpm.a
  XPM_LD_PATH         = -L$(XPM_HOME)/lib
# endif
 XPM_LIBRARY_FLAG     = -lXpm
 XPM_DEFINES          = -DXPM
#else
# undef BUILD_XPM
#endif

#ifdef RDD
 RDD_DEFINES          = -DRDD
 RDD_SRCS             = 
 RDD_OBJS             =
 RDD_INCLUDE_FLAG     =
#endif

#ifdef HTML
 HTML_HOME            = ../lib/libhtmlw
 HTML_INCLUDE_FLAG    = -I$(HTML_HOME)
 HTML_LD_PATH         = -L$(HTML_HOME)
 HTML_DEFINES         = -DHTML
 HTML_CLEAN           = (cd $(HTML_HOME); rm -f *.o)
# ifdef MOTIF
 HTML_LIB             = m-htmlw
 HTML_LIBRARY_FLAG    = -l$(HTML_LIB)
 HTML_MV              = ; mv libhtmlw.a lib$(HTML_LIB).a
# else
 HTML_LIB             = htmlw
 HTML_LIBRARY_FLAG    = -l$(HTML_LIB)
# endif
 HTML_DEP_LIB         = $(HTML_HOME)/lib$(HTML_LIB).a
#endif

#ifdef HTTP
 HTTP_HOME            = /goodies/src/WWW/Library
 HTTP_LIB             = www
 HTTP_INCLUDE_FLAG    = -I$(HTTP_HOME)/Implementation
 HTTP_LD_PATH         = -L$(HTTP_HOME)/rs6000
 HTTP_LIBRARY_FLAG    = -l$(HTTP_LIB)
 HTTP_DEFINES         = -DHTTP
 HTTP_CLEAN           = (cd $(HTTP_HOME); rm -f *.o)
 HTTP_SRCS            = httpGen.c HTMLDTD.c
 HTTP_OBJS            = httpGen.o HTMLDTD.o
 HTTP_DEP_LIB         = $(HTTP_HOME)/rs6000/lib$(HTTP_LIB).a
#endif

#ifdef GHOSTVIEW
 GSV_HOME            = ../lib/ghostview
 GSV_LIB             = gsv
 GSV_DEP_LIB          = $(GSV_HOME)/lib$(GSV_LIB).a
 GSV_INCLUDE_FLAG    = -I$(GSV_HOME)
 GSV_LD_PATH         = -L$(GSV_HOME)
 GSV_LIBRARY_FLAG    = -l$(GSV_LIB)
 GSV_DEFINES         = -DGHOSTVIEW
#endif

#ifdef XAW3D
 XAWLIB               = -lXaw3d
 XAW3D_DEFINES        = -DXAW3D
# ifdef BUILD_XAW3D
  XAW3D_HOME          = ../lib/Xaw3d
  XAW3D_INCLUDE_FLAG  = -I$(XAW3D_HOME) 
  XAW3D_LD_PATH       = -L$(XAW3D_HOME)
  XAW3D_DEP_LIB       = $(XAW3D_HOME)/libXaw3d.a
# endif
#else
# undef BUILD_XAW3D
#endif

XCOMM  # the Layout widget can be used from the XAW3D distribution
XCOMM  # (from the shared library) or from a separate library named
XCOMM  # layout in the wafe distribution; to be on the safe side, use
XCOMM  # include layout files from Wafe distribution.
#ifdef LAYOUT
 LAYOUT_HOME          =  ../lib/layout
 LAYOUT_INCLUDE_FLAG  = -I$(LAYOUT_HOME)
 LAYOUT_DEFINES       = -DLAYOUT
# ifdef XAW3D
  LAYOUT_LIBRARY_FLAG = 
# else
#  ifdef MOTIF
   LAYOUT_LIB         = m-layout
#  else
   LAYOUT_LIB         = layout
#  endif
  LAYOUT_LIBRARY_FLAG = -l$(LAYOUT_LIB) 
  LAYOUT_DEP_LIB      = $(LAYOUT_HOME)/lib$(LAYOUT_LIB).a
  LAYOUT_LD_PATH      = -L$(LAYOUT_HOME)
# endif
#endif

#ifdef XMGRAPH
 XMGRAPH_HOME          = ../lib/XmGraph
 XMGRAPH_DEFINES       = -DXMGRAPH
 XMGRAPH_INCLUDE_FLAG  = -I$(XMGRAPH_HOME)
 XMGRAPH_LD_PATH       = -L$(XMGRAPH_HOME)
 XMGRAPH_LIBRARY_FLAG  = -lgraph
 XMGRAPH_DEP_LIB       = $(XMGRAPH_HOME)/libgraph.a
#endif

XCOMM  # The Notif Tree  widget can be obtained from any good ftp server
XCOMM  # such as ftp.x.org
#ifdef MTREE
 MTREE_HOME           = ../lib/mtree
 MTREE_SRCS           =  mtreeGen.c
 MTREE_OBJS           = $(MTREE_HOME)/Tree.o mtreeGen.o
 MTREE_DEFINES        = -DMTREE
 MTREE_INCLUDE_FLAG   = -I$(MTREE_HOME) 
#endif

XCOMM  # The Xbae widgets can be obtained from any good ftp server
XCOMM  # such as ftp.x.org and should be placed into the specified directory.
XCOMM  # Mofe was built and tested with version 3.8 p1 of Xbae.
#ifdef XBAE
 XBAE_HOME           = ../lib/Xbae-3.8
 XBAE_SRCS           = XbaeGen.c
 XBAE_OBJS           = XbaeGen.o
 XBAE_DEFINES        = -DXBAE
# ifdef BUILD_XBAE
 XBAE_LD_PATH        = -L$(XBAE_HOME)/src
 XBAE_DEP_LIB        = $(XBAE_HOME)/src/libXbae.a
 XBAE_INCLUDE_FLAG   = -I$(XBAE_HOME)/src
# endif
 XBAE_LIBRARY_FLAG   = -lXbae
#endif


#ifdef PLOTTER
 PLOTTER_DEFINES       = -DPLOTTER
# ifdef BUILD_PLOTTER
  PLOTTER_HOME         = ../lib/plotter/At
  PLOTTER_INCLUDE_FLAG = -I$(PLOTTER_HOME) 
  PLOTTER_LD_PATH      = -L$(PLOTTER_HOME)
  PLOTTER_LIBRARY_FLAG = -lAt
  PLOTTER_DEP_LIB      = $(PLOTTER_HOME)/libAt.a
# endif
#else
# undef BUILD_PLOTTER
#endif



#ifdef MOTIF
 MOTIF_EDITRES         = -DMOTIF_EDITRES
 MOTIF_DEFINES         = -DMOTIF ${MOTIF_EDITRES}
 MOTIF_HOME            = /usr
 MOTIF_LD_PATH         = # -L${MOTIF_HOME}
 MCLIENTINCLUDE_FLAG   = # -I${MOTIF_HOME}/include/X11 -I${MOTIF_HOME}/include
 XMLIB                 = -lXm 
XCOMM  XMLIB              = /usr/lib/libXm.a 
XCOMM  EXTENSIONLIB       = -lXext-R4
XCOMM  XTOOLLIB           = -lXt-R4
XCOMM  XLIB               = ${EXTENSIONLIB} -lX11-R4
XCOMM  XMULIB             = -lXmu-R4
XCOMM  PROTO_DEFINES      = -DNPROTO
XCOMM  #define ProjectX 4
XCOMM  /**/# On our system we have to compile MOTIF with the R4 versions of all
XCOMM  /**/# Libraries. We have separate R4 based libraries on the motif path
XCOMM  #ifdef XPM
XCOMM  XPM_LIBRARY_FLAG      = -lXpm-R4
XCOMM  #endif
XCOMM  #ifdef PLOTTER
XCOMM  PLOTTER_LIBRARY_FLAG  = -lAt-R4
XCOMM  #endif
#endif  /*MOTIF */

XCOMM  # DBMALLOC is a debugging malloc package available from
XCOMM  # ftp.cs.toronto.edu; this is for development purposes only
#undef MALLOC_DEBUG
#ifdef MALLOC_DEBUG
 DBMALLOC_HOME         = ../lib/malloc
 DBMALLOC_DEFINES      = -DDEBUG_MALLOC
 DBMALLOC_INCLUDE_FLAG = 
 DBMALLOC_LD_PATH      = -L$(DBMALLOC_HOME) 
 DBMALLOC_LIBRARY_FLAG = -lmalloc_d
#endif


INCLUDES = -I. \
	$(MCLIENTINCLUDE_FLAG) $(XMGRAPH_INCLUDE_FLAG) \
	$(XPM_INCLUDE_FLAG) $(DBUG_INCLUDE_FLAG) \
	$(PLOTTER_INCLUDE_FLAG) $(RDD_INCLUDE_FLAG) \
	$(LAYOUT_INCLUDE_FLAG) $(HTML_INCLUDE_FLAG) \
	$(GSV_INCLUDE_FLAG) $(HTTP_INCLUDE_FLAG) \
	$(DBMALLOC_INCLUDE_FLAG) $(ITCL_INCLUDE_FLAG) \
	$(MTREE_INCLUDE_FLAG) $(XBAE_INCLUDE_FLAG) 

NON_X_LIBRARIES = \
	$(ITCL_LIBRARY_FLAG) $(TCL_LIBRARY_FLAG) \
	$(DBUG_LIBRARY_FLAG) -lm $(DBMALLOC_LIBRARY_FLAG)

LOCAL_LDFLAGS =  -L. \
	$(XPM_LD_PATH) $(TCL_LD_PATH) $(ITCL_LD_PATH) $(DBUG_LD_PATH) \
	$(XAW3D_LD_PATH) $(PLOTTER_LD_PATH) $(LAYOUT_LD_PATH) $(HTML_LD_PATH) \
	$(GSV_LD_PATH) $(HTTP_LD_PATH) $(XBAE_LD_PATH) \
	$(MOTIF_LD_PATH) $(XMGRAPH_LD_PATH) $(DBMALLOC_LD_PATH)

LOCAL_LIBRARIES = -l$(WAFE) \
	$(XPM_LIBRARY_FLAG)  $(PLOTTER_LIBRARY_FLAG) \
	$(LAYOUT_LIBRARY_FLAG) $(XMGRAPH_LIBRARY_FLAG) \
	$(HTML_LIBRARY_FLAG) $(GSV_LIBRARY_FLAG) \
	$(HTTP_LIBRARY_FLAG) $(XBAE_LIBRARY_FLAG) \
	$(XMLIB) XawClientLibs $(NON_X_LIBRARIES)


#if (ProjectX < 5)
XCOMM CDEBUGFLAGS = LibraryCDebugFlags
 STD_DEFINES     = LibraryDefines

 LDOPTIONS       = $(LOCAL_LDFLAGS)
 VERSIONDEFINES  = -DPRER5 -DPRER6
#else
# ifdef ATHENA
  ATHENAVERSION = -DATHENAR5
# endif
# if (ProjectX < 6)
  VERSIONDEFINES  = $(ATHENAVERSION)  -DPRER6
# else
  VERSIONDEFINES  = $(ATHENAVERSION)
# endif
XCOMM STD_INCLUDES    = -I/usr/local/X11R5/include
#endif

DEFINES = \
	$(VERSIONDEFINES) -DWAFELIB=\"$(WAFELIB)\" \
	$(XPM_DEFINES) $(DBUG_DEFINES) $(COMPAT_DEFINES) \
	$(ATHENA_DEFINES) $(XAW3D_DEFINES) $(PLOTTER_DEFINES) \
	$(MOTIF_DEFINES) $(XMGRAPH_DEFINES) $(RDD_DEFINES) \
	$(LAYOUT_DEFINES) $(DBMALLOC_DEFINES) $(HTML_DEFINES) \
	$(HTTP_DEFINES) $(GSV_DEFINES) $(ITCL_DEFINES) \
	$(MTREE_DEFINES) $(XBAE_DEFINES) 

GENSRCS = \
	AtGen.c GsvGen.c MiscGen.c Xaw5Gen.c XawGen.c $(XBAE_SRCS) \
	Xm12Gen.c Xm20Gen.c XmGen.c XmGrGen.c XtGen.c \
	htmlGen.c $(HTTP_SRCS) $(MTREE_SRCS) rddGen.c pixGen.c  \
	callback.c

SRCS =  $(WAFESHELL).c createW.c converters.c selection.c actionsCB.c mm.c \
	resources.c handlers.c wafeString.c $(RDD_SRCS) $(GENSRCS) 

OBJS = $(WAFESHELL).o
LIBOBJS =  \
	createW.o converters.o selection.o actionsCB.o mm.o \
	resources.o handlers.o wafeString.o pixGen.o \
	XtGen.o MiscGen.o XawGen.o Xaw5Gen.o XmGen.o Xm12Gen.o Xm20Gen.o \
	AtGen.o XmGrGen.o rddGen.o htmlGen.o GsvGen.o \
	$(HTTP_OBJS) $(RDD_OBJS) $(MTREE_OBJS) $(XBAE_OBJS) \
	callback.o

VOBJECTS = XawGen.o Xaw5Gen.o XmGen.o Xm12Gen.o Xm20Gen.o XmGrGen.o \
	AtGen.o XtGen.o pixGen.o \
	htmlGen.o rddGen.o converters.o resources.o \
	createW.o callback.o actionsCB.o handlers.o wafe.o

DEPLIBS = \
	$(TCL_DEP_LIB) $(DBUG_DEP_LIB) \
	$(XPM_DEP_LIB) $(PLOTTER_DEP_LIB) $(XAW3D_DEP_LIB)  \
	$(HTML_DEP_LIB) $(XMGRAPH_DEP_LIB) $(GSV_DEP_LIB) \
	$(HTTP_DEP_LIB) $(LAYOUT_DEP_LIB) $(XBAE_DEP_LIB) \
	lib$(WAFE).a

ComplexProgramTarget($(WAFE))
AllTarget(tcllib/tclIndex)

NormalLibraryObjectRule()

#if (ProjectX < 5)
lib$(WAFE).a: $(WAFE)_built
NormalLibraryTarget($(WAFE),$(LIBOBJS))
#else
NormalDepLibraryTarget($(WAFE),$(WAFE)_built $(LIBOBJS),$(LIBOBJS))
#endif

InstallLibrary($(WAFE),$(USRLIBDIR))

tcllib/tclIndex: $(WAFE)
	(cd tcllib; $(TCL_ENV_VAR) ../$(WAFE) --f buildIndex)


wafe.o: tcl.h version.h wafe.h wafe_strings.h
mm.o: wafe.h
converters.o: wafe.h
handlers.o: wafe.h
wafeString.o: wafe.h

tcl.h: $(TCL_H)
	$(RM) tcl.h
	$(LN) $(TCL_H) .

XCOMM # rules to generate the files, which are always generated by genc
wafe_quarks.h:
	$(GENC) MiscGen.spec
wafe_strings.h:
	$(GENC) MiscGen.spec
callback.c:
	$(GENC) MiscGen.spec

XCOMM # main work for genc
XtGen.c: genc XtGen.spec Xt.inc types
	$(GENC) XtGen.spec

XawGen.c: genc XawGen.spec athena.inc types
	$(GENC) XawGen.spec

Xaw5Gen.c: genc Xaw5Gen.spec athena5.inc types
	$(GENC) Xaw5Gen.spec

htmlGen.c: genc htmlGen.spec types gifread.inc html.inc xpmread.inc
	$(GENC) htmlGen.spec

httpGen.c: genc httpGen.spec types http.inc
	$(GENC) httpGen.spec

GsvGen.c: genc GsvGen.spec types 
	$(GENC) GsvGen.spec

XmGen.c: genc XmGen.spec motif.inc types
	$(GENC) XmGen.spec

Xm12Gen.c: genc Xm12Gen.spec motif12.inc types
	$(GENC) Xm12Gen.spec

Xm20Gen.c: genc Xm20Gen.spec motif20.inc types
	$(GENC) Xm20Gen.spec

XmGrGen.c: genc XmGrGen.spec types
	$(GENC) XmGrGen.spec

AtGen.c: genc AtGen.spec At.inc types
	$(GENC) AtGen.spec

MiscGen.c: genc MiscGen.spec misc.inc types
	$(GENC) MiscGen.spec

pixGen.c: genc pixGen.spec pixmap.inc types
	$(GENC) pixGen.spec

rddGen.c: genc rddGen.spec rdd.inc types rdd.c
	$(GENC) rddGen.spec

mtreeGen.c: genc mtreeGen.spec
	$(GENC) mtreeGen.spec

XbaeGen.c: genc XbaeGen.spec Xbae.inc
	$(GENC) XbaeGen.spec

#ifdef BUILD_TCL
$(TCL_DEP_LIB):
	(cd $(TCL_HOME); ./configure; $(MAKE))
#	(cd $(TCL_HOME); ./configure; $(MAKE); $(MAKE) install-libraries)
#endif

#ifdef HTML
$(HTML_DEP_LIB):
	(cd $(HTML_HOME); $(XMKMF); \
	$(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" cleano lib$(HTML_LIB).a)
#endif

#ifdef LAYOUT
# ifndef XAW3D
$(LAYOUT_DEP_LIB):
	(cd $(LAYOUT_HOME); $(XMKMF); \
	$(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" cleano lib$(LAYOUT_LIB).a)
# endif
#endif

#ifdef GHOSTVIEW
$(GSV_DEP_LIB):
	(cd $(GSV_HOME); $(XMKMF); \
	$(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" lib$(GSV_LIB).a)
#endif

#ifdef MTREE
$(MTREE_HOME)/Tree.o: $(MTREE_HOME)/Tree.c
	(cd $(MTREE_HOME); $(XMKMF); \
	$(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" Tree.o)
#endif

#ifdef DEBUG
$(DBUG_DEP_LIB):
	(cd $(DBUG_HOME); $(MAKE) lib)
#endif

#ifdef BUILD_XPM
$(XPM_DEP_LIB):
	(cd $(XPM_HOME); $(XMKMF); $(MAKE) Makefiles; cd lib; $(MAKE))
#endif

#ifdef BUILD_PLOTTER
$(PLOTTER_DEP_LIB):
	(cd $(PLOTTER_HOME); $(XMKMF); $(MAKE))
#endif

#ifdef BUILD_XAW3D
$(XAW3D_DEP_LIB):
	(cd $(XAW3D_HOME); $(XMKMF); $(MAKE) includes; $(MAKE))
#endif

#ifdef XMGRAPH
$(XMGRAPH_DEP_LIB):
	(cd $(XMGRAPH_HOME); $(XMKMF); $(MAKE) libgraph.a)
#endif

#ifdef BUILD_XBAE
$(XBAE_DEP_LIB):
	(cd $(XBAE_HOME); \
	$(XMKMF); $(MAKE) Makefile Makefiles; \
	cd ./src; $(MAKE))
#endif

c_code: $(GENSRCS) 

real_clean_version:
	rm -f $(VOBJECTS) $(WAFESHELL) 
	$(HTML_CLEAN) 

clean_version:
	rm -f $(VOBJECTS)
	$(HTML_CLEAN) 

wafe_built:
	$(MAKE) clean_version
	rm -f mofe_built
	touch $@

mofe_built:
	$(MAKE) clean_version
	rm -f wafe_built
	touch $@


doc:
	latex wafedoc.tex
	makeindex wafedoc.idx
	latex wafedoc.tex
	dvips -o ../hardcopy/wafedoc-a4.ps -t a4 wafedoc.dvi
	dvips -o ../hardcopy/wafedoc.ps wafedoc.dvi

install::
	-@mkdir $(WAFELIB)
	-@mkdir $(WAFELIB)/tcllib
	cp -r ./tcllib $(WAFELIB)

runtimedist:
	find wafe mofe libwafe.a libmofe.a tcl \
	    	/usr/lib/X11/wafe/tcllib /usr/lib/tcl \
		-regex ".*[a-z]$$" -type f -print | sort > distfiles

