On Tue, Feb 11, 2014 at 07:16:35PM +0100, Markus Wichmann wrote: > On Tue, Feb 11, 2014 at 12:19:59PM +0000, Nick wrote: > > I was reading the opengroup specifications for make(1) recently[0], > > and found that even our standard makefile practise of using 'include' > > for config variables is nonstandard, as far as they're concerned. > > Needless to say I think 'include' is a perfectly reasonable feature > > to use, and it evidently works everywhere that people care about. > > > > But it got me thinking about what other features of make are worth > > using. Basically because I'm replacing a autotools horrorshow with > > plain make, but am not sure what the nicest way of allowing compile- > > time feature disabling is. Can 'ifdef' be relied upon, and does it > > tend to produce unreadable and buggy makefiles in anyone's > > experience? Are there other options, beyond asking people to comment > > out certain lines in a config.mk, to e.g. disable some LDFLAGS? > > > > If you want a nice looking user interface for choices, have a look at > kconf. Otherwise just assume that people know to look for the correct > variable to change what they need. Using autoconf just to spare people > the pain of opening an editor is really not worth it.
kconf? really? > By the way, I usually write my Makefiles for GNU make. Its > implementation may be bad, but its ideas are also used in mk. Good luck. > Why did make become the horrible cancer that it is today? Because > developers thought it inadequate in some respects and made > vendor-specific changes. Who's to say that won't happen for mk? I mean, > assuming it ever gets sufficient exposure (sorry guys, but technological > superiority doesn't guarentee market share, which is the primary reason > for autohell, cmake, and qmake), someone will want to change > something about it. Things will grow on it. mk will become just as > bloated as make, come 20 years or so. Because people like you choose to be insane. > Why? If Linux wasn't as configurable as it is, it would be completely > unusable, or would you rather compiler _all_ the drivers all the time? > Same for other software. Yes.