
.SUFFIXES: .doc .h


BIN= rat2float float2rat rat2canon countrows rat2int
MPOBJ=

DOCHEADERS=rat2float.h float2rat.h rat2canon.h countrows.h
CC=gcc
CFLAGS=-g

RANLIB=ranlib

# Uncomment and edit the following for multiprecision support.

LRSDIR=../lrslib

# The rest of these should be ok if just uncommented.
# comment out the following to compile without multiprecision

CPPFLAGS+= -I$(LRSDIR)
CPPFLAGS+= -DLRSMP
VPATH=$(LRSDIR)
MPOBJ=lrsmp.o

.doc.h:
	perl ./doc2h.pl < $< > $@

all:  ${BIN}

docstrings: ${DOCHEADERS} 


.PHONEY: all clean install



rat2float.h: rat2float.doc

rat2float: rat2float.c rat2float.h $(MPOBJ) process_args.o
	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $(MPOBJ) process_args.o $(LDFLAGS) $<


rat2canon.h: rat2canon.doc

rat2canon: rat2canon.c rat2canon.h process_args.o ine_io.o $(MPOBJ)
	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ process_args.o ine_io.o $(MPOBJ) $(LDFLAGS) $<

rat2int.h: rat2int.doc

rat2int: rat2int.c rat2int.h process_args.o ine_io.o $(MPOBJ)
	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ process_args.o ine_io.o $(MPOBJ) $(LDFLAGS) $<


countrows.h: countrows.doc

countrows: countrows.c countrows.h $(MPOBJ) process_args.o
	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $(MPOBJ) process_args.o $(LDFLAGS) $<



float2rat.h: float2rat.doc

float2rat: float2rat.c float2rat.h process_args.o
	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ process_args.o $(LDFLAGS) $<

clean: 
	$(RM) *.o  core ${BIN} 

reallyclean: clean
	$(RM) $(DOCHEADERS)
