@lanodan Mostly seconded, except:
> Don't hardcode, use pkg-config or environment variables on pretty much everything
Build systems that are normal makefiles with a 10-line "This works on Linux x86" and "This works on OpenBSD on ARM" that you call with `make CONF=linux386` or whatever, those tend to be easier to debug than some flaky pkg-config problem in a 300k generated makefile.
> Don't hardcode, use pkg-config or environment variables on pretty much everything
Build systems that are normal makefiles with a 10-line "This works on Linux x86" and "This works on OpenBSD on ARM" that you call with `make CONF=linux386` or whatever, those tend to be easier to debug than some flaky pkg-config problem in a 300k generated makefile.
> This works on Linux x86
Except Linux does not exists as an OS, it's at least often easy to fix those things with few sed commands.
> generated makefile
That's also a thing which IMHO shouldn't be done, do it like musl and drop a config.mk
> This works on Linux x86
Except Linux does not exists as an OS, it's at least often easy to fix those things with few sed commands.