В подпакете может быть пустой каталог, называемый, скажем, "common", с make-файлом, в который копируются внешние файлы. Затем вы можете использовать цель dist-hook, чтобы переместить файлы непосредственно в версию "" общий "каталог, который будет заархивирован в архив. Таким образом, вам не нужно беспокоиться о том, что они валяются и редактируются. При копировании вы также перезаписываете Makefile.am, Makefile.in и Makefile в «common».
Пример в subpackage / common / Makefile.am (не проверено):
dist-hook:
cp -p $(top_srcdir)/../common/Makefile* $(top_srcdir)/../common/*.[ch] $(distdir)
Я не уверен на 100%, что это будет работать. Это может сломать остальную часть вашего пакета, в зависимости от того, где все остальное ожидает найти эти исходные файлы; вероятно, он сломается, если вы распакуете tarball и попытаетесь сделать dist оттуда. Вы должны знать, что этот вид обмана не одобряется. Но я надеюсь, что дал вам достаточно идей, чтобы поиграть с ними.