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

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

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

NUMSRC=	 num.quick.c num.geod.c num.ortho.c
NUMOBJ=	 num.quick.o num.geod.o num.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= $(NUMOBJ) $(USEROBJ) $(OUTOBJ) $(MATHOBJ)


numgeod: $(OBJ)
	$(CC) $(OBJ) $(CFLAGS) -o numgeod $(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: $(NUMSRC)
	lint $(INCLUDE) $(NUMSRC) > lint

install: numgeod
	cp numgeod ../../bin

tags: *.c
	ctags *.c

clean:
	rm -f $(NUMOBJ) core numgeod lint tags

maketd:
	maketd $(INCLUDE) $(NUMSRC)

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

num.geod.o: ../include/master.h
num.geod.o: num.geod.c
num.ortho.o: ../include/master.h
num.ortho.o: num.ortho.c
num.quick.o: ../include/master.h
num.quick.o: num.quick.c

# DO NOT ADD ANYTHING HERE - WILL GO AWAY

