include	../make_include

CFLAGS= -I../includes $(DFLAGS)
CPlusFlags=$(CFLAGS)

SRC= $(CORALROOT)/src
LIBS= $(CORALROOT)/src/libcoral.a -ll -lm -lc
MAKE=make

COMMON_SRCS= defunct.C \
	funct-args.C \
	print.C

COMMON_FILES = defunct.o \
	funct-args.o \
	print.o

FACTOR_SRCS= $(COMMON_SRCS) \
	adorn.C \
	basepreds.C \
	fullmagic.C \
	linearity.C \
	main.C \
	rule-factor.C \
	sipgen.C \
	siporder.C \
	supmagic.C

FACTOR_FILES= $(COMMON_FILES) \
	adorn.o \
	basepreds.o \
	fullmagic.o \
	linearity.o \
	main.o \
	rule-factor.o \
	sipgen.o \
	siporder.o \
	supmagic.o

FACTOR_OTHERS=factor.h magic.h exist.h funct.h magic-externs.h

EXIST_SRCS= $(COMMON_SRCS) \
	adorn_exist.C \
	cleanup.C \
	connect.C \
	main_exist.C \
	reduce.C \
	unit.C

EXIST_FILES= $(COMMON_FILES) \
	adorn_exist.o \
	cleanup.o \
	connect.o \
	main_exist.o \
	reduce.o \
	unit.o

EXIST_OTHERS=cleanup.h reduce.h

SRCS=$(FACTOR_SRCS) $(EXIST_SRCS)
OTHERS=$(FACTOR_OTHERS) $(EXIST_OTHERS)
OTHERINCLUDES=-I$(CPlusROOT)/include

all: magic exist

magic : $(FACTOR_FILES) libcoral
	$(CPlus) -o magic $(CPlusFlags) $(FACTOR_FILES) $(LIBS)
	chmod a+x magic

exist:  $(EXIST_FILES) libcoral
	$(CPlus) -o exist $(CPlusFlags) $(EXIST_FILES) $(LIBS)
	chmod a+x exist

.C.o:
	$(CPlus) -c $(CPlusFlags) $*.C

libcoral:
	(cd $(SRC) ; $(MAKE))

depend:
	makedepend -- $(CFLAGS) -- $(SRCS) $(OTHERINCLUDES)

clean:
	@rm -f *.o core magic *~

coq:
	co -q $(SRCS) $(OTHERS)

co:
	co $(SRCS) $(OTHERS)

col:
	co -l $(SRCS) $(OTHERS)

ci:
	ci $(SRCS) $(OTHERS)

ciu:
	ci -u $(SRCS) $(OTHERS)

# DO NOT DELETE THIS LINE -- make depend depends on it.

