#
#	(C)1993 Institute for New Generation Computer Technology
#		Read COPYRIGHT for detailed information.
#
#	Imakefile for DCP-System
#

MAINDIR =	./main
VISUALDIR =	./unix

#	MINC and VINC specify include files.
#
MINC =	${MAINDIR}/define.h ${MAINDIR}/typedef.h ${MAINDIR}/global.h \
	${MAINDIR}/debug.h ${MAINDIR}/vnode.h ${MAINDIR}/proto.h

VINC =	${VISUALDIR}/visual.h ${VISUALDIR}/proto.h

#	PSRC and POBJ specify program-parsing part.
#
PSRC =	${MAINDIR}/binding.c ${MAINDIR}/clause.c ${MAINDIR}/expression.c \
	${MAINDIR}/feature.c ${MAINDIR}/formula.c ${MAINDIR}/link.c \
	${MAINDIR}/print.c ${MAINDIR}/grammar.y
POBJ =	${MAINDIR}/binding.o ${MAINDIR}/clause.o ${MAINDIR}/expression.o \
	${MAINDIR}/feature.o ${MAINDIR}/formula.o ${MAINDIR}/link.o \
	${MAINDIR}/print.o ${MAINDIR}/y.tab.o

#	SSRC and SOBJ specify subsumption, spreading-activation and
#	backpropagating part.
#
SSRC =	${MAINDIR}/delete.c ${MAINDIR}/pressure.c ${MAINDIR}/probe.c \
	${MAINDIR}/literallist.c ${MAINDIR}/subsume.c ${MAINDIR}/absorb.c \
	${MAINDIR}/copy.c ${MAINDIR}/control.c ${MAINDIR}/allocate.c \
	${MAINDIR}/spread.c ${MAINDIR}/command.c ${MAINDIR}/debug.c \
	${MAINDIR}/info.c ${MAINDIR}/backp.c ${MAINDIR}/main.c \
	${MAINDIR}/speech.c ${MAINDIR}/special.c ${MAINDIR}/loop.c
SOBJ =	${MAINDIR}/delete.o ${MAINDIR}/pressure.o ${MAINDIR}/probe.o \
	${MAINDIR}/literallist.o ${MAINDIR}/subsume.o ${MAINDIR}/absorb.o \
	${MAINDIR}/copy.o ${MAINDIR}/control.o ${MAINDIR}/allocate.o \
	${MAINDIR}/spread.o ${MAINDIR}/command.o ${MAINDIR}/debug.o \
	${MAINDIR}/info.o ${MAINDIR}/backp.o ${MAINDIR}/main.o \
	${MAINDIR}/speech.o ${MAINDIR}/special.o ${MAINDIR}/loop.o

#	VSRC and VOBJ specify graphocal user interface part.
#
VSRC =	${VISUALDIR}/visual.c ${VISUALDIR}/button.c \
	${VISUALDIR}/callback.c ${VISUALDIR}/mark.c \
	${VISUALDIR}/draw1.c ${VISUALDIR}/draw2.c ${VISUALDIR}/draw3.c
VOBJ =	${VISUALDIR}/visual.o ${VISUALDIR}/button.o \
	${VISUALDIR}/callback.o ${VISUALDIR}/mark.o \
	${VISUALDIR}/draw1.o ${VISUALDIR}/draw2.o ${VISUALDIR}/draw3.o


#####	for `imake'	#####
#

#	SRCS1 and OBJS1 specify all object files.
#	(This is passed to `xmkmf')
#
SRCS1 =	${PSRC} ${SSRC} ${VSRC}
OBJS1 =	${POBJ} ${SOBJ} ${VOBJ}

#	SUBDIRS specifies sub-directories.
#
SUBDIRS =	${MAINDIR} ${VISUALDIR}

#	YACC specifies compiler-compiler.
#	(Either `bison -y' or `yacc' will do.)
#
YACC =	bison -y

#	CC specifies c-compiler, used as a linker.
#	(Either `gcc' or `cc' will do.)
#
CC =	gcc

#	CDEBUGFLAGS specifies options for debugging.
#
CDEBUGFLAGS =	-g

#	DEFINES specifies definition options.
#
DEFINES =	-DUNIX

#	SYS_LIBRARIES and LOCAL_LIBRARIES specify libralies.
#
SYS_LIBRARIES =		-lm
LOCAL_LIBRARIES =	${XLIB}

#---	dependency-rules	---
#
PROGRAMS =	dcp

ComplexProgramTarget_1(dcp,${LOCAL_LIBRARIES},${SYS_LIBRALIES})

${SOBJ} :
	(cd ${MAINDIR}; make all)

${POBJ} :
	(cd ${MAINDIR}; make all)

${VOBJ} :
	(cd ${VISUALDIR}; make all)

MakefileSubdirs(${SUBDIRS})
DependSubdirs(${SUBDIRS})
IncludesSubdirs(${SUBDIRS})
TagSubdirs(${SUBDIRS})
CleanSubdirs(${SUBDIRS})
