diff --git a/Makefile.am b/Makefile.am
index f1700629c599486328d7d3d055a91babaf01da2c..ff06e19246ac428bb5189e1750ba459ee2d70395 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -120,7 +120,8 @@ dist_pkgdata_DATA       = data/capsule-shim.mk    \
                           data/shim-.gitignore    \
                           data/shim-Makefile.am   \
                           data/shim-README.in     \
-                          data/shim-configure.ac.in
+                          data/shim-configure.ac.in \
+                          data/shim-target-Makefile.am
 
 BUILT_SOURCES           = $(top_srcdir)/.version
 
diff --git a/data/capsule-init-project b/data/capsule-init-project
index 020f4b50b70fce47804b151f96088426d22f1ff6..07cff1bda3b7c3f07f9e5127139743794fa5e84b 100755
--- a/data/capsule-init-project
+++ b/data/capsule-init-project
@@ -191,9 +191,6 @@ echo Initialising configure.ac;
 
 sed \
     -e "1,/^\$/d" \
-    -e "s,@TARGET@,$escaped_target," \
-    -e "s,@AMTARGET@,$automake_target," \
-    -e "s,@LIB@,$escaped_lib," \
     -e "s,@RUNTIME_TREE@,$escaped_runtime_tree," \
     -e "s,@SEARCH_TREE@,$escaped_search_tree," \
     -e "s,@PACKAGE@,${lcbase}-proxy," \
@@ -203,6 +200,15 @@ sed \
 
 echo Initialising Makefile.am;
 
+sed \
+    -e "1,/^\$/d" \
+    -e "s,@RUNTIME_TREE@,$escaped_runtime_tree," \
+    -e "s,@SEARCH_TREE@,$escaped_search_tree," \
+    -e "s,@PACKAGE@,${lcbase}-proxy," \
+    -e "s,@VER@,$ver," \
+    < "$CAPSULE_MKINC/shim-Makefile.am" \
+    > Makefile.am;
+
 sed \
     -e "1,/^\$/d" \
     -e "s,@TARGET@,$escaped_target," \
@@ -213,8 +219,8 @@ sed \
     -e "s,@SEARCH_TREE@,$escaped_search_tree," \
     -e "s,@PACKAGE@,${lcbase}-proxy," \
     -e "s,@VER@,$ver," \
-    < "$CAPSULE_MKINC/shim-Makefile.am" \
-    > Makefile.am;
+    < "$CAPSULE_MKINC/shim-target-Makefile.am" \
+    >> Makefile.am;
 
 cp "$CAPSULE_MKINC/shim-.gitignore" .gitignore
 
diff --git a/data/shim-Makefile.am b/data/shim-Makefile.am
index 1e9aa824245282cec8fdb5542340769c1fef069d..a25dacf1d3d58ed119e4b80c4ad940bc798ec863 100644
--- a/data/shim-Makefile.am
+++ b/data/shim-Makefile.am
@@ -6,20 +6,12 @@ AUTOMAKE_OPTIONS = subdir-objects
 ACLOCAL_AMFLAGS  = -I m4
 AM_CFLAGS        = -std=c99 -D_GNU_SOURCE -Wall -Werror
 AM_CFLAGS       += $(CAPSULE_CFLAGS)
-
-CAPSULE_SONAMES := @TARGET@
-CAPSULE_VERSION_@AMTARGET@ := @VER@
 AM_CAPSULE_MKSTUBLIB_FLAGS :=
 
-lib_LTLIBRARIES = lib@LIB@.la
-
-nodist_lib@AMLIB@_la_SOURCES = shim/@TARGET@.c
-lib@AMLIB@_la_LDFLAGS = $(shim_ldflags_@AMTARGET@)
-lib@AMLIB@_la_LIBADD = $(CAPSULE_LIBS)
-
-CLEANFILES      = $(nodist_lib@AMLIB@_la_SOURCES) \
-                  $(nodist_lib@AMLIB@_la_SOURCES:.c=.map)
-BUILT_SOURCES   = $(nodist_lib@AMLIB@_la_SOURCES)
+CAPSULE_SONAMES :=
+lib_LTLIBRARIES =
+CLEANFILES      =
+BUILT_SOURCES   =
 
 include @CAPSULE_MKINC@/disabled.mk
 include @CAPSULE_MKINC@/capsule-shim.mk
diff --git a/data/shim-target-Makefile.am b/data/shim-target-Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..82af250a60282d8d28812d392b5bf15f2e51eb19
--- /dev/null
+++ b/data/shim-target-Makefile.am
@@ -0,0 +1,19 @@
+# vim:set ft=automake:
+# Processed by capsule-init-project. Everything before the first blank
+# line is removed during processing; the second blank line is to
+# provide some spacing between target libraries.
+
+
+# -------- @TARGET@ --------
+
+CAPSULE_SONAMES += @TARGET@
+CAPSULE_VERSION_@AMTARGET@ := @VER@
+lib_LTLIBRARIES += lib@LIB@.la
+
+nodist_lib@AMLIB@_la_SOURCES = shim/@TARGET@.c
+lib@AMLIB@_la_LDFLAGS = $(shim_ldflags_@AMTARGET@)
+lib@AMLIB@_la_LIBADD = $(CAPSULE_LIBS)
+
+CLEANFILES     += $(nodist_lib@AMLIB@_la_SOURCES) \
+                  $(nodist_lib@AMLIB@_la_SOURCES:.c=.map)
+BUILT_SOURCES  += $(nodist_lib@AMLIB@_la_SOURCES)