From 263ad9cc9560677d00bc2730ace4f0ee713370da Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Thu, 9 Nov 2017 17:49:41 +0000
Subject: [PATCH] init-project: Split out the part that is per-library

Signed-off-by: Simon McVittie <smcv@collabora.com>
---
 Makefile.am                  |  3 ++-
 data/capsule-init-project    | 16 +++++++++++-----
 data/shim-Makefile.am        | 16 ++++------------
 data/shim-target-Makefile.am | 19 +++++++++++++++++++
 4 files changed, 36 insertions(+), 18 deletions(-)
 create mode 100644 data/shim-target-Makefile.am

diff --git a/Makefile.am b/Makefile.am
index f1700629c..ff06e1924 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 020f4b50b..07cff1bda 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 1e9aa8242..a25dacf1d 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 000000000..82af250a6
--- /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)
-- 
GitLab