LIB = libzem.a
LIB-routines = dbl2mpq.c zeexp.c zeexp_d.c zerandom.c zesin.c zesin_d.c \
	       zecos.c zecos_d.c zesinh.c zesinh_d.c zecosh.c zecosh_d.c \
	       zesqrt.c zesqrt_d.c zetan.c zetan_d.c zetanh.c zetanh_d.c

CFLAGS = -O -g -D_GNU_SOURCE -Wall
INCLUDES = -I. -I/usr/local/include -I/usr/X11R6/include -I/happy/clown/H-egcs-i686-linux-gnu/include
LDFLAGS = -L/usr/local/lib -L/usr/X11R6/lib

COMPILE = $(CC) -c -o $@ $(CFLAGS) $(INCLUDES) $<

.c.o:
	$(COMPILE)

all: $(PROGS) libmtest

$(PROGS): %: %.o $(LIB)
	$(CC) $(LDFLAGS) -o $@ $^ -lgmp

libmtest: libmtest.o testx.o Plot.o Progress.o image.o $(LIB)
	$(CC) $(LDFLAGS) -o $@ $^ -lgd -lpthread -lgmp -lXaw -lSM -lICE -lXt -lX11 -lXext -lm

libzem.a: $(LIB-routines:.c=.o)
	$(AR) rcs $@ $^

.PHONY: clean
clean:
	-rm *.o *.a $(PROGS)

Plot.o: PlotP.h Plot.h
Progress.o: ProgressP.h Progress.h
testx.o: Plot.h Progress.h zelibm.h
libmtest.o: zelibm.h

DISTFILES = libmtest.c testx.c Plot.h PlotP.h Plot.c Progress.h ProgressP.h \
	    Progress.c Makefile $(LIB-routines) zelibm.h image.c COPYING

.PHONY: dist
dist:
	ln -s . zelibm
	tar zcvf zelibm.tar.gz $(addprefix zelibm/,$(DISTFILES))
	rm zelibm
