# file: doc/examples/functionlang/convert/C/Makefile

# IMPORTED VARIABLES
LIBDIR=/usr/local/scorpion/lib
BINDIR=/usr/local/scorpion/bin
CC=cc
IDLC=$(BINDIR)/idlc
PC=pc
CFLAGS=-I$(INCDIR)/C
IDLCFLAGS=
PFLAGS=
CP=cp
MV=mv
RM=rm -f
LEX=lex
MAKE=make
YACC=yacc
UTILITYVARS='CC=$(CC)' 'IDLC=$(IDLC)' 'PC=$(PC)' 'CFLAGS=$(CFLAGS)' \
	      'IDLCFLAGS=$(IDLCFLAGS)' 'PFLAGS=$(PFLAGS)' 'CP=$(CP)' \
	      'MV=$(MV)' 'RM=$(RM)' 'LEX=$(LEX)' 'MAKE=$(MAKE)' \
	      'YACC=$(YACC)'
CI=ci
CO=co -l

# LOCAL VARIABLES
SRC=main.c
OBJ=main.o
TESTDIR=../../test
LIB=$(LIBDIR)/libidl.a
IDLC=$(BINDIR)/idlc
MYSPECSDIR=../../specs
IDLCFLAGSLOC=-I${MYSPECSDIR} -I..

###########################################################

examples: convert
	$(RM) $(TESTDIR)/foo.foldedposC.aer $(TESTDIR)/bar.foldedposC.aer
	/bin/time convert < $(TESTDIR)/foo.foldedC.aer > $(TESTDIR)/foo.foldedposC.aer
	/bin/time convert < $(TESTDIR)/bar.foldedC.aer > $(TESTDIR)/bar.foldedposC.aer

convert:	$(OBJ) $(LIB) convert.h
	$(CC) -o convert $(CFLAGS) $(OBJ) convert.o $(LIB)

main.o:	main.c $(MYSPECSDIR)/posCconverts.h convert.h
	$(CC) $(CFLAGS) -I${MYSPECSDIR} -c main.c

convert.h:	convert.idl ../convertgen.idl ${MYSPECSDIR}/functionsem.idl \
			${MYSPECSDIR}/pos.idl ${MYSPECSDIR}/aswithpos.idl
	$(IDLC) $(IDLCFLAGS) $(IDLCFLAGSLOC) convert.idl

Clean:
	$(RM) *.o convert convert.Cdl convert.c convert.h *.list
