# file: doc/examples/functionlang/convert/Pascal/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.p
OBJ=main.o
TESTDIR=../../test
LIB=$(LIBDIR)/libidlP.a
IDLC=$(BINDIR)/idlc
IDLSPECS=../../specs
IDLCFLAGSLOC=-s4 -k -I${IDLSPECS} -I.. -pf "-I${IDLSPECS}"

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

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

convert: $(OBJ) $(LIB) convert.h
	$(PC) -o convert $(PFLAGS) $(OBJ) convert.o $(LIB)

main.o:	main.p convert.h $(IDLSPECS)/posPconverts.p
	$(RM) posPconverts.i
	ln -s $(IDLSPECS)/posPconverts.p posPconverts.i
	$(PC) $(PFLAGS) -I${IDLSPECS} -c main.p

convert.h: convert.idl ${IDLSPECS}/functionsyntax.idl \
		${IDLSPECS}/pos.idl ../convertgen.idl
	$(RM) sourceposition.i
	ln -s $(IDLSPECS)/sourceposition.i sourceposition.i
	$(IDLC) $(IDLCFLAGS) $(IDLCFLAGSLOC)  convert.idl

Clean:
	$(RM) *.o convert convert.p convert.h convert.Cdl *.list \
		sourceposition.i posPconverts.i
