frei0r-3.x introduced a `GNUmakefile, which afaict is there for the convenience of the user.
unfortunately, for me it creates more problems than it solves.
my builders (well actually: Debian's buildds) will now automatically use the GNUmakefile to build and deploy package.
building works fine, but somebody forgot to add an install target which breaks the deployment (into .deb packages): the build system should know best where to install which files - and now it doesn't even know that it is supposed to install files.
if the GNUmakefile is not there, then the builders will automatically detect CMake/ninja and use the proper invocation of these tools (so thinks go e.g. to /usr/lib rather than /usr/local/lib)
afaict, the only thing the GNUmakefile really provides is a quick way to build variants, like so:
... but at the expense of not being able to do many of the things that CMake/ninja allow me to do (like out-of-tree builds in a user-defined directory; or injecting special distro-specific build-flags)
but since none of the actual Make features (like dependency tracking) are used, i think it would be equally convenient for the user if you would wrap the build-invocations for the variants into a single shell-script:
./build.sh debug-clang-ninja
alternatively, the GNUmakefile could adhere to the GNU make standards, but i think this just busywork and doesn't really buy us anything.
frei0r-3.x introduced a `GNUmakefile, which afaict is there for the convenience of the user.
unfortunately, for me it creates more problems than it solves.
my builders (well actually: Debian's buildds) will now automatically use the
GNUmakefileto build and deploy package.building works fine, but somebody forgot to add an
installtarget which breaks the deployment (into .deb packages): the build system should know best where to install which files - and now it doesn't even know that it is supposed to install files.if the
GNUmakefileis not there, then the builders will automatically detect CMake/ninja and use the proper invocation of these tools (so thinks go e.g. to/usr/librather than/usr/local/lib)afaict, the only thing the
GNUmakefilereally provides is a quick way to build variants, like so:... but at the expense of not being able to do many of the things that CMake/ninja allow me to do (like out-of-tree builds in a user-defined directory; or injecting special distro-specific build-flags)
but since none of the actual Make features (like dependency tracking) are used, i think it would be equally convenient for the user if you would wrap the build-invocations for the variants into a single shell-script:
alternatively, the
GNUmakefilecould adhere to the GNU make standards, but i think this just busywork and doesn't really buy us anything.