Re: [cc65] --create-dep for ca65?

From: <silverdr1wfmh.org.pl>
Date: 2010-05-02 20:20:25
On 2010-05-02, at 18:01, Oliver Schmidt wrote:

> Hi,
> 
>> With the exception of the (AFAIR recently discussed but don't remember the conclusion) paths
>> for the included files, which seem to be relative to the directory of compiler/assembler invocation
>> rather than the location of the source file - everything seems to work perfectly OK!
> 
> - The conclusion was that there's no spec saying that what the cc65
> compiler/assembler is doing is wrong. It's just not what the user
> expects - simply because most other C compilers (i.e. all I personally
> know of) do it differently.

Yup - as I wrote also - it is "natural" to me.

> - The -I $(SOURCEDIR) options in the Makefile are supposed to
> workaround that successfully. Don't they?

src/flash.s(3): Error: Cannot open include file `../includes/slowflash.s': No such file or directory

They might fix the "current directory" but fail on other cases.

>> http://zennon.internetdsl.pl/cc65projtest.tar.bz2
> 
> Some remarks:
> 
> - As the set of .d files is now identical to the set of .o files I
> don't see a reason for a DEPENDS variable anymore.

While not necessary, I believe it gives slightly better picture.

>  In case you don't agree with me I'd set DEPENDS := $(OBJECTS:.o=.d)

Agreed.

> - 'test' is a phony target too.

Yes, I often neglect this when doing quick tests, and equally often forget to get back to it later :-(

> 
> - The .d files don't need to be parsed for 'love' too, but I don't
> think that optimization is worth the complication...
> 

Could you be so kind as to elaborate a bit?

> - '--create-full-deps' isn't necessary

This is the artefact of testing

> and turns the Makefile most
> certainly useless for Windows users.

Because of the absolute paths, I guess? I might sound ignorant so have mercy (I ditched my last Windows system some time in late 2002) but doesn't cygwin (that was what I recall I used to bring some common unix tools, including make itself, to Windows back then) take care of that? Doesn't it change the access from C:\dir0\dir1\file0 to something like /drives/c/dir0/dir1/file0 ?

Or what is the problem with Windows here?

> Uz explicitly added the
> capability to omit the system headers using --create-deps for this
> reason.

I thought it was more to avoid the mostly unnecessary overhead and clutter in the results. It is hardly ever necessary to put dependencies on system includes, unless... both the compiler and the compilate are under development ;-)

> - The use of $* (the stem) is sort of deprecated - the GNU Make
> Manual: "You should generally avoid using `$*' except in implicit
> rules or static pattern rules."

I still have the bad, old habits then. Agreed, and corrected.

> - Refering to $(OBJECTDIR)/ unnecessarily reduces the reusability of
> the cl65 commands. Beside that $(@:.o=.d) just describes the idea
> better.

Agreed!

-- 
SD!

----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Sun May 2 20:20:34 2010

This archive was generated by hypermail 2.1.8 : 2010-05-02 20:20:37 CEST