Data Transformation Engine Services Guide

Chapter 21 – Adding the Adapter to Mercator Command Server
119
RESMGRD = libmercrmgr.a
RESMGR = -l mercrmgr
# optimized version
#CDEBUG = -O -DNDEBUG
# debug version
CDEBUG = -g -Winspect -Woptimize=0
CFLAGS = $(CDEBUG) -DTANDEM_OSS -D_XOPEN_SOURCE_EXTENDED -I . $(MERCVER) \
$(TANDEM_OSS_FLAGS) $(TANDEM_OSS_FLAGS1) $(TANDEM_OSS_FLAGS2) \
$(TANDEM_OSS_FLAGS3) $(ADAPTER_DEFS) $(HAVE_USER_ADAPTERS)
CC = c89
LD = c89
OBJ = vtableu.o
MERC1_OBJS = mercmain.o corevproc.o
# Targets
all: $(PLATAPID) mercator
#mercator is the Command Line Execution Engine
#intentional: $(SSLIBSL) $(ADAPTERS) is in list twice - tandem seems to have
problems resolving symbols in archive files.
mercator: $(MERC1_OBJS) $(PLATAPID) $(RESMGRD) $(MERCPID) $(MERCADPTD) \
$(MRESNAMED) $(SSLIBSD) $(ADAPTERSD) $(USER_ADAPTERSD)
$(LD) -o $@ $(CFLAGS) -L . $(MERC1_OBJS) $(MERCADPT) \
$(PLATAPI) $(USER_ADAPTERS) $(RESMGR) $(ADAPTERS) \
$(SSLIBS) $(BEATUXLIB) $(BEATUX) \
$(ADAPTERS) $(SSLIBS) $(MERCPI) $(PLATAPI) $(MRESNAME) \
$(TANDEM_LINK_FLAGS1)
$(LD) -Wsql=release2 -Wsqlcomp="NOREGISTER ON, RECOMPILE, COMPILE PROGRAM
STORE SIMILARITY INFO" -c $@
$(PLATAPID): $(OBJ)
ar -r $@ $(OBJ)
clean:
-${RM} $(OBJ) mercator
# object file dependencies
vtableu.o: vtableu.c
Add a line like the following to add your new adapter:
MY_NEW_ADAPTERD = libmynewadapter.a
MY_NEW_ADAPTER = -l mynewadapter
Then change the following 2 lines from:
mercator: mercmain.o vtableu.o $(RESMGRD) $(PLATAPID) $(SSLIBSD) $(ADAPTERSD) \
$(USER_ADAPTERSD)
$(LD) -o $@ $(MERC_OBJS) $(CFLAGS) -L . $(PLATAPI) $(RESMGR) $(ADAPTERS) \
$(USER_ADAPTERS) $(MY_NEW_ADAPTER) $(SSLIBS) -L $(BEATUXLIB) $(BEATUX) \
$(ADAPTERS) $(SSLIBS)
To:
mercator: mercmain.o vtableu.o $(RESMGRD) $(PLATAPID) $(SSLIBSD) $(ADAPTERSD) \
$(USER_ADAPTERSD) $(MY_NEW_ADAPTERD)
$(LD) -o $@ $(MERC_OBJS) $(CFLAGS) -L . $(PLATAPI) $(RESMGR) $(ADAPTERS) \
$(USER_ADAPTERS) $(MY_NEW_ADAPTER) $(SSLIBS) -L $(BEATUXLIB) $(BEATUX) \
$(ADAPTERS)\$(SSLIBS)
Note that in the first line, we add $(MY_NEW_ADAPTERD) after
$(USER_ADAPTERSD). This adds libmynewadapter.a as a dependency for the
Mercator Command Server. In the second line we add $(MY_NEW_ADAPTER)