#@(#)makefile	2.71 (rl) 92/08/12
#******************************************************
# kaleido
#
#	Kaleidoscopic construction of uniform polyhedra
#
#	Author:
#		Dr. Zvi Har'El,
#		Deptartment of Mathematics,
#		Technion, Israel Institue of Technology,
#		Haifa 32000, Israel.
#		E-Mail: rl@gauss.technion.ac.il
#******************************************************

BINDIR=/usr/local/bin
MANDIR=/usr/local/man/man1

# Makefile for Unix, or MS-DOS with MS C, and GNU make.

CFLAGS = -O -s
OBJS =		kaleido.o scope.o
LIBS =		-lX11 -lm
INCS =	vidx11.h
DRIVE = 	a
PAGES = 	-o1

PROGS =		kaleido.c scope.c uniform.h kaleido.h vidx11.h vidmsdos.h vidjdyx.h\
			schwarz.c
MSS =		kaleido.man uniform.ms
UTILS =		makefile combine

all: 	kaleido

install:	all
	/bin/cp kaleido ${BINDIR}
	chmod +x ${BINDIR}/kaleido
	/bin/cp kaleido.man ${MANDIR}/kaleido.1

exe:
	@make kaleido.exe "CFLAGS=-F 1000" "OBJS=kaleido.obj scope.obj" \
	LIBS=graphics.lib INCS=vidmsdos.h
	
jdyx:
	@make "CFLAGS=-DJDYX -I$(HOME)/jdyx/src $(CFLAGS)" \
	"LIBS=-L$(HOME)/jdyx/src -lvt -lm"  INCS=vidjdyx.h

noscope:
	@make "CFLAGS=-DNOSCOPE $(CFLAGS)" OBJS=kaleido.o LIBS=-lm

kaleido kaleido.exe:	$(OBJS)
	$(CC) -o $@ $(CFLAGS) $(OBJS) $(LIBS)

$(OBJS):	kaleido.h

kaleido.o kaleido.obj:	uniform.h

scope.o scope.obj:	$(INCS)

schwarz:	schwarz.c
	$(CC) -o $@ $(CFLAGS) $? -lm

clean:
	rm -f *.o *.obj *~

distclean:	clean
	rm -f kaleido
	
cpio:	kaleido.cpio.Z kaleido.sccs.Z

kaleido.cpio.Z: $(PROGS) $(UTILS) $(MSS) 
	find $(PROGS) $(UTILS) $(MSS) -print| cpio -voc | compress -v >$@

kaleido.sccs.Z: $(PROGS) $(UTILS) $(MSS) 
	find SCCS -print| cpio -voc | compress -v >$@

doc:	kaleido.doc kaleido.ps uniform.doc uniform.ps sources.ps tables.ps

kaleido.doc:	kaleido.man
	groff -Tascii -man kaleido.man >$@

kaleido.ps:		kaleido.man
	groff -man kaleido.man >$@

uniform.doc:	uniform.ms
	sed "/^define \//d" uniform.ms | groff -Tascii -t -N -e -mgs >$@

uniform.ps:		uniform.ms kaleido combine
	rm -f poly.??? dual.???
	kaleido -ppoly -Pdual -f25.71428 >/dev/null
	sh combine | groff -p -t -N -e -mgs uniform.ms - >$@
	rm -f poly.??? dual.???

sources.ps:	$(PROGS) $(UTILS)
	pp $(PROGS) -x $(UTILS)>$@

tables.ps:	kaleido schwarz
	kaleido -d8 | pp -x -n0 -."ds R Uniform Polyhedra" >$@
	schwarz | pp -x -n0 -."ds R Schwarz Triangles" >>$@

floppy: kaleido.sccs.Z kaleido kaleido.exe
	doscp kaleido.sccs.Z kaleido kaleido.exe $(DRIVE):
