######################################
# g48 Makefile
# by M. Andreoli (C) 1997
######################################

OBJS=parser.o lexer.o 
MAIN=g48
DEMO_SOURCES=fibo.c schur.c four.c
DEMO=$(DEMO_SOURCES:.c=)


YACC=bison -d -y --debug
#YACC=yacc -d -t

arc:=$(shell echo g48-`cat version.h | awk '{print $$3}' | tr -d \"`)

all:	$(MAIN) $(DEMO) 
.l.c:		
	flex -t $< > $@

lexer.o:	parser.y

$(MAIN):	$(OBJS)
		gcc $(OBJS) -lfl -o $(MAIN) 
		@echo -e 'Ok.\a'

lexer:	lexer.c
	gcc -DDEBUG lexer.c -lfl -o lexer
clean:
	rm  *.o 2> /dev/null
	rm y.tab.h 2> /dev/null
install:
	cp g48.1 /usr/man/man1
	ln -s  g48 /usr/local/bin/g48
	@echo "Ok."

$(DEMO): $(DEMO_SOURCES)
	gcc -E schur.c | g48 > schur
	g48 < fibo.c > fibo 
	g48 < four.c > four 
tar:
	touch $(arc).tar
	tar -uf $(arc).tar README kermrc Makefile $(DEMO_SOURCES) \
	hp parser.y lexer.l version.h g48.1 g48.mk
	gzip -9 $(arc).tar 
	mv $(arc).tar.gz $(arc).tgz
