#
# fe Makefile
#
# @(#) Makefile 1.11@(#)
#

include ../idl_make_vars

FE_FILES	= \
		fe_declarator.cc \
		fe_private.cc \
		fe_init.cc \
		fe_interface_header.cc

FE_OBJS		= $(FE_FILES:.cc=.o)

FE_LIB_NAME	= libfe.a

all: y.tab.o lex.yy.o $(FE_LIB_NAME)

$(FE_LIB_NAME): $(FE_OBJS) y.tab.o lex.yy.o
	$(AR) $(ARFLAGS) $@ $(FE_OBJS) y.tab.o lex.yy.o
	$(RANLIB) $@

# Create the parser and lexer
y.tab.hh y.tab.cc: idl.yy
	rm -f idl.y.cc
	rm -f idl.yy.i
	cp idl.yy idl.yy.cc
	$(CCC) -E ${CPPFLAGS} idl.yy.cc | sed -e "s/^#.*//" | sed -e "s/INCLUDE/#include/" > idl.yy.i
	rm -f idl.yy.cc
	$(YACC) $(YFLAGS) idl.yy.i
	mv -f y.tab.c y.tab.cc
	mv -f y.tab.h y.tab.hh

lex.yy.cc: idl.ll y.tab.hh
	@$(RM) $@
	rm -f idl.ll.cc
	rm -f idl.ll.i
	cp idl.ll idl.ll.cc
	$(CCC) -E ${CPPFLAGS} idl.ll.cc | sed -e "s/^#.*//" | sed -e "s/INCLUDE/#include/" > idl.ll.i
	rm -f idl.ll.cc
	$(LEX) -t $(LEXFLAGS) idl.ll.i > $@

clean:
	rm -f idl.yy.i idl.ll.i $(FE_OBJS) $(FE_LIB_NAME) lex.yy.o y.tab.o *~

Dist:	y.tab.hh y.tab.cc lex.yy.cc
