# Generated automatically from Makefile.in by configure.
TOP = ../..
srcdir = .


include $(TOP)/config/Makedefs

CCINCS = -I. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. -I$(TOP) 

CCCINCS = $(CCINCS)

BISON = bison -dv

CCCSRCS = \
	type_replace.cc \
	type_chk.cc \
	type_interface.cc \
	type_util.cc \
	desugar.cc \
	compiler.cc \
	code_generator.cc \
	cg_expr.cc \
	cg_print.cc \
	cg_util.cc \
	cg_var.cc \
	cg_locals.cc \
	cg_temps.cc \
	cg_opt.cc \
	parse.cc \
	environment.cc \
	SLList.cc \
	theta.tab.cc \
	lx_input.cc \
	v0.cc

CCSRCS = \
	Compiler.c \
	lex.yy.c

THISLIB = libcompiler.a
CONDITIONAL_BUILD = COMPILER
include $(TOPSRC)/config/libdefs

GENERATED = theta.l \
	theta.tab.cc \
	theta.tab.h \
	lex.yy.c \
	theta.2.l \
	parse.h \
	parse.cc

LDIRT = *.tab.* *.output

parse.h: $(srcdir)/parse.m4 $(srcdir)/parseH.m4 $(srcdir)/parseMacrosH.m4
	gm4 -I. -I$(srcdir) $(srcdir)/parseH.m4 > $@

parse.cc: $(srcdir)/parse.m4 $(srcdir)/parseCC.m4 $(srcdir)/parseMacrosCC.m4
	gm4 -I. -I$(srcdir) $(srcdir)/parseCC.m4 > $@


theta.tab.cc theta.tab.h: $(srcdir)/theta.y theta.l
	yacc -b theta -dv $(srcdir)/theta.y
	mv theta.tab.c theta.tab.cc
	$(srcdir)/fix theta.tab.cc
	$(srcdir)/fix theta.tab.h

theta.tab.o: theta.tab.cc
	$(CCC) $(CFLAGS) -DYYDEBUG -DYYERROR_VERBOSE -c theta.tab.cc 

lex.yy.c: theta.l theta.tab.h 
	lex theta.l
	$(srcdir)/fix lex.yy.c

theta.l: $(srcdir)/theta.1.l theta.2.l $(srcdir)/theta.3.l
	cat $(srcdir)/theta.1.l theta.2.l $(srcdir)/theta.3.l > $@

theta.2.l: $(srcdir)/keywords.d convert
	convert < $(srcdir)/keywords.d > $@

depend: $(GENERATED)

tags: $(CCSRCS) $(CCCSRCS) *.h types/*.h cache/*.h ../common/*.h
	etags $(CCSRCS) $(CCCSRCS) *.h types/*.h cache/*.h ../common/*.h
