Существует цель cc_library с именем 'L', и цели cc_binary 'A', 'B', 'C' зависят от нее.
Библиотека L реализует инфраструктуру транзакций, содержит, например, простой массив символов длиной 100 и множество сложной логики в массиве.
Теперь целевому объекту B требуется больший размер данных, но целевым объектам A и C требуется меньший размер для одновременного хранения большего количества транзакций.
При использовании make-файла выполнимым способом является использование # ifdef / # else в L для установки различных значений макроса для длины. Затем зациклите A, B, C, соберите их с разными -D = A, -D = B и -D = C. Таким образом, lib L будет иметь разную длину массива в трех разных двоичных файлах.
Есть ли лучший способ реализовать это?
Могу ли я сделать то же самое в Базеле?