Готовые решения есть:
- множество ветвей проекта
- условные make-файлы и передача в них параметров при запуске компиляции
- отказ от ненужных компиляций проекта каждым участником и централизация сборки
А зачем, если и так всё работает? Безо всяких параметров и т.д. Ну, не наделаете Вы всех параметров на все случаи жизни И надо учесть, что многие пользователи ничего не знают о Makefile, об особенностях сборки и т.д. Да и не должны знать. У них СВОЯ работа, и нельзя от них этого требовать.
и ещё можно несколько вариантов предложить.
Как уже было сказано выше - проблема не в отсутствии решений, она в неверной организации процесса.
Однакож, все довольны. Можете предложить что-то другое? Только, желательно, чтобы пользователи НИЧЕГО не знали об особенностях сборки. У них и квалификации для этого нет, да и я хочу иметь возможность менять всё так как мне нужно, не задевая их.
Непонятно, как в этом случае реализуется контроль версий?
При этой схеме вообще очень много вопросов как? возникает.
Контроль версий делается внесением изменений в основной проект и применением команды import CVS.
Вопросы иногда возникают, но, как правило, их и CVS не может разрешить...