MODULE_TOPDIR = ../..

include $(MODULE_TOPDIR)/include/Make/Module.make

PGM2 = r.mapcalc
PGM3 = r3.mapcalc

COMMON = \
	$(OBJDIR)/y.tab.o \
	$(OBJDIR)/lex.yy.o \
	\
	$(OBJDIR)/evaluate.o \
	$(OBJDIR)/expression.o \
	$(OBJDIR)/function.o \
	$(OBJDIR)/check.o \
	$(OBJDIR)/main.o \
	\
	$(OBJDIR)/xabs.o \
	$(OBJDIR)/xadd.o \
	$(OBJDIR)/xand.o \
	$(OBJDIR)/xatan.o \
	$(OBJDIR)/xcos.o \
	$(OBJDIR)/xdiv.o \
	$(OBJDIR)/xdouble.o \
	$(OBJDIR)/xeq.o \
	$(OBJDIR)/xeval.o \
	$(OBJDIR)/xexp.o \
	$(OBJDIR)/xfloat.o \
	$(OBJDIR)/xge.o \
	$(OBJDIR)/xgraph.o \
	$(OBJDIR)/xgt.o \
	$(OBJDIR)/xif.o \
	$(OBJDIR)/xint.o \
	$(OBJDIR)/xisnull.o \
	$(OBJDIR)/xle.o \
	$(OBJDIR)/xlog.o \
	$(OBJDIR)/xlt.o \
	$(OBJDIR)/xmax.o \
	$(OBJDIR)/xmedian.o \
	$(OBJDIR)/xmin.o \
	$(OBJDIR)/xmod.o \
	$(OBJDIR)/xmode.o \
	$(OBJDIR)/xmul.o \
	$(OBJDIR)/xne.o \
	$(OBJDIR)/xneg.o \
	$(OBJDIR)/xnot.o \
	$(OBJDIR)/xnull.o \
	$(OBJDIR)/xor.o \
	$(OBJDIR)/xpow.o \
	$(OBJDIR)/xrand.o \
	$(OBJDIR)/xround.o \
	$(OBJDIR)/xrowcol.o \
	$(OBJDIR)/xsin.o \
	$(OBJDIR)/xsqrt.o \
	$(OBJDIR)/xsub.o \
	$(OBJDIR)/xtan.o

LIST2 =	$(COMMON) \
	$(OBJDIR)/map.o \
	$(OBJDIR)/xcoor.o \
	$(OBJDIR)/xres.o

LIST3 =	$(COMMON) \
	$(OBJDIR)/map3.o \
	$(OBJDIR)/xcoor3.o \
	$(OBJDIR)/xres3.o

EXTRA_CFLAGS = $(READLINEINCPATH)
LIBES2 = $(GISLIB) $(BTREELIB) $(ROWIOLIB) $(READLINELIBPATH) $(READLINELIB) $(HISTORYLIB)
LIBES3 = $(G3DLIB) $(GISLIB) $(BTREELIB) $(READLINELIBPATH) $(READLINELIB) $(HISTORYLIB)

EXTRA_CLEAN_FILES = y.tab.c y.tab.h lex.yy.c y.output lex.backup

default: $(BIN)/$(PGM2) $(BIN)/$(PGM3) htmlcmd

$(BIN)/$(PGM2): $(LIST2) $(DEPLIBS2)
	$(CC) $(LDFLAGS) -o $@ $(LIST2) $(LIBES2) $(MATHLIB) $(XDRLIB)

$(BIN)/$(PGM3): $(LIST3) $(DEPLIBS3)
	$(CC) $(LDFLAGS) -o $@ $(LIST3) $(LIBES3) $(MATHLIB) $(XDRLIB)

y.tab.c y.tab.h: mapcalc.y
	$(YACC) -b y -d mapcalc.y

lex.yy.c: mapcalc.l y.tab.h
	$(LEX) -t mapcalc.l > $@

htmlcmd:
	$(MKDIR) $(GISBASE)/docs/html
	$(INSTALL) -m 644 $(PGM2).html $(GISBASE)/docs/html/
	$(INSTALL) -m 644 $(PGM3).html $(GISBASE)/docs/html/
