On Wed, Nov 19, 2014 at 06:37:20PM -0800, Evan Gates wrote: > As we recently found out POSIX make is lacking. For fun I started to > write a POSIX sh script to build sbase (attached and linked[0]). I > don't know if we should use it, but it's food for thought after the > recent pain (including requiring a GNU tool). If there's interest I > can finish fleshing it out. The idea is simple, if the source file is > newer than the object file, compile it. If the object file is newer > than the binary, link it. And throw the libraries in on top of that. > If you miss parallel building it's easy enough to add. > > ./build # will build all outdated binaries > ./build clean # will clean > ./build tool # will build only what's necessary to bring tool up to date
Hi Evan, I'd prefer to stick to the existing makefile. It might be scary to say that it depends on GNU make but bear in mind that of all the make implementations I've tried only OpenBSD make had some trouble with it. I think sticking to GNU make will work fine for us. We are not crazy enough to start using the insane features that it does provide but something along the lines of $(BIN): $(LIB) is sane enough even if it does not work everywhere. This is really the only problem we've had so far. I do not want to start another sh vs makefile thread. It is fair to say that there exists a make implementation that is more intuitive than using a shell script to build a set of programs and libraries. Cheers, Dimitris