# $Id: src.lalr.front.Makefile,v 1.5 1992/06/27 14:01:01 cogito Exp $

DESTDIR = /tmp
DISTRIB = /TMP

IDL   = ../../idl
LIB   = ../../lib
LALR  = lalr
OLDCMR= ../../oldcmr
FMT   = ../../trafos/fmt

LIBS = 	$(LALR)/lalr.a $(OLDCMR)/oldcmr.a $(FMT)/fmt.a \
	$(LIB)/lib.a $(IDL)/IDL.a
IHDRS = -I$(OLDCMR) -I$(IDL) -I$(LIB) -I$(LALR)

AUSGABE=../..

SUBDIRS=lalr

SRC = cola_absprs.c ebnf2bnf.c option.c
HDR = option.h
ABSPRS=$(AUSGABE)/cola_absprs.exe
EBNF2BNF=$(AUSGABE)/cola_ebnf2bnf.exe

EXE = $(ABSPRS) $(EBNF2BNF)

# -DDEBUG_ABS, -DEBUG_GRC: causes additional tests which can be helpful
#			   to search bugs
# -DSTATISTIK: to get more statistical informations
# ALLDEB =   #  -DDEBUG_ABS -DEBUG_GRC -DSTATISTIK

# OPTIONS can be used to replace option "-O" by others, e.g. "-g" 
# to get a debugging version
CFLAGS = $(ALLDEB) $(IHDRS)

TIDY    = core a.out  *% *.o ERRS lintmsg
CLEAN   = $(TIDY) $(EXE) *.a
CLOBBER = $(CLEAN)

###########################################################################

all:	$(EXE)

install: $(EXE)
	-rm -f $(DESTDIR)/cola_absprs.exe
	cp $(ABSPRS) $(DESTDIR)/cola_absprs.exe
	chmod 0755 $(DESTDIR)/cola_absprs.exe
	-rm -f $(DESTDIR)/cola_ebnf2bnf.exe
	cp $(EBNF2BNF) $(DESTDIR)/cola_ebnf2bnf.exe
	chmod 0755 $(DESTDIR)/cola_ebnf2bnf.exe

distrib:        $(SRC) $(HDR)
	@if test ! -d $(DISTRIB)/lalr/front; \
		then umask 002; mkdir $(DISTRIB)/lalr/front; \
		else :; \
		fi
	cp $(SRC) $(HDR) Makefile $(DISTRIB)/lalr/front
	cd $(DISTRIB)/lalr/front; chmod 0644 $(SRC) $(HDR) Makefile
	@for dir in $(SUBDIRS) ; do \
	  ( echo "Distributing $$dir"; cd $$dir; \
		 make distrib DISTRIB=$(DISTRIB) ) ; \
	done

tidy:
	rm -f $(TIDY)
	-@for dir in $(SUBDIRS) ; do \
	  ( echo "Tidying in $$dir"; cd $$dir; make tidy );\
	done

clean:
	rm -f $(CLEAN)
	-@for dir in $(SUBDIRS) ; do \
	  ( echo "Cleaning in $$dir"; cd $$dir; make clean );\
	done

clobber:
	rm -f $(CLOBBER)
	-@for dir in $(SUBDIRS) ; do \
	  ( echo "Clobbering in $$dir"; cd $$dir; make clobber );\
	done


###########################################################################

$(LALR)/lalr.a:
	@(echo "making in lalr"; cd lalr; make all CC="$(CC)") 


###########################################################################

$(ABSPRS): cola_absprs.o $(LIBS)
	rm -f cola_absprs.exe
	$(CC) cola_absprs.o $(LIBS) $(CFLAGS) -o $(ABSPRS)


cola_absprs.o: $(IDL)/comar.h $(OLDCMR)/ccomarf.h \
	   $(LIB)/cmrlib.h $(LIB)/cmrio.h $(LALR)/privatlib.h \
	   $(LALR)/grammarcomp.h $(LALR)/contrafo.h $(LALR)/firstset.h \
	   $(LALR)/parserlib.h $(IDL)/prsiface.h $(LALR)/absparser.h

###########################################################################

$(EBNF2BNF): ebnf2bnf.o $(LIBS)
	rm -f cola_ebnf2bnf.exe
	$(CC) ebnf2bnf.o $(LIBS) $(CFLAGS) -o $(EBNF2BNF)


ebnf2bnf.o: $(IDL)/comar.h $(OLDCMR)/ccomarf.h \
	   $(OLDCMR)/ebnf.h $(OLDCMR)/filter.h \
	   $(LIB)/cmrlib.h $(LIB)/cmrio.h $(LALR)/privatlib.h







