The 'all' target deliberately doesn't build the doc nor the samples. But that doesn't mean that the Makefiles in the 'doc' and 'samples' directories must default to the (empty) 'all' target.
htmldir = $(prefix)/share/doc/cc65$(DESTPACKAGE_SUFFIX)/html
infodir = $(prefix)/share/info
-all mostlyclean:
-
ifdef CMD_EXE
-clean install zip doc:
+doc clean install zip:
else # CMD_EXE
INSTALL = install
+doc: html info
+
+html: $(addprefix ../html/,$(SGMLS:.sgml=.html) doc.css doc.png)
+
+info: $(addprefix ../info/,$(SGMLS:.sgml=.info))
+
+../html ../info:
+ @mkdir $@
+
+../html/%.html: %.sgml header.html | ../html
+ @cd ../html && linuxdoc -B html -s 0 -T $(TOC_LEVEL) -H ../doc/header.html ../doc/$<
+
+../html/doc.%: doc.% | ../html
+ cp $< ../html
+
+../info/%.info: %.sgml | ../info
+ @cd ../info && linuxdoc -B info ../doc/$<
+
clean:
$(RM) -r ../html ../info
@cd .. && zip cc65 html/*.*
endif
-doc: html info
-
-html: $(addprefix ../html/,$(SGMLS:.sgml=.html) doc.css doc.png)
-
-info: $(addprefix ../info/,$(SGMLS:.sgml=.info))
-
-../html ../info:
- @mkdir $@
-
-../html/%.html: %.sgml header.html | ../html
- @cd ../html && linuxdoc -B html -s 0 -T $(TOC_LEVEL) -H ../doc/header.html ../doc/$<
-
-../html/doc.%: doc.% | ../html
- cp $< ../html
-
-../info/%.info: %.sgml | ../info
- @cd ../info && linuxdoc -B info ../doc/$<
-
endif # CMD_EXE
+
+all mostlyclean:
# This Makefile requires GNU make
#
-# Run 'make samples SYS=<target>' to build for another target system
-SYS = c64
+# Run 'make SYS=<target>' or set a SYS env
+# var to build for another target system.
+SYS ?= c64
ifneq ($(shell echo),)
CMD_EXE = 1
# --------------------------------------------------------------------------
# Rules to make the binaries and the disk
-all:
-
samples: $(EXELIST_$(SYS))
disk: $(DISK_$(SYS))
+all:
+
# --------------------------------------------------------------------------
# Overlay rules. Overlays need special ld65 configuration files. Also, the
# overlay file-names are shortenned to fit the Atari's 8.3-character limit.
* The makefile specifies the C64 as the default target system, because all
but one of the programs run on this platform. When compiling for another
system, you will have to change the line that specifies the target system
- at the top of the makefile or specify the system with SYS=<target> on the
- make command line.
+ at the top of the makefile, specify the system with SYS=<target> on the
+ make command line or set a SYS env var.
List of supplied sample programs: