NRLIBDIR     = -L/usr/thor-local/lib
NRLIB        = -lrecipes_c

MYINCLUDEDIR = -I.  -I./include
MYLIBDIR     = -L.  -L./lib    $(NRLIBDIR)
MYLIBRARIES  = -lmxyzptlk      $(NRLIB)

INCFILES     = Attic.hxx \
               dlist.hxx \
	       menu.hxx \
	       mxyzptlk.hxx \
	       mxyzptlk_real.hxx \
	       mxyzptlk_complex.hxx \
	       mxyzptlk_DAC.hxx \
	       mxyzptlk.rsc \
	       numrecip.hxx \
	       slist.hxx \
	       threeVector.hxx \
	       threeVector.rsc \
	       twoVector.hxx \
	       twoVector.rsc \
               matrix.h \
               f2c.h

CPP_SOURCE  = Attic.cc \
              dlist.cc \
	      menu.cc \
	      mxyzptlk.cc \
	      nexcom.cc \
	      slist.cc \
	      threeVector.cc \
	      twoVector.cc \
              matrix.cc \
              normalForm.cc 

C_SOURCE    = binomcoeff_recursive.c \
	      gcd.c \
	      mod2pi.c \
	      nearint.c \
	      parsef.c \
	      strequals.c \
              cg.c \
              rg.c

LIBOBJECTS =  Attic.o \
              dlist.o \
	      menu.o \
	      mxyzptlk.o \
	      nexcom.o \
	      slist.o \
	      threeVector.o \
	      twoVector.o \
              binomcoeff_recursive.o \
	      gcd.o \
	      mod2pi.o \
	      nearint.o \
	      parsef.o \
	      strequals.o \
              matrix.o \
              rg.o \
              cg.o \
              normalForm.o

C++ = CC
C   = cc 

all: libmxyzptlk.a \
     complextest \
     concattest \
     coordTest \
     evaltest \
     hptest \
     pbtest \
     getTest \
     memoryTest \
     Lie_A_Test \
     Lie_B_Test \
     Lie_C_Test \
     Lie_D_Test \
     Lie_E_Test \
     Limit_B_Test \
     Limit_C_Test \
     Limit_D_Test \
     Limit_E_Test \
     Inverse_A_Test \
     Inverse_B_Test \
     Inverse_C_Test \
     newtonAA 

libmxyzptlk.a: 
	$(C++) -c $(CPP_SOURCE)
	$(C)   -c $(C_SOURCE)
	ar ruv libmxyzptlk.a $(LIBOBJECTS)
	ranlib libmxyzptlk.a
	rm $(LIBOBJECTS)

Lie_A_Test: 
	$(C++) -o Lie_A_Test $(MYINCLUDEDIR) Lie_A_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

Lie_B_Test: 
	$(C++) -o Lie_B_Test $(MYINCLUDEDIR) Lie_B_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

Lie_C_Test: 
	$(C++) -o Lie_C_Test $(MYINCLUDEDIR) Lie_C_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

Lie_D_Test: 
	$(C++) -o Lie_D_Test $(MYINCLUDEDIR) Lie_D_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

Lie_E_Test: 
	$(C++) -o Lie_E_Test $(MYINCLUDEDIR) Lie_E_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

Limit_B_Test: 
	$(C++) -o Limit_B_Test $(MYINCLUDEDIR) Limit_B_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

Limit_C_Test: 
	$(C++) -o Limit_C_Test $(MYINCLUDEDIR) Limit_C_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

Limit_D_Test: 
	$(C++) -o Limit_D_Test $(MYINCLUDEDIR) Limit_D_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

Limit_E_Test: 
	$(C++) -o Limit_E_Test $(MYINCLUDEDIR) Limit_E_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

Inverse_A_Test: 
	$(C++) -o Inverse_A_Test $(MYINCLUDEDIR) Inverse_A_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

Inverse_B_Test: 
	$(C++) -o Inverse_B_Test $(MYINCLUDEDIR) Inverse_B_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

Inverse_C_Test: 
	$(C++) -o Inverse_C_Test $(MYINCLUDEDIR) Inverse_C_Test.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

complextest: 
	$(C++) -o complextest $(MYINCLUDEDIR) complextest.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm
concattest: 
	$(C++) -o concattest $(MYINCLUDEDIR) concattest.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

coordTest: 
	$(C++) -o coordTest $(MYINCLUDEDIR) coordTest.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

evaltest: 
	$(C++) -o evaltest $(MYINCLUDEDIR) evaltest.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

hptest: 
	$(C++) -o hptest $(MYINCLUDEDIR) hptest.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

pbtest: 
	$(C++) -o pbtest $(MYINCLUDEDIR) pbtest.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

getTest: 
	$(C++) -o getTest $(MYINCLUDEDIR) getTest.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

memoryTest: 
	$(C++) -o memoryTest $(MYINCLUDEDIR) memoryTest.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

newtonAA : newtonAA.cc
	$(C++) -o newtonAA $(MYINCLUDEDIR) newtonAA.cc \
               $(MYLIBDIR) $(MYLIBRARIES) -lcomplex -lm

