delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/01/10/02:14:57

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.)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019