From: pderbysh AT o DOT net (SpamKiLr) Newsgroups: comp.os.msdos.djgpp Subject: Trouble with make Organization: Spam Haters Anonymous, insert the three letter name of the country south of Canada and a dot before "net" to unmunge. Message-ID: <387976d3.341661358@news.globalserve.net> X-Newsreader: Forte Free Agent 1.11/32.235 Lines: 45 Date: Mon, 10 Jan 2000 06:15:27 GMT NNTP-Posting-Host: 207.176.153.147 X-Complaints-To: news AT primus DOT ca X-Trace: news2.tor.primus.ca 947485574 207.176.153.147 (Mon, 10 Jan 2000 01:26:14 EST) NNTP-Posting-Date: Mon, 10 Jan 2000 01:26:14 EST To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com No, it's not a "Missing separator. Stop." :-) It appears to be a bug with a variable in a dependency. I have something like: .PHONY: all all: $(VAR1) $(VAR2) $(VAR3) # What to name and where to put output files VAR1 = foo/bar/baz.quux VAR2 = foo/bar/bazola.info VAR3 = foo/bar/quuxfiles-description All I get is "Nothing to be done for all." -- but the file referred to by the first variable doesn't exist, so the phony target "all" should cause it to be updated. I added an "echo $(VAR1)" after a tab after the "all" line to see if it was even trying to update "all", and if so, whether the variable was correct. Both were the case. If I replace $(VAR1) with the actual path and filename in the dependency list for "all" I get "No rule to make target foo/bar/baz.quux. Stop." or the like. This despite there being in the makefile something like: $(VAR1) : foo bar baz quux quux foo baz bar What the devil is going on? The docs clearly state that variables are allowed in dependencies and in targets. Yet it seems like it is actually failing to handle them correctly in either! I do use Unixy slashes instead of backslashes in the actual paths that are used. All the filenames and directories are made from relative parts and a base directory variable with value "F:/Protomatter" (notice forward slash). (This is because I only intend to use the makefile locally, plus the makefile itself is located in F:/Protomatter/source.)