The Featureless Make is the original program and goal of the FLL.
The GNU Make, Autoconf, and all those build processes are unnecessarily complex.
A major problem with these build systems is that they try to manage installation as well as compilation.
A build system should be just that a build system.
Trying to handle how the built package gets installed should be done by system administrators or distributors.
By avoiding this, the code becomes simpler, more "featureless", easier to maintain, and easier to hack.
The Featureless Make, also called Fake, provides two primary ways to compile C, C++, and possibly other compiled languages:
- Using the "build" command.
- Using the "make" command.
The build command is as simple as it can be and follows a Featureless Settings Specification (FSS).
The make command (and its respective fakefile) provides a more advanced interface for handling complex build processes or compiling languages other than C/C++.
The build command (and subsequently the make command) currently provide some hard coded program settings, such as the indexer "ar" runs ar rcs.
Eventually such things will be expanded into an FSS setting and made customizable.
Both the build and make commands support a small subset of make and autoconf functionality to make transitioning easier or make it easy to work alongside make and autoconf.
To help with understanding and using the Featureless Make program, fully functional example build settings and fakefiles are created for the program bzip (specifically version 1.0.8):
There is also a fakefile pre-configured to run GNU Make within itself to compile the Linux kernel fom source:
Bzip2 may be found here: