I'm very frustrated that I can't figure out how to make makefiles do very simple things. This is beyond me, who the hell came up with this madness
Top-level
I'm very frustrated that I can't figure out how to make makefiles do very simple things. This is beyond me, who the hell came up with this madness 30 comments
@zens haha, that explains so much. Yeah, I thought I could somehow simplify it for people by using make, I think I might just stick with shell scripts a while longer afterall @neauoire while i have been able to get makefiles to work before i sympathize. it's a needlessly annoying format with some frustrating limitations @neauoire The exceptionally shitty thing about Make is that there are SO many variants that extend the original make program written by Feldman in incompatible ways. Feldman wrote a paper in '78 on how his original make works. Knowing that you like portability, this is probably the make variant you want to target: http://ewald.cas.usf.edu/teaching/2004F/5156/packet/packet2.docs/05.make.pdf @neauoire You're very welcome. I've been in your position before ("what subset of make is the safest to target?"), so I know where to look for info :D! You can actually get somewhat far w/ 1978 make. I miss the lack of include files (to put user-settings in w/o checking it into version control), but I'm sure you'll manage :D! If it's helpful, here's the guide I generally use: https://cs.colby.edu/maxwell/courses/tutorials/maketutor/ It starts out with a very basic example and then complicates it step by step. I guess so that people can follow it to their desired level of complication. 🙃 I made my first makefile. Thanks for the help everyone! @zens yes! It's not totally finished but it does the thing I need @akkartik when he's shouting with his hands up in the burning rubbles of the orphanage? @neauoire You could probably make a ".tal.rom" suffix rule, though I don't know how much it would help (also they've sort-of been superceded in GNU make). @neauoire yeah I can never remember the syntax for anything, which is what I made my standard makefile that I copy and adapt between projects. I wanted to have all my build outputs be on a separate folder and to avoid as much unnecessary rebuilding as possible. The former is not straightforward to do at all. @neauoire The nonsense with the hard tabs is particularly annoying. people yelled at python for years about its significant whitespace, but grandfathered in make... https://web.archive.org/web/20030916203331/http://aegis.sourceforge.net/auug97.pdf |
@neauoire like most unix things, it was created as a simple hack to solve an immediate problem and accidentally started getting used by other people.
as a result it is a thing that was definitely not designed to be used by people for doing things
the original creator has acknowledged that if he knew that would happen, he would have made it not suck so much