ROOTDIR = $(LF_ROOT)/src
include $(ROOTDIR)/commondefs

LCOPTS = -O2 -mips2 -DSTATS # -DSCAN_ONLY -DOVERHEAD_ONLY
LCINCS = -I$(ROOTDIR)/include 
LDIRT  =  lf_consts.h descr_file_yacc.c descr_file_lex.c

YFLAGS	= -d -l

GENCONSTS = $(ROOTDIR)/tools/consts.perl

TARGETS = liblight.a

CSRCS = \
	api.c		\
	compression.c	\
	context.c	\
	create.c	\
	dataflow.c	\
	draw.c		\
	draw_fb.c	\
	fileIO.c	\
	intersect.c	\
	io.c		\
	irisgl_driver.c	\
	lif_api.c	\
	rasterize.c	\
	read.c		\
	resample.c	\
	util.c		


CFILES = \
	$(CSRCS)	\
	descr_file_yacc.c \
	descr_file_lex.c

HSRCS = \
	fileIO.h	\
	lerp.h		\
	lightfield.h

LSRCS = \
	descr_file_lex.l

YSRCS = \
	descr_file_yacc.y

SPECSRCS = \
	consts.spec

COBJS = $(CFILES:.c=.o)

SRCS = $(CSRCS) $(HSRCS) $(LSRCS) $(YSRCS)
OBJS = $(COBJS)

liblight.a: lf_consts.h $(OBJS)
	$(AR) cruv $@ $(OBJS)

y.tab.c y.tab.h: descr_file_yacc.y
	$(YACCF) descr_file_yacc.y

descr_file_yacc.c: y.tab.h y.tab.c descr_file_yacc.y
	mv y.tab.c $@

descr_file_lex.c: descr_file_yacc.c descr_file_lex.l
	$(LEXF) descr_file_lex.l
	mv lex.yy.c $@

lf_consts.h: consts.spec $(GENCONSTS)
	($(ECHO) "/* DON'T EDIT THIS FILE. IT'S AUTOMATICALLY GENERATED FROM consts.spec */"; \
	 $(ECHO) "#ifndef LF_CONSTS_H";	\
	 $(ECHO) "#define LF_CONSTS_H";	\
	 $(ECHO) "";			\
	 $(GENCONSTS) consts.spec;	\
	 $(ECHO) "";			\
	 $(ECHO) "#endif /* ! LF_CONSTS_H */") > $@

install: $(TARGETS)

include	$(COMMONRULES)
# DO NOT DELETE
