# Makefile to make the C programming guide and some of its example programs.

CC=gcc
CFLAGS=-O -pipe
LIBS=-lm -ll
YACC=bison
LEX=lex

all: opas.ps sumitup additup

opas.ps: opas.dvi
	dvips opas.dvi > opas.ps

opas.dvi: opas.tex code.sst
	slatex opas.tex ; slatex opas.tex

sumitup: parse.tab.c lex.yy.c
	$(CC) $(CFLAGS) parse.tab.c lex.yy.c -o sumitup $(LIBS)

parse.tab.h parse.tab.c: parse.y
	$(YACC) -d parse.y

lex.yy.c: lexer.l parse.tab.h
	$(LEX) lexer.l

additup: additup.c
	$(CC) $(CFLAGS) additup.c -o additup -lm

clean:
	rm -f core sumitup additup lex.yy.c parse.tab.[hc] *~ #*
	rm -f *.dvi *.aux *.toc *.log opas.ps
