# -*- mode: makefile; -*- # ----------------------------------------------------------------------------- # $RCSfile: CalcAsync.mak.in,v $ # # See Copyright for the status of this software. # # The OpenSOAP Project # http://opensoap.jp/ # ----------------------------------------------------------------------------- SERVICE_NAME = CalcAsync SAMPLE_MESSAGE_DIR = CalcAsyncSampleMessages # console_client_PROGRAMFILES = CalcAsyncClient # cgi_client_PROGRAMFILES = CalcAsyncApp.cgi CLIENT_HTML_DIR = CalcAsyncHtml CLIENT_HTML_FILES = \ ${CLIENT_HTML_DIR}/AcceptedFooter.html \ ${CLIENT_HTML_DIR}/AcceptedHeader.html \ ${CLIENT_HTML_DIR}/CommonFooter.html \ ${CLIENT_HTML_DIR}/CommonHeader.html \ ${CLIENT_HTML_DIR}/ErrorFooter.html \ ${CLIENT_HTML_DIR}/ErrorHeader.html \ ${CLIENT_HTML_DIR}/RequestFooter.html \ ${CLIENT_HTML_DIR}/RequestHeader.html \ ${CLIENT_HTML_DIR}/ResultFooter.html \ ${CLIENT_HTML_DIR}/ResultHeader.html # cgi_service_PROGRAMFILES = CalcAsyncService.cgi # stdio_service_PROGRAMFILES = CalcAsyncService # SSML_IN_FILES = ${SERVICE_NAME}.ssml.in SSML_FILES = ${SSML_IN_FILES:.in=} WSDL_FILES = CalcAsyncService.wsdl # RPATH_COPTION = @RPATH_COPTION@ # prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ sysconfdir = @sysconfdir@ localstatedir = @localstatedir@ includedir = @includedir@ libdir = @libdir@ CC = @CC@ # OpenSOAP conf and data directory OPENSOAP_SYSCONFDIR = @sysconfdir@ OPENSOAP_LOCALSTATEDIR = @localstatedir@ OPENSOAP_SERVICE_LOCALSTATEDIR = ${OPENSOAP_LOCALSTATEDIR}/services SSML_DIR=${OPENSOAP_SYSCONFDIR}/ssml # SERVICE_DIR = @servicesdir@/${SERVICE_NAME} SERVICE_LOCALSTATEDIR = ${OPENSOAP_SERVICE_LOCALSTATEDIR}/${SERVICE_NAME} # CGI_BIN_DIR = @CGI_BIN_DIR@ # INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ # libiconv ICONV_LIBS = @ICONV_LIBS@ # libxml2 libs XML2_LIBS = @XML2_LIBS@ # ssl libs SSL_LIB_DIR = @SSL_LIB_DIR@ SSL_LIBS = @SSL_LIBS@ SSL_LDFLAGS = -L${SSL_LIB_DIR} ${RPATH_COPTION}${SSL_LIB_DIR} SSL_LIBS = SSL_LDFLAGS = # LIBS = @LIBS@ CC = @CC@ # PROGRAMS = \ ${console_client_PROGRAMFILES} \ ${cgi_client_PROGRAMFILES} \ ${stdio_service_PROGRAMFILES} \ ${cgi_service_PROGRAMFILES} # COMMON_LIBS=${XML2_LIBS} ${ICONV_LIBS} ${SSL_LIBS} ${LIBS} # # DEBUG_CFLAGS = -g CFLAGS = ${DEBUG_CFLAGS} -Wall -I${includedir} \ -DSERVICE_LOCALSTATEDIR=\"${SERVICE_LOCALSTATEDIR}\" # -DSERVICE_NAME=\"${SERVICE_NAME}\" \ # -DSERVICE_DIR=\"${SERVICE_DIR}\" CGI_CLIENT_CFLAGS = ${CFLAGS} -DCLIENT_CGI CGI_SERVICE_CFLAGS = ${CFLAGS} -DCONNECT_TYPE_CGI # COMMON_LDFLAGS = -L${libdir} ${RPATH_COPTION}${libdir} ${SSL_LDFLAGS} # #SECURITY_LIBS = -lOpenSOAPSecurity CLIENT_LIBS = ${SECURITY_LIBS} -lOpenSOAPClient SERVICE_LIBS = -lOpenSOAPService ${CLIENT_LIBS} CLIENT_LDFLAGS = ${COMMON_LDFLAGS} ${CLIENT_LIBS} ${COMMON_LIBS} SERVICE_LDFLAGS = ${COMMON_LDFLAGS} ${SERVICE_LIBS} ${COMMON_LIBS} SOURCES = CalcAsyncApp.c CalcAsyncClient.c CalcAsyncService.c OBJS=${SOURCES:.c=.o} CalcAsyncService.cgi.o CalcAsyncClient.cgi.o all: ${PROGRAMS} ${SSML_FILES} ## Make Client Programs CalcAsyncClient: CalcAsyncClient.o ${CC} -o $@ $^ ${CLIENT_LDFLAGS} CalcAsyncApp.cgi: CalcAsyncClient.cgi.o CalcAsyncApp.o ${CC} -o $@ $^ ${CLIENT_LDFLAGS} CalcAsyncClient.cgi.o: CalcAsyncClient.c CalcAsyncClient.h ${CC} ${CGI_CLIENT_CFLAGS} -c -o $@ CalcAsyncClient.c CalcAsyncClient.o: CalcAsyncClient.c CalcAsyncClient.h ${CC} ${CFLAGS} -c -o $@ CalcAsyncClient.c CalcAsyncApp.o: CalcAsyncApp.c CalcAsyncClient.h ${CC} ${CFLAGS} -c -o $@ CalcAsyncApp.c ## Make Service Programs CalcAsyncService: CalcAsyncService.o ${CC} -o $@ $^ ${SERVICE_LDFLAGS} CalcAsyncService.cgi: CalcAsyncService.cgi.o ${CC} -o $@ $^ ${SERVICE_LDFLAGS} CalcAsyncService.cgi.o: CalcAsyncService.c ${CC} ${CGI_SERVICE_CFLAGS} -c -o $@ $< ## Make SSML files ${SSML_FILES}: ${SSML_IN_FILES} CalcAsync.mak @for i in ${SSML_IN_FILES}; do \ s=`echo $$i | sed 's/\.in$$//'`; \ sed "s%\@servicesdir\@%${prefix}/services%g" > $$s < $$i; \ done ## Install Programs # install-console-client: ${console_client_PROGRAMFILES} @mkdir -p ${DESTDIR}${bindir}; \ for f in $^ ; do \ echo "$$f install to ${bindir}."; \ ${INSTALL_PROGRAM} \ $$f ${DESTDIR}${bindir}/$$f; \ done # install-cgi-client-programs: ${cgi_client_PROGRAMFILES} @mkdir -p ${DESTDIR}${CGI_BIN_DIR}; \ for f in $^ ; do \ echo "$$f install to ${CGI_BIN_DIR}."; \ ${INSTALL_PROGRAM} \ $$f ${DESTDIR}${CGI_BIN_DIR}; \ done install-cgi-client-datas: ${CLIENT_HTML_FILES} @mkdir -p ${DESTDIR}${CGI_BIN_DIR}/${CLIENT_HTML_DIR}; \ for f in $^ ; do \ echo "$$f install to ${CGI_BIN_DIR}."; \ ${INSTALL_PROGRAM} \ -m 0644 \ $$f ${DESTDIR}${CGI_BIN_DIR}/$$f; \ done install-cgi-client: install-cgi-client-programs install-cgi-client-datas # install-client: install-console-client install-cgi-client # install-common-service-datas: # @for d in ${SERVICE_DIR} ${SERVICE_LOCALSTATEDIR} ; do \ # if test -d ${DESTDIR}$$d; then \ # echo "$${d} exist."; \ # else \ # echo "mkdir -m 777 -p $${d}."; \ # mkdir -m 777 -p ${DESTDIR}$${d}; \ # fi; \ # done # install-ssml: ${SSML_FILES} @mkdir -p ${DESTDIR}${SSML_DIR}; \ for f in $^ ; do \ echo "$$f install to ${SSML_DIR}."; \ ${INSTALL_DATA} \ $$f ${DESTDIR}${SSML_DIR}/$$f; \ done install-stdio-service-programs: ${stdio_service_PROGRAMFILES} ${WSDL_FILES} @mkdir -m 777 -p ${DESTDIR}${SERVICE_LOCALSTATEDIR}; \ mkdir -p ${DESTDIR}${SERVICE_DIR}; \ for f in $^ ; do \ echo "$$f install to ${SERVICE_DIR}."; \ ${INSTALL_PROGRAM} \ $$f ${DESTDIR}${SERVICE_DIR}; \ done install-stdio-service-datas: install-common-service-datas install-ssml install-stdio-service: \ install-stdio-service-programs \ install-stdio-service-datas # install-cgi-service-programs: ${cgi_service_PROGRAMFILES} @mkdir -p ${DESTDIR}${CGI_BIN_DIR}; \ for f in $^ ; do \ echo "$$f install to ${CGI_BIN_DIR}."; \ ${INSTALL_PROGRAM} \ $$f ${DESTDIR}${CGI_BIN_DIR}/$$f; \ done install-cgi-service-datas: install-common-service-datas install-cgi-service: install-cgi-service-programs install-cgi-service-datas install-service: install-cgi-service install-stdio-service # install-samples: install-client install-service ## Install Service Programs and cgi client program install: install-service install-cgi-client ## clean objects and programs clean: rm -f ${OBJS} ${PROGRAMS} ENDPOINT_CGI = http://localhost/cgi-bin/CalcAsyncService.cgi ENDPOINT_SRV = http://localhost/cgi-bin/soapInterface.cgi ## Test Service Programs for Success Cases stest1: cat CalcAsyncSampleMessages/CalcAsyncAdd.xml | ./CalcAsyncService.cgi stest2: cat CalcAsyncSampleMessages/CalcAsyncSubtract.xml | ./CalcAsyncService.cgi stest3: cat CalcAsyncSampleMessages/CalcAsyncMultiply.xml | ./CalcAsyncService.cgi stest4: cat CalcAsyncSampleMessages/CalcAsyncDivide.xml | ./CalcAsyncService.cgi ## Test Client-Service Hookups for Success Cases ctest1: ./CalcAsyncClient -s ${ENDPOINT_CGI} -c EUC-JP Add 10 20 ctest2: ./CalcAsyncClient -s ${ENDPOINT_CGI} -c EUC-JP Subtract 10 20 ctest3: ./CalcAsyncClient -s ${ENDPOINT_CGI} -c EUC-JP Multiply 10 20 ctest4: ./CalcAsyncClient -s ${ENDPOINT_CGI} -c EUC-JP Divide 10 20 ## Test Client-Server-Service Hookups for Sync/Async Success Cases cstest1: ./CalcAsyncClient -s ${ENDPOINT_SRV} -c EUC-JP Add 10 20 cstest1a: ./CalcAsyncClient -s ${ENDPOINT_SRV} -c EUC-JP AddAsync 10 20 > tmp_msg cstest2: ./CalcAsyncClient -s ${ENDPOINT_SRV} -c EUC-JP Subtract 10 20 cstest2a: ./CalcAsyncClient -s ${ENDPOINT_SRV} -c EUC-JP SubtractAsync 10 20 > tmp_msg cstest3: ./CalcAsyncClient -s ${ENDPOINT_SRV} -c EUC-JP Multiply 10 20 cstest3a: ./CalcAsyncClient -s ${ENDPOINT_SRV} -c EUC-JP MultiplyAsync 10 20 > tmp_msg cstest4: ./CalcAsyncClient -s ${ENDPOINT_SRV} -c EUC-JP Divide 10 20 cstest4a: ./CalcAsyncClient -s ${ENDPOINT_SRV} -c EUC-JP DivideAsync 10 20 > tmp_msg ## Test Client-Server-Service with HopCounts for Sync/Async Success Cases cstest5: ./CalcAsyncClient -H 4 -s ${ENDPOINT_SRV} Add 10 20 cstest5a: ./CalcAsyncClient -H 4 -s ${ENDPOINT_SRV} AddAsync 10 20 > tmp_msg ## Test Client-Server-Service with ForwardPath file for Sync/Async Success Cases cstest6: ./CalcAsyncClient -F forward_path.txt -s ${ENDPOINT_SRV} Subtract 10 20 cstest6a: ./CalcAsyncClient -F forward_path.txt -s ${ENDPOINT_SRV} SubtractAsync 10 20 > tmp_msg ## Test Client-Server-Service with ForwardPath string for Sync/Async Success Cases cstest7: ./CalcAsyncClient -s ${ENDPOINT_SRV} \ -f http://fwdhost2.opensoap.jp/cgi-bin/soapInterface.cgi,http://fwdhost3.opensoap.jp/cgi-bin/soapInterface.cgi \ Multiply 10 20 cstest7a: ./CalcAsyncClient -s ${ENDPOINT_SRV} \ -f http://fwdhost2.opensoap.jp/cgi-bin/soapInterface.cgi,http://fwdhost3.opensoap.jp/cgi-bin/soapInterface.cgi \ MultiplyAsync 10 20 > tmp_msg ## Test Client-Server-Service with ForwardPath and HopCount for Sync/Async Success Cases cstest8: ./CalcAsyncClient -H 4 -F forward_path.txt -s ${ENDPOINT_SRV} Divide 10 20 cstest8a: ./CalcAsyncClient -H 4 -F forward_path.txt -s ${ENDPOINT_SRV} DivideAsync 10 20 > tmp_msg # Get the result for Async query cstestr: cat tmp_msg | ./CalcAsyncClient -s ${ENDPOINT_SRV} -c EUC-JP GetResult