<!doctype linuxdoc system>
<article>
-
<title>Using GNU Make with cc65
<author><url url="mailto:ol.sc@web.de" name="Oliver Schmidt">
-<date>2014-04-12
<abstract>
How to build your program using the GNU Make utility.
PROGRAM = foobar
ifdef CC65_TARGET
-CC = $(CC65_HOME)/bin/cl65
+CC = cl65
CFLAGS = -t $(CC65_TARGET) --create-dep $(<:.c=.d) -O
LDFLAGS = -t $(CC65_TARGET) -m $(PROGRAM).map
else
endif
%.o: %.c
- $(CC) -c $(CFLAGS) -o $@ $<
+ $(CC) -c $(CFLAGS) -o $@ $<
$(PROGRAM): $(SOURCES:.c=.o)
- $(CC) $(LDFLAGS) -o $@ $^
+ $(CC) $(LDFLAGS) -o $@ $^
clean:
- $(RM) $(SOURCES:.c=.o) $(SOURCES:.c=.d) $(PROGRAM) $(PROGRAM).map
+ $(RM) $(SOURCES:.c=.o) $(SOURCES:.c=.d) $(PROGRAM) $(PROGRAM).map
</verb></tscreen>
<bf/Important:/ When using the sample Makefile above via copy & paste it is
make CC65_TARGET=c64
</verb></tscreen>
-The sample Makefile presumes the variable <tt/CC65_HOME/ to point to the
-directory cc65 is located in. Again there are several ways to define this
-variable but as its value typically won't change often it is best done as an
-environment variable. On Windows the cc65 .exe installer package takes care
-of creating a <tt/CC65_HOME/ environment variable.
-
<sect1>Understanding the sample Makefile<p>