CFLAGS = -I../../../include -O3 $(EXTRACFLAGS)
CYCFLAGS = $(CFLAGS)
CYCC = cyclone
LEX=cycflex
YACC=cycbison --defines

OBJ		=	MPolAdd.o MPolIn.o MPolOut.o MPolFree.o \
			MPolCopy.o

NC_OBJ		=	$(addprefix nc_,$(OBJ))

lib: $(OBJ)
	ar cruv ../../../lib/libmultpol-sun.a $(OBJ)

nocheck: $(NC_OBJ)
	ar cruv ../../../lib/libmultpol-sun-nc.a $(NC_OBJ)

lex.yy.cyc: lexpol.l y.tab.h
	$(LEX) -olexpol.tmp lexpol.l
	sed "s/char *\*/char ?/" lexpol.tmp > lex.yy.cyc
	rm lexpol.tmp

y.tab.cyc y.tab.h: translate.y
	$(YACC) -o y.tab.cyc $<

%.o: %.cyc
	${CYCC} ${CYCFLAGS} ${INCSTR} -o $@ -c $<

nc_%.o: %.cyc
	${CYCC} ${CYCFLAGS} --nochecks ${INCSTR} -o $@ -c $*.cyc

MPolAdd.o: MPolAdd.cyc
MPolIn.o: MPolIn.cyc lex.yy.cyc y.tab.cyc
MPolOut.o: MPolOut.cyc
MPolFree.o: MPolFree.cyc
MPolMult.o: MPolMult.cyc
MPolUnit.o: MPolUnit.cyc
MPolCopy.o: MPolCopy.cyc
MPolSub.o: MPolSub.cyc
MPolEqual.o: MPolEqual.cyc

