Index: /issm/trunk-jpl/etc/environment.sh
===================================================================
--- /issm/trunk-jpl/etc/environment.sh	(revision 24610)
+++ /issm/trunk-jpl/etc/environment.sh	(revision 24611)
@@ -446,3 +446,6 @@
 
 TRIANGLE_DIR="${ISSM_DIR}/externalpackages/triangle/install"
-ld_library_path_append "${TRIANGLE_DIR}/lib"
+if [ -d "${TRIANGLE_DIR}" ]; then
+	ld_library_path_append "${TRIANGLE_DIR}/lib"
+	dyld_library_path_append "${TRIANGLE_DIR}/lib"
+fi
Index: /issm/trunk-jpl/externalpackages/triangle/install-windows-static.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/triangle/install-windows-static.sh	(revision 24611)
+++ /issm/trunk-jpl/externalpackages/triangle/install-windows-static.sh	(revision 24611)
@@ -0,0 +1,34 @@
+#!/bin/bash
+set -eu
+
+
+# Constants
+#
+INSTALL_DIR="install"
+
+# Cleanup
+rm -rf ${INSTALL_DIR} src
+mkdir ${INSTALL_DIR} ${INSTALL_DIR}/include ${INSTALL_DIR}/lib src
+
+# Download source
+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/triangle.zip" "triangle.zip"
+
+# Unpack source
+unzip triangle.zip -d src
+
+# Copy customized source files to 'src' directory
+cp configs/makefile src
+cp configs/triangle.h src
+cp configs/windows/configure.make src
+
+# Compile
+cd src
+make static
+
+# Install
+cd ..
+cp src/libtriangle.* ${INSTALL_DIR}/lib
+cp src/triangle.h ${INSTALL_DIR}/include
+
+# Cleanup
+rm -rf src
Index: /issm/trunk-jpl/externalpackages/triangle/makefile
===================================================================
--- /issm/trunk-jpl/externalpackages/triangle/makefile	(revision 24610)
+++ /issm/trunk-jpl/externalpackages/triangle/makefile	(revision 24611)
@@ -1,5 +1,2 @@
-#Adaptation of Triangle makefile to compile only the triangle.c file, 
-#into a standalone library that can then be used to compile mex modules
-
 include ./configure.make
 
@@ -16,17 +13,34 @@
 endif
 
-TRILIBDEFS = -DTRILIBRARY
-
-all: triangle.$(LIB_EXT)
-
+SOURCES=triangle.c triangle.h
 OBJECTS=triangle.$(OBJ_EXT)
 
-triangle.$(LIB_EXT): $(OBJECTS)
-	$(AR) cr  triangle.$(LIB_EXT) $(OBJECTS)
-	$(RANLIB) triangle.$(LIB_EXT)
+all: libtriangle.$(STATIC_LIB_EXT) libtriangle.$(SHARED_LIB_EXT)
 
-triangle.$(OBJ_EXT): triangle.c triangle.h
+objects: $(OBJECTS)
+
+shared: libtriangle.$(SHARED_LIB_EXT)
+
+static: libtriangle.$(STATIC_LIB_EXT)
+
+triangle.$(OBJ_EXT): $(SOURCES)
 	$(CC) $(CSWITCHES) $(TRILIBDEFS) -c triangle.c
 
-clean: 
+libtriangle.$(STATIC_LIB_EXT): $(OBJECTS)
+	$(AR) cr $@ $(OBJECTS)
+	$(RANLIB) $@
+
+libtriangle.dll: $(SOURCES)
+	$(CC) $(CSWITCHES) $(TRILIBDEFS) -shared -o $@ triangle.c
+
+libtriangle.dylib: $(OBJECTS)
+	$(CC) $(CSWITCHES) $(TRILIBDEFS) -dynamiclib -install_name $(PREFIX)/$@ -o $@ triangle.c
+
+libtriangle.lib: $(OBJECTS)
+	lib -out:triangle.$(STATIC_LIB_EXT) $(OBJECTS)
+
+libtriangle.so: $(SOURCES)
+	$(CC) $(CSWITCHES) $(TRILIBDEFS) -shared -o $@ triangle.c
+
+clean:
 	rm -rf *.$(LIB_EXT) *.$(OBJ_EXT) *.LIB *.LST *.$(OBJ_EXT)bj *.BAK
Index: /issm/trunk-jpl/jenkins/windows
===================================================================
--- /issm/trunk-jpl/jenkins/windows	(revision 24610)
+++ /issm/trunk-jpl/jenkins/windows	(revision 24611)
@@ -41,5 +41,5 @@
 						petsc       install-3.6-win10.sh
 						metis       install-4.0-win10.sh
-						triangle    install-windows.sh
+						triangle    install-windows-static.sh
 						shell2junit install.sh"
 
