Вот некоторый псевдокод для того, что я хочу, чтобы мой make-файл делал:
if (A doesn't exist) or (B is newer than A):
rm -rf A
create an empty A
parallel_for X in (a large set of files):
if (X is newer than A):
update A using the contents of X
В приведенном выше псевдокоде A
- это база данных SQLite, B
- файл заголовка C, а каждый из файлов в «большом наборе файлов» - это исходный файл C.
По сути, если я изменю только один из исходных файлов C, я просто хочу, чтобы база данных была быстро обновлена, а не перестраивала всю базу данных с нуля.
Этот тип проблемы решается непосредственно в GNU make или мне придется прибегнуть к использованию скрипта?
Заранее спасибо!