#
#  Make file: Makefile
#
#  Program:   symgeod (symbolic geodesics generator for project Riemann)
#
#  Contents:  This is the make file for the symgeod executable.
#

USERDIR= ../userinter
OUTDIR= ../output
MATHDIR= ../mathbase
INCLDIR= ../include

INCLUDE= -I$(INCLDIR)
DEBUG= -O
CFLAGS= $(DEBUG) $(INCLUDE)
LIB= -lm
CC= gcc

SYMSRC=	 quick.c geodesics.c ortho.c
SYMOBJ=	 quick.o geodesics.o ortho.o 
USERSRC= $(USERDIR)/userinter.c $(USERDIR)/IGuserinter.c
USEROBJ= $(USERDIR)/userinter.o $(USERDIR)/IGuserinter.o
OUTSRC=	 $(OUTDIR)/output.c
OUTOBJ=	 $(OUTDIR)/output.o
MATHSRC= $(MATHDIR)/*.c $(MATHDIR)/*.l $(MATHDIR)/*.y
MATHOBJ= $(MATHDIR)/mathbase.a

OBJ= $(SYMOBJ) $(USEROBJ) $(OUTOBJ) $(MATHOBJ)


symgeod: $(OBJ)
	$(CC) $(OBJ) $(CFLAGS) -o symgeod $(LIB)

$(MATHOBJ): $(MATHSRC) $(MATHDIR)/*.h $(INCLDIR)/master.h $(INCLDIR)/parsepoly.h
	( cd $(MATHDIR); make $(MFLAGS) )

$(USERDIR)/userinter.o: $(USERDIR)/userinter.c $(INCLDIR)/master.h \
  $(INCLDIR)/userinter.h
	( cd $(USERDIR); make $(MFLAGS) )

$(USERDIR)/IGuserinter.o: $(USERDIR)/IGuserinter.c $(INCLDIR)/master.h \
  $(INCLDIR)/userinter.h
	( cd $(USERDIR); make $(MFLAGS) )

$(OUTOBJ): $(OUTSRC) $(INCLDIR)/master.h
	( cd $(OUTDIR); make $(MFLAGS) )

lint: $(SYMSRC)
	lint $(INCLUDE) $(SYMSRC) > lint

install: symgeod
	cp symgeod ../../bin

tags: *.c
	ctags *.c

clean:
	rm -f $(SYMOBJ) core symgeod lint tags

maketd:
	maketd $(INCLUDE) $(SYMSRC)

# DO NOT DELETE THIS LINE - maketd DEPENDS ON IT
# Dependencies generated at: Tue Aug  1 20:23:47 EST 1989

geodesics.o: ../include/geodesics.h
geodesics.o: ../include/master.h
geodesics.o: geodesics.c
ortho.o: ../include/geodesics.h
ortho.o: ../include/master.h
ortho.o: ortho.c
quick.o: ../include/geodesics.h
quick.o: ../include/master.h
quick.o: quick.c

# DO NOT ADD ANYTHING HERE - WILL GO AWAY

