2 ms·
No need to talk about anything advanced. Line 2 and 3 for example make it impossible to override certain behavior you’ve set. >If you are insistent on make, st
by eska 3y ago
No need to talk about anything advanced. Line 2 and 3 for example make it impossible to override certain behavior you’ve set.
>If you are insistent on make, stick to GNU make, read the GNU make manual, understand make
I refer to this authoritative sounding comment while you miss out on the very basics like that.
- Arch-TK 3y ago>Line 2 and 3 for example make it impossible to override certain behavior you’ve set. This is intentional. It's not possible (unfortunately) to allow users to simultaneously be able to override a variable OR add to a variable in make. In the case of the FLAGS variables I usually prefer to append to allow users to add to the variables. As a compromise, in my own makefiles I explicitly ensure that these variables _only_ contain flags which are mandatory for the project to build correctly. In this case this was deviated from (with the warning flags, -fsanitize=address, -ggdb) because of the request of the project author. Would you rather an end user be able to quickly add LDFLAGS and CXXFLAGS or rather have the end-user have to copy the entire list of flags out of the makefile just so they can add one? I would say it's more common for someone to want to add a flag than to replace all the mandatory ones. If someone is using a sufficiently different compiler such that those flags are no longer relevant, they would likely need to modify the rest of the makefile. >I refer to this authoritative sounding comment while you miss out on the very basics like that. It's uncharitable to assume that just because you don't understand a decision someone made in something they wrote, that they must be ignorant about the tool they are using.