Есть библиотека, которая используется в нескольких проектах. Структура исходного кода библиотеки приведена ниже.
library_up
library_dn_1
*.c
*.h
makefile
*.vcproj
library_dn_2
*.c
*.h
makefile
*.vcproj
inc
config_library_dn_1.h
config_library_dn_2.h
library_dn_1.h
library_dn_2.h
library_up.h
src
*.c
*.h
makefile
*.vcproj
*.sln
Библиотека library_up включает в себя функционал библиотек library_dn_1 и library_dn_2 плюс реализует некоторый дополнительный функционал. Она используется в разных проектах. В зависимости от проекта меняется набор define-ов в конфигурационных файлах config_library_dn_1.h и config_library_dn_2.h.
Есть проекты, в которых используются только библиотеки library_dn_1 и library_dn_2.
Сейчас все это собирается либо с помощью make, либо с помощью студии MSVC.
Предполагается, что библиотека library_up будет включаться в репозитории других проектов с помощью svn externals. Но у каждого проекта может быть свой config_library_dn_X.h.
Придумалось вот что. Вынести файлы config_library_dn_X.h из-под версионного контроля и генерировать их в проекте, который использует library_up, и потом (перед компиляцией) закидывать в library_up/inc.
Коллеги, буду признателен за замечания и конструктивную критику.
P.S.
Если ошибся форумом, пожалуйста, перенесите в правильный.