
FAB_BINDIR = $(HOME)/bin
FAB_MANDIR = $(HOME)/man
#FAB_BINDIR = /usr/local/bin
#FAB_MANDIR = /usr/local/man

LEX = flex -l
YACC = bison -y -d
CC = objc
CFLAGS = -q -O

OFILES = fab.o grammar.o token.o\
Fabricator.o Fabobject.o Fablist.o\
Fabstring.o Prettystring.o Copyright.o\
Source.o Header.o All.o Unit.o\
Include.o Definition.o Fabclass.o\
Methodsummary.o Methodtype.o Method.o\
Methodatom.o Example.o Doc.o\
Subtitle.o Note.o Seealso.o Dotlist.o Test.o\
Textlink.o Textanchor.o\
html.o nroff.o ascii.o rtf.o

.SUFFIXES: .m .ym .lm

.m.o:
	$(CC) -c $(CFLAGS) $*.m -o $*.o

.ym.o:
	$(YACC) $*.ym
	mv y.tab.c $*.m
	$(CC) -c $(CFLAGS) $*.m -o $*.o
	rm $*.m

.lm.o:
	$(LEX) $*.lm
	mv lex.yy.c $*.m
	$(CC) -c $(CFLAGS) $*.m -o $*.o
	rm $*.m

fab : $(OFILES)
	$(CC) $(CFLAGS) $(OFILES) -o fab

install : fab
	strip fab
	cp fab $(FAB_BINDIR)
	cp fab.1 $(FAB_MANDIR)/man1/fab.1

clean ::
	rm -f *.c *.P
	rm -f fab grammar.m token.m y.tab.h $(OFILES)

