#
# Example for linking demo Trace OCI program:
#
# deferred mode (default):
#	make -f atmoci.mk atmoci
#
# non-deferred mode:
#	make -f atmoci.mk NONDEFER=true atmoci
#
#
# NOTE:   ORACLE_HOME must be either:
#		. set in the user's environment
#		. passed in on the command line
#		. defined in a modified version of this makefile
#
# Following macro contains ORACLE libraries that are linked to create:
# OCILDLIBS	: OCI application executables
#

include $(ORACLE_HOME)/rdbms/lib/env_rdbms.mk

# fix reference from env_rdbms.mk
TRACEHOME=$(ORACLE_HOME)/otrace
# need to link against libtracept as well as libtrace
DEVTTLIBS=$(TTLIBS) $(LLIBEPCPT)

LDFLAGS=-L$(LIBHOME) -L$(ORACLE_HOME)/rdbms/lib -L$(ORACLE_HOME)/otrace/lib
ECHO=$(ORACLE_HOME)/bin/echodo
 
# directory that contain oratypes.h and other oci demo program header files
INCLUDE= -I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/rdbms/public \
         -I$(ORACLE_HOME)/plsql/public -I$(ORACLE_HOME)/network/public \
         -I$(ORACLE_HOME)/otrace/public -I.

#
CONFIG = $(ORACLE_HOME)/rdbms/lib/config.o

# module to be used for linking with non-deferred option
NDFOPT= $(ORACLE_HOME)/rdbms/lib/kpundf.o

# flag for linking with non-deferred option (default is deferred mode)
NONDEFER=false

# libraries for linking oci programs
OCILDLIBS= $(LIBCLIENT) $(DEVTTLIBS) $(LLIBCORE)

MAKEFILE = atmoci.mk

DEMO = atmoci
 
.SUFFIXES: .o 

MAKEDEMO= \
	@if [ "$(NONDEFER)" = "true" -o "$(NONDEFER)" = "TRUE" ] ; then \
	$(ECHO) $(CC) $(LDFLAGS) -o $(EXE) $? $(NDFOPT) $(OCILDLIBS) $(CLIBS); \
	else \
	$(ECHO) $(CC) $(LDFLAGS) -o $(EXE) $? $(OCILDLIBS) $(CLIBS); \
	fi

demo: $(DEMO)

$(DEMO):
	$(MAKE) -f $(MAKEFILE) build EXE=$@ OBJ=$@.o

build: $(OBJ)
	$(MAKEDEMO)

%.o: %.c
	$(CC) $(CFLAGS) -c $(INCLUDE) $<
cleanobjs:
	$(REMOVE) *.o
	$(REMOVE) *.int

