[01:42] <foo> Not exactly sure where to ask a Makefile question
[01:42] <foo> Trying to write a Makefile to set up a project, eg. https://bpa.st/ZRTQ - but it's failing on source. Is this not possible?
[01:46] <sarnold> foo: Makefiles use tabs, not spaces
[01:46] <sarnold> foo: also, each line is executed in its own shell, so probably that venv/bin/activate isn't actually going to do anything for the next pip install line
[01:47] <sarnold> foo: (i'm not actually good at python things, but I *think* that venv activate thing just messes with settings in your current shell? maybe I'm wrong..)
[01:49] <foo> sarnold: oh, haha, that makes sense.
[01:49] <foo> I think you're right.
[01:49] <foo> sarnold: any other way to suppress echoing back the commands or is @ the preferred method?
[01:50] <sarnold> foo: @ is usual for that, yeah :)
[01:52] <mwhudson> be warned that future maintainers may hate you for using @ too much
[01:52] <sarnold> yeah, I basically only use it for @echo .. :)
[01:53] <sarnold> I want to have an idea what's going on when reading logs later, hehe
[01:53] <foo> ohh, I appreciate that sentiment - thank you
[02:23] <foo> Is there a way to run make by itself and have it default? 
[02:23] <foo> instead of make mycmd
[02:23] <foo> ?
[02:26] <sarnold> foo: 'make' on its own will automatically run the first target
[02:29] <foo> sarnold: oh. thanks. I think I'm doing this wrong, although it does work
[02:29] <foo> .go: go
[02:29] <foo> go:
[02:29] <foo>     @python3 -m venv venv
[02:29] <foo> ha
[02:29] <foo> I think I need PHONY
[02:29] <sarnold> yeah, .PHONY if you want something other than the first one :)
[02:30] <sarnold> oh, uh, that's something else
[02:31] <sarnold> .PHONY means 'there's no file with this name' -- .DEFAULT changes the target that's run when no target is given
[02:32] <foo> sarnold: thanks, this is my whole Makefile - https://bpa.st/2AIQ - if I run make by itself, I'm getting Makefile:5: *** missing separator.  Stop.
[02:32] <foo> I wonder if I have a syntax error?
[02:33] <sarnold> foo: yeah, I think several -- .go: ... introduces a *single suffix* rule, so that make will know how to compile a file ending in .go into a file without an extension at all.. then line 2 starts go:  and introduces a new block. the 'missing separator' is probably make sad that there's no blank line between these things
[02:34] <sarnold> foo: and don't forget what I said about tabs :) those spaces won't work
[02:38] <foo> sarnold: yeah yeah, you and your tabs... the tabs are getting lost in my copy/paste to the pastebin :P 
[02:38]  * foo had to disable expandtab on vim already :P 
[02:38] <foo> sarnold: ahh, ok, so I don't want go then
[02:39] <foo> sarnold: swapping .go with .PHONY worked, thanks :) 
[02:40] <sarnold> woot
[02:40] <foo> as in, I can now just run make 
[02:40] <foo> Been hearing about makefiles for a while, glad to take a stab at this
[02:43] <sarnold> make gets a bad rap, and I know I've seen some Makefiles that grew to be pretty complex beasts
[02:43] <sarnold> but I like how simple it is, if not very friendly at first :)
[02:45] <sarnold> if you're very precise with your rules, you can get some pretty crazy parallelism speedups; eg compiling the linux kernel, 'make -j 300' kind of thing can spin up 300 things at once and make some pretty impressive gains vs a plain 'make' on a single task at a time :)
[03:39] <mwhudson> the gnu make extensions consist of a mix of things that should always have been there and some things that should never ever be used under any circumstances afaict
[03:39] <mwhudson> (i'm hardly an expert on make or gnu make though)
[15:43] <Shariff> Hi there
[15:44] <Shariff> Where does my ubuntu server configure the network interface? I can't find the files that handle it. It's not /etc/network/interfaces, /etc/network/interfaces.d/*, /etc/dhcpcd.conf, /etc/dhclient.conf... networkctl does tell me the interface is configured... any ideas?
[15:45] <ogra> Shariff, /etc/netplan ... see the netplan.io website for examples
[15:45] <Shariff> ogra: thanks.. looking there!
[15:47] <Shariff> Yay! found it, thanks!
[17:59] <Shariff> it seems that my dns server is 127.0.0.53... according to resolv.conf... but resolvcectl status shows the correct dns servers for the interface.. what is going wrong between resolv and the dns from the link?
[20:00] <foo> Can someone help with this Makefile recipe? https://bpa.st/QHJQ
[20:01] <foo> The variable replacement doesn't seem to work properly, hmm.
[20:09] <foo> sarnold: in case you happen to be around :)
[20:09] <sarnold> oh hey foo :)
[20:10] <sarnold> heh, this has grown quite a lot since yesterday :) nice
[20:10] <sarnold> wow, does bash actually ask you for input on that?
[20:10] <foo> sarnold: yes! This is literally the last step in the puzzle, haha.
[20:10] <foo> sarnold: yes, but it's not displaying it properly in the URL 
[20:10] <foo> Oh, I wonder...
[20:11] <foo> sarnold: Not sure what I'm missing, I've tried a handful of variations here.
[20:11] <sarnold> the usual convention is to require the user to pass it as a variable, something like VERSION=3.1 make   or make VERSION=3.1   kind of thing
[20:12] <foo> sarnold: interesting, I suppose I could work with that.
[20:12] <foo> Less than desirable, but I'm on a time crunch.
[20:12] <sarnold> (they do different things, I don't remember off hand which one works better than the other, or why. sigh.)
[20:18] <foo> sarnold: if I passed in via env variable, how do I reference it in the URL?
[20:19] <foo> I've tried every variation for 20 minutes now. $(VERSION) $$(VERSION) $VERSION $$((VERSION))
[20:20] <foo> Nevermind, it's {VERSION}
[20:20] <foo> Nevermind, it's ${VERSION}
[20:21] <sarnold> foo: https://termbin.com/h8ri
[20:21] <sarnold> aha :)
[20:21] <foo> sarnold: thanks :D