CWEBTOTEX = cweave
TEXTODVI  = latex
DVITOPS   = dvips
DVITOPDF  = dvipdf
CWEBTOC   = ctangle
CC        = gcc
CCFLAGS   = -Wall -ansi -pedantic -O3 -g
CCLIBS    = -lgb -lm
RM        = rm
RMFLAGS   = -f

%.tex: %.w
	$(CWEBTOTEX) $*

%.dvi: %.tex
	$(TEXTODVI) $*
	$(TEXTODVI) $*

%.ps: %.dvi
	$(DVITOPS) $< -o $@

%.pdf: %.dvi
	$(DVITOPDF) $*

%.c: %.w
	$(CWEBTOC) $*

%: %.c
	$(CC) $(CCFLAGS) $< $(CCLIBS) -o $@

clean:
	$(RM) $(RMFLAGS) *~ *.o *.idx *.scn *.toc *.aux *.log *.dvi *.tex

destroy:
	$(RM) $(RMFLAGS) *.c *.h *.tex *.dvi *~ *.o *.idx *.scn *.toc *.aux *.log
