Исходники в src. переводы в po. Остальные каталоги - понятно по названию. Чёткого стандарта нет. Советую просто взять несколько открытых проектов. Сравнить. Структура у них примерно похожая.
хм, а кто-нибудь знает аналог make на лиспе? типа как Scons на питоне/CMake, чтобы генерировало не ./configure на баше, а компилируемую прогу на лиспе (которая собирает программу, как cons/scons)
а то посетила идея оптимизировать ./configure: чего это оно тупо одни и те же тесты делает каждый раз при новом emerge по новому разу. Вместо этого надо бы хранить результаты тестов в OOБД с CL conditions (вроде pkg-congig, USE-флагов), и брать из базы, если окружение аналогичное для этого теста. Ложить в базу/кешировать, если ещё результата тестов в ней не было. Хранить 2-3 уровня окружения-sandbox'a, system/portage/overlay/1 packet's ebuild.
Вроде был какой-то дистрибутив линукса с пакетным менеджером на лиспе и похожими идеями (что-то вроде LogicFS).
нудный он. Если для кросскомпиляции и портируемости, все его заморочки нужны, а так, в обычной жизни -- не очень. В Makefile.am описывается структура проекта, потом aclocal/automake над ним шаманят и генерят ./configure, потом этом ./configure -- простой как бревно скрипт на шелле, который вручную тестирует, что в твоей системе есть, а чего нету.. если собираешь что-то из исходников во второй раз, для другого проекта -- он опять заново тестирует, общесистемной базы настроек у него нет
Jam, SCons - собирают быстрее раза в два чем за счет другого языка рецептов сборки (который можно отработать за один проход "рецепта для сборки", в отличие от Makefile). Поддерживают инкрементальную компиляцию и сами определяют основные зависимости в стандартных наследуемых рецептах (в Makefile надо все прописывать вручную)