diff --git a/Makefile.am b/Makefile.am
index 3d72501..b8f11e6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -37,6 +37,7 @@
 docs/html/index.html: 
 	cd docs && ./builddocs.sh
 
-sdk:	$(DESTDIR)$(prefix)/bin/runAECpp docs/html/index.html $(icu_install) $(apr_install) $(xerces_install) $(activemq_install) $(apu_install)
-	echo "Building SDK with $(icu_install) $(apr_install) $(xerces_install) $(activemq_install) $(apu_install)  in target directory $(TARGETDIR)"
-	export APR_HOME=$(apr_install) ICU_HOME=$(icu_install) XERCES_HOME=$(xerces_install) ACTIVEMQ_HOME=$(activemq_install) APU_HOME=$(apu_install) UIMA_INSTALLDIR=$(DESTDIR)$(prefix) && ./buildsdk.sh $(TARGETDIR) $(CLEAN)
+sdk:	$(TARGETDIR)/uimacpp
+
+$(TARGETDIR)/uimacpp:
+	export APR_HOME=$(apr_install) ICU_HOME=$(icu_install) XERCES_HOME=$(xerces_install) ACTIVEMQ_HOME=$(activemq_install) APU_HOME=$(apu_install) UIMA_INSTALLDIR=$(DESTDIR)$(prefix) && ./buildsdk.sh $(TARGETDIR)
diff --git a/README.4src b/README.4src
index 96a4bdc..f4832b8 100644
--- a/README.4src
+++ b/README.4src
@@ -39,8 +39,8 @@
 
 3rd Party     Tested   Notes
 -------------------------------
-APR           1.6.5    v1.7 did not work on Mac OSX
-ICU           50.2     v58.2 did not work
+APR           1.6.5
+ICU           50.2     known problem with newer versions
 Xerces-C      3.1.4
 Java SDK      1.8
 ActiveMQ CPP  3.9.3    (optional) required only for the UIMA-AS service wrapper
@@ -128,7 +128,7 @@
 Install and Build the SDK tree
     make install
     make docs
-    make sdk TARGETDIR=loc_of_sdk_tree [CLEAN=clean]
+    make sdk TARGETDIR=loc_of_sdk_tree
 
   The SDK tree will be created in loc_of_sdk_tree/uimacpp. Package by:
     cd loc_of_sdk_tree
diff --git a/createRelease.txt b/createRelease.txt
index 8a1f531..139b861 100644
--- a/createRelease.txt
+++ b/createRelease.txt
@@ -32,7 +32,7 @@
 	tar -czf uimacpp-X.Y.Z-bin.tgz uimacpp
 
 7. rat scan of bin
-      java -jar apache-rat-0.8.jar  -dir uimacpp -e *.vcproj docs scriptators txt README RELEASE* examples  html > uimacpp-bin-linux
+      java -jar apache-rat-0.8.jar  -dir uimacpp -e .*vcproj docs scriptators txt README RELEASE.* examples  html > uimacpp-bin-linux
 
 8. sniff test of base sdk
 	cd uimacpp
diff --git a/uimacpp-make-sdk.sh b/uimacpp-make-sdk.sh
new file mode 100755
index 0000000..7dcef06
--- /dev/null
+++ b/uimacpp-make-sdk.sh
@@ -0,0 +1,142 @@
+#!/bin/sh
+
+#   Licensed to the Apache Software Foundation (ASF) under one
+#   or more contributor license agreements.  See the NOTICE file
+#   distributed with this work for additional information
+#   regarding copyright ownership.  The ASF licenses this file
+#   to you under the Apache License, Version 2.0 (the
+#   "License"); you may not use this file except in compliance
+#   with the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing,
+#   software distributed under the License is distributed on an
+#   #  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#   KIND, either express or implied.  See the License for the
+#   specific language governing permissions and limitations
+#   under the License.
+
+#
+# 1. Download and build all uimacpp 3rd party library dependencies
+# 2. Build uimacpp and run test cases
+# 3. Build uimacpp docs
+# 4. Assemble uimacpp SDK tree
+#
+
+set -e
+
+PREFIX=`pwd`/dependencies
+TARGET=`pwd`/target
+
+mkdir -p "$PREFIX"
+mkdir -p "$TARGET"
+
+#guess JAVA_HOME if not set
+if [ -z $JAVA_HOME ]; then
+    JAVA_HOME=$(dirname $(dirname $(dirname $(readlink -f $(which java)))))
+    if [ ! -f "$JAVA_HOME/include/jni.h" ]; then
+	echo Cannot guess JAVA_HOME. JAVA SDK installed?
+	exit
+    fi
+    echo guessing JAVA_HOME=$JAVA_HOME
+else
+    echo using specified JAVA_HOME=$JAVA_HOME
+fi
+
+# Install location for 3rd party components
+export APR_HOME=$PREFIX
+export APU_HOME=$PREFIX
+export XERCES_HOME=$PREFIX
+export ICU_HOME=$PREFIX
+export AMQ_HOME=$PREFIX
+
+# 3rd party component versons to use
+XERCES=xerces-c-3.1.4
+ICU=icu4c-50_2-src.tgz
+APR=apr-1.4.8
+APRUTIL=apr-util-1.6.1
+AMQCPP=activemq-cpp-library-3.9.3
+# Additional modifications may be needed below for changes to Xerces, ICU, or ActiveMQ-C++
+
+# Build xerces
+if [ ! -f "${XERCES}.tar.gz" ]; then
+    wget http://archive.apache.org/dist/xerces/c/3/sources/$XERCES}.tar.gz
+    tar -xf ${XERCES}.tar.gz
+fi
+#Modify next line if not version 3.1.x
+if [ ! -f "$XERCES/src/.libs/libxerces-c-3.1.so" ]; then
+    cd $XERCES
+    ./configure --prefix="$PREFIX"
+    make install
+    cd ..
+else
+    echo Xerces previously built
+fi
+
+# Build ICU
+if [ ! -f $ICU ]; then
+#Modify next line if not version 50.2
+    wget https://github.com/unicode-org/icu/releases/download/release-50-2/$ICU
+    tar -xzf $ICU
+fi
+if [ ! -f icu/source/bin/uconv ]; then
+    cd icu/source
+    ./runConfigureICU Linux --prefix="$PREFIX"
+    make install
+    cd ../..
+else
+    echo ICU previously built
+fi
+
+# Build APR
+if [ ! -f "${APR}.tar.gz" ]; then
+    wget http://archive.apache.org/dist/apr/${APR}.tar.gz
+    tar -xzf ${APR}.tar.gz
+fi
+if [ ! -f "$APR/build/apr_rules.out" ]; then
+    cd $APR
+    ./configure --prefix="$PREFIX"
+    make install
+    cd ..
+else
+    echo APR previously built
+fi
+
+# Build APR-UTIL
+if [ ! -f "${APRUTIL}.tar.gz" ]; then
+    wget http://mirrors.ocf.berkeley.edu/apache//apr/${APR-UTIL}.tar.gz
+    tar -xf ${APRUTIL}.tar.gz
+fi
+if [ ! -f ${APRUTIL}/apu-config.out ]; then
+    cd $APRUTIL
+    ./configure --prefix=$PREFIX --with-apr=$PREFIX/bin/apr-1-config
+    make install
+    cd ..
+else
+    echo "APR-UTIL previously built"
+fi
+
+# Build ActiveMQ-C++
+if [ ! -f ${AMQCPP}-src.tar.gz ]; then
+#Modify next line if not v3.9.3
+    wget http://archive.apache.org/dist/activemq/activemq-cpp/3.9.3/${AMQCPP}-src.tar.gz
+    tar -xf ${AMQCPP}-src.tar.gz
+fi
+if [ ! -f ${AMQCPP}/src/main/.libs/libactivemq-cpp.so ]; then
+    cd $AMQCPP
+    ./configure --prefix=$PREFIX --with-apr=$PREFIX/bin/apr-1-config
+    make install
+    cd ..
+else
+    echo "ActiveMQ C++" previously built
+fi
+
+# Now build UIMA
+
+./autogen.sh
+./configure --prefix=$TARGET --with-xerces=$PREFIX --with-apr=$PREFIX --with-apr-util=$PREFIX --with-icu=$PREFIX --with-activemq=$PREFIX --with-jdk=$JAVA_HOME/include' -I'${JAVA_HOME}/include/linux CXXFLAGS=-std=c++11
+make check
+make install
+make docs
+make sdk TARGETDIR=sdk
