Index: Makefile.in
===================================================================
--- Makefile.in	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ Makefile.in	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -135,4 +135,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = @CFLAGS@
Index: configure
===================================================================
--- configure	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ configure	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -668,4 +668,5 @@
 CFA_BACKEND_CC
 BACKEND_CC
+CFA_NAME
 MAINT
 MAINTAINER_MODE_FALSE
@@ -3001,4 +3002,31 @@
 			# may require auto* software to be installed
 
+# Allow program name tansformation
+# will fille program_transform_name with appropriate sed regex
+
+#autoconf escapes $ and \ since automake wiill un-escape them.
+#Since we need to use the sed transform in autoconf we need to manualy un-escape these characters
+name_transform=`echo ${program_transform_name} | sed 's/\\$\\$/\\$/g' | sed 's/\\\\\\\/\\\/g'`
+cfa_name=`echo cfa | sed ${name_transform}`
+cc1_name=`echo cc1 | sed ${name_transform}`
+cpp_name=`echo cfa-cpp | sed ${name_transform}`
+
+#Trasforming cc1 will break compilation
+if ! test "${cc1_name}" = "cc1"; then
+    as_fn_error $? "Program transform must not modify cc1.
+		--program-sufix and --program-prefix not supported.
+		Use -program-transform-name='s/cfa$/[Desired name here]/' instead" "$LINENO" 5
+fi
+#We could support transforming cfa-cpp but since it is located in a unique subfolder we don't need to
+if ! test "${cpp_name}" = "cfa-cpp"; then
+    as_fn_error $? "Program transform must not modify cfa-cpp.
+		--program-sufix and --program-prefix not supported.
+		Use -program-transform-name='s/cfa$/[Desired name here]/' instead" "$LINENO" 5
+fi
+
+#Define the new name of the installed command
+CFA_NAME=${cfa_name}
+
+
 rm -f version
 echo ${PACKAGE_VERSION} > version		# file containing version number for other tools
@@ -3238,5 +3266,5 @@
 
 if test "$includedir" = '${prefix}/include'; then
- 	cfa_incdir="${cfa_prefix}/include/cfa"
+ 	cfa_incdir="${cfa_prefix}/include/${cfa_name}"
 else
  	cfa_incdir=${includedir}
@@ -3264,5 +3292,5 @@
 
 if test "$libdir" = '${exec_prefix}/lib'; then
- 	cfa_libdir="${cfa_prefix}/lib/cfa"
+ 	cfa_libdir="${cfa_prefix}/lib/${cfa_name}"
 else
  	cfa_libdir=${libdir}
Index: configure.ac
===================================================================
--- configure.ac	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ configure.ac	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -17,4 +17,30 @@
 AM_INIT_AUTOMAKE
 AM_MAINTAINER_MODE(enable)			# may require auto* software to be installed
+
+# Allow program name tansformation
+# will fille program_transform_name with appropriate sed regex
+AC_ARG_PROGRAM
+#autoconf escapes $ and \ since automake wiill un-escape them.
+#Since we need to use the sed transform in autoconf we need to manualy un-escape these characters
+name_transform=`echo ${program_transform_name} | sed 's/\\$\\$/\\$/g' | sed 's/\\\\\\\/\\\/g'`
+cfa_name=`echo cfa | sed ${name_transform}`
+cc1_name=`echo cc1 | sed ${name_transform}`
+cpp_name=`echo cfa-cpp | sed ${name_transform}`
+
+#Trasforming cc1 will break compilation
+if ! test "${cc1_name}" = "cc1"; then
+    AC_MSG_ERROR([Program transform must not modify cc1.
+		--program-sufix and --program-prefix not supported.
+		Use -program-transform-name='s/cfa$/[[Desired name here]]/' instead])
+fi
+#We could support transforming cfa-cpp but since it is located in a unique subfolder we don't need to
+if ! test "${cpp_name}" = "cfa-cpp"; then
+    AC_MSG_ERROR([Program transform must not modify cfa-cpp.
+		--program-sufix and --program-prefix not supported.
+		Use -program-transform-name='s/cfa$/[[Desired name here]]/' instead])
+fi
+
+#Define the new name of the installed command
+AC_SUBST(CFA_NAME, ${cfa_name})
 
 rm -f version
@@ -129,5 +155,5 @@
 
 if test "$includedir" = '${prefix}/include'; then
- 	cfa_incdir="${cfa_prefix}/include/cfa"
+ 	cfa_incdir="${cfa_prefix}/include/${cfa_name}"
 else
  	cfa_incdir=${includedir}
@@ -145,5 +171,5 @@
 
 if test "$libdir" = '${exec_prefix}/lib'; then
- 	cfa_libdir="${cfa_prefix}/lib/cfa"
+ 	cfa_libdir="${cfa_prefix}/lib/${cfa_name}"
 else
  	cfa_libdir=${libdir}
Index: src/Makefile.in
===================================================================
--- src/Makefile.in	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ src/Makefile.in	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -276,4 +276,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = @CFLAGS@
Index: src/benchmark/Makefile.am
===================================================================
--- src/benchmark/Makefile.am	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ src/benchmark/Makefile.am	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -18,5 +18,5 @@
 CFLAGS =
 AM_CFLAGS = -g -Wall -Wno-unused-function -O2
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 
 noinst_PROGRAMS = bench ctxswitch-coroutine ctxswitch-thread
Index: src/benchmark/Makefile.in
===================================================================
--- src/benchmark/Makefile.in	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ src/benchmark/Makefile.in	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -94,5 +94,5 @@
 AWK = @AWK@
 BACKEND_CC = @BACKEND_CC@
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 CCAS = @CCAS@
 CCASDEPMODE = @CCASDEPMODE@
@@ -104,4 +104,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 
Index: src/driver/Makefile.in
===================================================================
--- src/driver/Makefile.in	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ src/driver/Makefile.in	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -106,4 +106,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = @CFLAGS@
Index: src/examples/Makefile.am
===================================================================
--- src/examples/Makefile.am	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ src/examples/Makefile.am	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -18,5 +18,5 @@
 CFLAGS =
 AM_CFLAGS = -g -Wall -Wno-unused-function -O2
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 
 noinst_PROGRAMS = fstream_test vector_test avl_test Bench # build but do not install
Index: src/examples/Makefile.in
===================================================================
--- src/examples/Makefile.in	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ src/examples/Makefile.in	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -105,5 +105,5 @@
 AWK = @AWK@
 BACKEND_CC = @BACKEND_CC@
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 CCAS = @CCAS@
 CCASDEPMODE = @CCASDEPMODE@
@@ -115,4 +115,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 
Index: src/libcfa/Makefile.am
===================================================================
--- src/libcfa/Makefile.am	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ src/libcfa/Makefile.am	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -81,3 +81,3 @@
 
 maintainer-clean-local:
-	-rm -rf ${includedir}/*
+	-rm -rf ${includedir}/* ${libdir}/*
Index: src/libcfa/Makefile.in
===================================================================
--- src/libcfa/Makefile.in	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ src/libcfa/Makefile.in	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -201,4 +201,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = -quiet -no-include-stdhdr -XCFA -t -B${abs_top_srcdir}/src/driver ${EXTRA_FLAGS}
@@ -315,5 +316,5 @@
 libcfa_d_a_CFLAGS = -debug -O0
 stdhdr = ${shell echo stdhdr/*}
-cfa_includedir = ${CFA_INCDIR}
+cfa_includedir = $(CFA_INCDIR)
 nobase_cfa_include_HEADERS = ${headers} ${stdhdr} concurrency/invoke.h
 CLEANFILES = libcfa-prelude.c
@@ -1160,5 +1161,5 @@
 
 maintainer-clean-local:
-	-rm -rf ${includedir}/*
+	-rm -rf ${includedir}/* ${libdir}/*
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: src/prelude/Makefile.in
===================================================================
--- src/prelude/Makefile.in	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ src/prelude/Makefile.in	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -105,4 +105,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = @CFLAGS@
Index: src/tests/Makefile.am
===================================================================
--- src/tests/Makefile.am	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ src/tests/Makefile.am	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -30,5 +30,5 @@
 EXTRA_FLAGS =
 CFLAGS = -g -Wall -Wno-unused-function @CFA_FLAGS@ ${EXTRA_FLAGS}
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 
 .PHONY : list
Index: src/tests/Makefile.in
===================================================================
--- src/tests/Makefile.in	(revision e958ff8352d8c9f8add30af4b24004f996019960)
+++ src/tests/Makefile.in	(revision df47e2fe44d197c175959e907b74622b64a8430e)
@@ -113,5 +113,5 @@
 AWK = @AWK@
 BACKEND_CC = @BACKEND_CC@
-CC = @CFA_BINDIR@/cfa
+CC = @CFA_BINDIR@/@CFA_NAME@
 CCAS = @CCAS@
 CCASDEPMODE = @CCASDEPMODE@
@@ -123,4 +123,5 @@
 CFA_INCDIR = @CFA_INCDIR@
 CFA_LIBDIR = @CFA_LIBDIR@
+CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
 CFLAGS = -g -Wall -Wno-unused-function @CFA_FLAGS@ ${EXTRA_FLAGS}
