I agree that is the first step to take, but I am supposing that, since build systems are a big business, some extensions to bash would be worth doing to take on that market. E.g. I think we would need a concept of lists of files so as to skip executing a command if all files in the list are older than some file that is required.
On 29 November 2016 at 02:21, Dennis Williamson <dennistwilliam...@gmail.com > wrote: > > > On Sun, Nov 27, 2016 at 7:25 PM, Robert Durkacz <robert.durk...@gmail.com> > wrote: > >> Has thought been given, over the years, to extending bash to do >> what make does, in the obvious way that I am about to describe? >> >> It would be a matter of having chosen build commands do nothing if their >> outputs are newer than their inputs. For example that is, cc file.c -o >> file.o should execute normally if file.c is the newer file but do nothing >> if file.o is newer. >> >> Then you would have a deterministic script to build a system that simply >> skipped steps determined to be unnecessary. >> >> It is possible to achieve this without changing bash but it seems like >> there would be leverage in having bash deliberately support this mode. >> > > > Use the newer-than test: > > source=file.c > object=file.o > [[ $source -nt $object ]] && cc "$source" -o "$object" > > > -- > Visit serverfault.com to get your system administration questions > answered. >