Re: [cc65] Please critique this makefile

From: Oliver Schmidt <ol.sc1web.de>
Date: 2010-04-26 11:39:40
Hi,

>> Maybe you want then to change CC65_TAGRET to ifeq too for the sake of
>> harmonization.

> Hm, I thought I did. Didn't I? The only one left is CC65_HOME, which is
> different, because it is supposed to come from outside of the Makefile.

Sorry, I mixed up those two in the hurry. My idea was to set CC65_HOME
empty like the other macros and then use ifeq like the other macros.
That would give the user a good overview what macros are "input
variables" to the Makefile. A Windows user exlusively using your
Makefile coudl very well define CC65_HOME just there and not in the
system environment...

> http://zennon.internetdsl.pl/Makefile_20100426

Nice :-)

Another minor idea: The macro name CC65_TARGET came form the
cross-toolchain Makefile in the cc65 docs. In this cc65-only Makefile
you could name it just TARGET...

> I was still wondering if you could advice on elegant way for making e.g. the
> .map (and possibly other stuff) optional rather than hardcoded in
> $(PROGRAM): and clean:

I see your issue. The problem is that several options create
additional files. So 'clean' needs to know them. And I considered it
not elegant to have clean try to remove many well-known file
extenstions used by the cc65 linker.

However given the way the Make is planned to use on could argue that
deleting just every file in the "main" directory is acceptable like
this

clean:
	rm -f * $(OBJECTS) $(DEPENDS)
	rmdir $(OBJECTDIR)

Then there would be no "incompatibility" between any file-generating
linker flags and the clean goal. Someone who wants a mapfile could
then just say so in his LDFLAGS.

That brings me to another quirk I introduced. The three lines

CFLAGS  :=
ASFLAGS :=
LDFLAGS :=

should rather read

CFLAGS  =
ASFLAGS =
LDFLAGS =

because then (and only then) something like

LDFLAGS = -m $@.map

is going to work. (The other ':='s should stay as they are).

Regards,
Oliver
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Mon Apr 26 11:39:48 2010

This archive was generated by hypermail 2.1.8 : 2010-04-26 11:39:51 CEST