Make работает так:
Target: dependencies
commands
На основании ваших сценариев вы можете попробовать этот тип Makefile:
Step20: output19
script20 #reads output19 and produces final output
Step19: output18
script19 # reads output18 and produces output19
.. etc ..
Step2: output1
script2 # reads output1 and produces output2
Step1:
script1 # produces output1
Таким образом, каждый сценарий не будет запущен до тех пор, пока не будет создан вывод предыдущего шага. Выполнение make Step20 пройдет по всей цепочке и начнется с script1, если ни один из выходов не существует. Или, если output15 существует, он запустит script16.