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

/**/# uncomment the following line if you have no write permission in the 
/**/# default BINDIR (usually /usr/bin/X11)
/**/# BINDIR=${HOME}/bin

/**/# if you have no socketpair on your system, you might try 
/**/# -DPIPES or -DSTREAMS. 
/**/# uncomment one of the following lines
/**/# COMPAT_DEFINES = -DSTREAMS
/**/# COMPAT_DEFINES = -DPIPES

/**/#COMPAT_DEFINES = -DWIDGETLISTTRACE

#undef MOTIF
#define ATHENA
#define DEBUG
#define XPM
#define XAW3D
#define LAYOUT
#define PLOTTER
#define XMGRAPH
#define RDD

/**/# currently unsupported packages
#undef XEDW
#undef XC

#  CDEBUGFLAGS     = -g
CDEBUGFLAGS     = -O2

/**/# if your local tcl configuration uses ../tcl6.5/stdlib.h (i bet you 
/**/# are on a sun) change TCL_INCLUDES to -I/usr/include  -I../tcl6.5
/**/# otherwise you will see a Type mismatch for Arg in X11/Intrinsics.h!!
TCL_INCLUDES    = ../tcl6.6
TCL_LDFLAGS     = -L../tcl6.6
TCL_LIBRARY     = -ltcl

#ifdef DEBUG
DBUG_LDFLAGS    = -L../dbug
DBUG_LIBRARY    = -ldbug
#else
DBUG_DEFINES    = -DDBUG_OFF
#endif
DBUG_INCLUDES   = -I../dbug

/**/################# secutity fence
#ifdef MOTIF
WAFE             = mofe
#undef ATHENA
#undef XAW3D
#undef PLOTTER  ### for now
#endif

#ifdef ATHENA
WAFE            = wafe
ATHENA_DEFINES  = -DATHENA
#undef XMGRAPH
#else
XAWLIB          =
XAW3D_DEFINES   = 
#endif

/**/################# configuration for various packages

#ifdef XPM
XPM_INCLUDES    = -I../xpm-3.2
XPM_LDFLAGS     = -L../xpm-3.2
XPM_LIBRARY     = -lXpm
XPM_DEFINES     = -DXPM
#endif

#ifdef RDD
RDD_DEFINES     = -DRDD
RDD_SRCS        = rdd.c
RDD_OBJS        = rdd.o
RDD_INCLUDES    =
#endif

#ifdef XAW3D
XAWLIB          = -lXaw3d
XAW3D_DEFINES   = -DXAW3D
#endif

/**/# we use the Layout widget from the XAW3D distribution
#ifdef LAYOUT
LAYOUT_INCLUDES    = 
LAYOUT_LDFLAGS     = 
LAYOUT_LIBRARY     = 
LAYOUT_DEFINES     = -DLAYOUT
#endif

#ifdef XMGRAPH
XMGRAPH_DEFINES     = -DXMGRAPH
XMGRAPH_INCLUDES    = -I../XmGraph
XMGRAPH_LDFLAGS     = -L../XmGraph
XMGRAPH_LIBRARY     = -lgraph
#endif


#ifdef XC
XC_INCLUDES      = -I..
XC_LDFLAGS       = -L../X11/Xc
XC_LIBRARY       = -lXc
XC_DEFINES       = -DXC
#endif

#ifdef PLOTTER
PLOTTER_INCLUDES = -I../plotter/At
PLOTTER_LDFLAGS  = -L../plotter/At
PLOTTER_LIBRARY  = -lAt
PLOTTER_DEFINES  = -DPLOTTER
#endif

#ifdef XEDW
XEDW_DEFINES     = -DXEDW
XEDW_OBJS        = XedwList.o edwlist.o
XEDW_SRCS        = Xedw/XedwList.c edwlist.c
#endif


#ifdef MOTIF
MOTIF_DEFINES    = -DMOTIF11
MOTIF_HOME       = /gnu/motif
MOTIF_LDFLAGS    = -L${MOTIF_HOME}
MCLIENTINCLUDES  = -I${MOTIF_HOME}/include/X11  -I${MOTIF_HOME}/include
XMLIB            = -lXm 
#  EXTENSIONLIB  = -lXext-R4
XTOOLLIB         = -lXt-R4
XLIB             = ${EXTENSIONLIB} -lX11-R4
XMULIB           = -lXmu-R4
PROTO_DEFINES    = -DNPROTO
#define ProjectX 4
/**/# On our system we have to compile MOTIF with the R4 versions of all
/**/# Libraries. We have separate R4 based libraries on the motif path
#ifdef XPM
XPM_LIBRARY      = -lXpm-R4
#endif
#ifdef PLOTTER
PLOTTER_LIBRARY  = -lAt-R4
#endif
#ifdef XAW3D
/**/# XAWLIB           = -lXaw3d-R4
#endif
#endif  /*MOTIF */


INCLUDES        = -I. ${MCLIENTINCLUDES} ${XMGRAPH_INCLUDES} \
		  ${XPM_INCLUDES} ${DBUG_INCLUDES} \
		  ${XC_INCLUDES} ${PLOTTER_INCLUDES} ${RDD_INCLUDES} \
		  ${LAYOUT_INCLUDES}
EXTRA_LIBRARIES = ${TCL_LIBRARY} ${DBUG_LIBRARY} -lm
LOCAL_LDFLAGS   = ${XPM_LDFLAGS} ${TCL_LDFLAGS} ${DBUG_LDFLAGS} \
		  ${XC_LDFLAGS}  ${PLOTTER_LDFLAGS} ${LAYOUT_LDFLAGS} \
		  ${MOTIF_LDFLAGS} ${XMGRAPH_LDFLAGS}
LOCAL_LIBRARIES = ${XPM_LIBRARY}  ${XC_LIBRARY} ${PLOTTER_LIBRARY} \
		  ${LAYOUT_LIBRARY} ${XMGRAPH_LIBRARY} ${XMLIB} XawClientLibs

#if (ProjectX < 5)
STD_DEFINES     = LibraryDefines
# CDEBUGFLAGS     = LibraryCDebugFlags
LDOPTIONS       = ${LOCAL_LDFLAGS}
VERSIONDEFINES  = -DPRER5
#else
#ifdef ATHENA
VERSIONDEFINES  = -DATHENAR5
#endif
#endif

DEFINES = ${VERSIONDEFINES} ${XPM_DEFINES} ${DBUG_DEFINES} ${COMPAT_DEFINES} \
	${ATHENA_DEFINES} ${XAW3D_DEFINES} ${XEDW_DEFINES} ${XC_DEFINES} \
	${PLOTTER_DEFINES} ${MOTIF_DEFINES} ${XMGRAPH_DEFINES} ${RDD_DEFINES} \
	${LAYOUT_DEFINES}

SRCS =  wafe.c createW.c converters.c selection.c actionsCB.c \
	XtGen.c MiscGen.c XawGen.c XawR5Gen.c XmGen.c AtGen.c XcGen.c \
	XmGraphGen.c rddGen.c $(XEDW_SRCS) callback.c $(RDD_SRCS)

OBJS =  wafe.o createW.o converters.o selection.o actionsCB.o \
	XtGen.o MiscGen.o XawGen.o XawR5Gen.o XmGen.o AtGen.o XcGen.o \
	XmGraphGen.o rddGen.o $(XEDW_OBJS) callback.o $(RDD_OBJS)

VOBJECTS = XawGen.o XawR5Gen.o XmGen.o XmGraphGen.o AtGen.o XtGen.o \
	rddGen.o rdd.o \
	wafe.o callback.o actionsCB.o


ComplexProgramTarget($(WAFE))

wafe.c: tcl.h

tcl.h:
	$(RM) tcl.h
	ln -s $(TCL_INCLUDES)/tcl.h .

XtGen.c: genc XtGen.spec basic.inc Xt.inc xpm.inc
	./genc XtGen.spec

XawGen.c: genc XawGen.spec list.inc stripChart.inc
	./genc XawGen.spec

XawR5Gen.c: genc XawR5Gen.spec
	./genc XawR5Gen.spec

XmGen.c: genc XmGen.spec motif.inc
	./genc XmGen.spec

XmGraphGen.c: genc XmGraphGen.spec
	./genc XmGraphGen.spec

AtGen.c: genc AtGen.spec AtHandCraft.inc
	./genc AtGen.spec

rddGen.c: genc rddGen.spec rdd.inc
	./genc rddGen.spec

clean_version:
	rm -f ${VOBJECTS}

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

