Для этого предназначены менеджеры пакетов.Что вы делаете, вы компилируете свой проект, а затем создаете пакет (например, .deb или .rpm), используя соответствующие инструменты.При этом вы можете указать, куда должны идти различные файлы в вашем пакете, а также на какие другие пакеты опирается ваш пакет.Они известны как «зависимости», и менеджеры пакетов, такие как apt и rpm, довольно хорошо их решают.
Вот официальное руководство по созданию пакетов для Debian, чтобы дать вам представление: http://www.debian.org/doc/maint-guide/
В качестве альтернативы, вы можете просто распространять вашу программу как есть и перечислять зависимости в инструкциях по установке;затем пользователям придется вручную устанавливать их через менеджер пакетов перед запуском вашей программы.