# Makefile for compiling Mathomatic for UNIX or Linux or Mac OS X.

CFLAGS		= -O -DUNIX
LDFLAGS		= -s
LIBS		= -lm

CFLAGS		+= $(READLINE:1=-DREADLINE)
LIBS		+= $(READLINE:1=-lreadline -lcurses)

PREFIX		= /usr/local

AOUT	=am
OBJECTS	=main.o am.o parse.o cmds.o simplify.o factor.o super.o \
	unfactor.o diff.o integrate.o complex.o list.o

all: $(AOUT)
	@echo Make completed.

test: $(AOUT)
	cd tests; ../$(AOUT) -c all.in >test.out; diff all.out test.out
	@echo All tests passed.

baseline: $(AOUT)
	cd tests; ../$(AOUT) -c all.in >all.out

$(OBJECTS): am.h externs.h proto.h

parse.o: parse.h

$(AOUT): $(OBJECTS)
	$(CC) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $(AOUT)

install: $(AOUT)
	install -m 0755 $(AOUT) $(PREFIX)/bin
	install -m 0644 am.1 $(PREFIX)/man/man1
	@echo Install completed.

clean:
	rm -f *.o
