# A makefile to compile embeded SQL C programs
#
# input: sta-select.sqc (a static SQL c program) and
#        dyn-select.sqc (a dynamic SQL c program)
# output: update, query  (executable codes)
#

DB2DIR = /opt/IBMdb2/V6.1
Cflags = -I $(DB2DIR)/include \
         -L $(DB2DIR)/lib \
         -R $(DB2DIR)/lib \
         -ldb2

all: demo-dynamic-sql


# The first thing is to connect to the database and precompile the programs.
# This generates C programs where all SQL commands (except dynamic SQL
# queries inside dyn-select.sqc) are replaced by subroutine calls.
#

demo-static-sql.c: demo-static-sql.sqc
                   db2 connect to cscc43
                   db2 prep demo-static-sql.sqc
                   db2 connect reset

# The next step is to compile the C programs and
# generate the executable codes.

demo-static-sql: demo-static-sql.c
                 gcc -Wall $(Cflags) -o demo-static-sql demo-static-sql.c

demo-dynamic-sql.c: demo-dynamic-sql.sqc
                    db2 connect to cscc43
                    db2 prep demo-dynamic-sql.sqc
                    db2 connect reset

demo-dynamic-sql:  demo-dynamic-sql.c
                   
