###########################################################################
#
# FairCom Corporation makefile for c-treeACE SQL Direct API Tutorials
#
###########################################################################

# c-treeACE base directory
ACEBASEDIR=../../..

# Directories in which c-tree header files are located
INCDIRS=-I$(ACEBASEDIR)/ctree.drivers/include -I$(ACEBASEDIR)/ctree.drivers/include/unix

# Compile options
CFLAGS=-fPIC -g -w -m32 $(INCDIRS) -DFAIRCOM_MOD -DDH_OS_UNIX -DDH_OS_UNIX_LINUX -o $@

# Directories in which c-tree libraries are located
LIBDIRS=$(ACEBASEDIR)/ctree.drivers/lib

# System libraries required for link
SYSLIBS=-lstdc++ -lpthread -lm -ldl

# Directory in which tutorial source code is located
SRCDIR=..

# Directory in which tutorial binaries are created
OUTDIR=..

ALL: \
	$(OUTDIR)/DSQL_Tutorial1 \
	$(OUTDIR)/DSQL_Tutorial2 \
	$(OUTDIR)/DSQL_Tutorial3 \
	$(OUTDIR)/DSQL_Tutorial4
	@echo The SQL.Direct tutorials are ready to run.
	@echo Type \'make run\' to run the tutorials.

$(OUTDIR)/DSQL_Tutorial1: $(SRCDIR)/DSQL_Tutorial1.c
	cc $(CFLAGS) $? -L$(LIBDIRS) -lctsqlapi $(SYSLIBS)

$(OUTDIR)/DSQL_Tutorial2: $(SRCDIR)/DSQL_Tutorial2.c
	cc $(CFLAGS) $? -L$(LIBDIRS) -lctsqlapi $(SYSLIBS)

$(OUTDIR)/DSQL_Tutorial3: $(SRCDIR)/DSQL_Tutorial3.c
	cc $(CFLAGS) $? -L$(LIBDIRS) -lctsqlapi $(SYSLIBS)

$(OUTDIR)/DSQL_Tutorial4: $(SRCDIR)/DSQL_Tutorial4.c
	cc $(CFLAGS) $? -L$(LIBDIRS) -lctsqlapi $(SYSLIBS)

clean:
	rm -f $(OUTDIR)/DSQL_Tutorial1
	rm -f $(OUTDIR)/DSQL_Tutorial2
	rm -f $(OUTDIR)/DSQL_Tutorial3
	rm -f $(OUTDIR)/DSQL_Tutorial4

run:
	@echo Running SQL.Direct Tutorial 1...
	LD_LIBRARY_PATH=$(LIBDIRS) $(OUTDIR)/DSQL_Tutorial1
	@echo ''
	@echo Running SQL.Direct Tutorial 2...
	LD_LIBRARY_PATH=$(LIBDIRS) $(OUTDIR)/DSQL_Tutorial2
	@echo ''
	@echo Running SQL.Direct Tutorial 3...
	LD_LIBRARY_PATH=$(LIBDIRS) $(OUTDIR)/DSQL_Tutorial3
	@echo ''
	@echo Running SQL.Direct Tutorial 4...
	LD_LIBRARY_PATH=$(LIBDIRS) $(OUTDIR)/DSQL_Tutorial4
	@echo ''
