X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=doc%2FMakefile;h=96a3ba59be457c8cc1ee606b7ee1d1ad1bc3b874;hb=977bca922b423adecb69da632221effe4fd8cf09;hp=5dba9d86bc08aed6011149685029c9fcb5fd5470;hpb=be291852832d760bb736947d4fe108d61fa2e7f4;p=cc65 diff --git a/doc/Makefile b/doc/Makefile index 5dba9d86b..96a3ba59b 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,129 +1,66 @@ -# -*- makefile -*- -# -# Makefile for the cc65 documentation -# - -# You can put navigation-arrow pictures (next, back, contents) into HTML files -# by setting this variable, either here or on make's command-line. -# (You will need to copy the .png files from "share/doc/linuxdoc-tools*/html/".) -# -#BUTTONS=-I - -# These options decide how text files are made: -# -f -- removes the backspace-overtyping that makes bold text -# in the more/less commands and on typewriter-printers -# -m -- makes Unix manual pages -# -#TXT_OPTIONS=-f -m - -SGML = apple2.sgml \ - apple2enh.sgml \ - ar65.sgml \ - atari.sgml \ - atmos.sgml \ - c128.sgml \ - c16.sgml \ - c64.sgml \ - ca65.sgml \ - ca65html.sgml \ - cbm510.sgml \ - cbm610.sgml \ - cc65.sgml \ - cl65.sgml \ - co65.sgml \ - coding.sgml \ - da65.sgml \ - debugging.sgml \ - dio.sgml \ - funcref.sgml \ - geos.sgml \ - grc.sgml \ - index.sgml \ - intro.sgml \ - ld65.sgml \ - library.sgml \ - lynx.sgml \ - nes.sgml \ - pet.sgml \ - plus4.sgml \ - vic20.sgml - -TXT = $(SGML:.sgml=.txt) -HTML = $(SGML:.sgml=.html) -INFO = $(SGML:.sgml=.info) -DVI = $(SGML:.sgml=.dvi) -TEX = $(SGML:.sgml=.tex) - -# ------------------------------------------------------------------------------ -# Pattern-rules, to make targets - -%.txt: %.sgml - sgml2txt $(TXT_OPTIONS) $< - -%.html: %.sgml - sgml2html --split=1 $(BUTTONS) $< - -%.info: %.sgml - sgml2info $< - -%.dvi: %.sgml - sgml2latex $< - -%.tex: %.sgml - sgml2latex --output=tex $< - -# ------------------------------------------------------------------------------ -# Targets - -.PHONY: all -all: txt html info dvi - -.PHONY: txt -txt: linuxdoc $(TXT) - -.PHONY: html -html: linuxdoc $(HTML) - -.PHONY: info -info: linuxdoc $(INFO) - -.PHONY: dvi -dvi: linuxdoc $(DVI) - -.PHONY: tex -tex: linuxdoc $(TEX) - -.PHONY: linuxdoc -linuxdoc: - @sgmlcheck index >/dev/null 2>&1 || { \ - echo; \ - echo '"LinuxDoc Tools" does not exist on this system.'; \ - echo 'So, most of the documentation might not have been built.'; \ - echo; \ - false;} - -.PHONY: clean +ifneq ($(shell echo),) + CMD_EXE = 1 +endif + +.PHONY: all mostlyclean clean install zip doc html info + +.SUFFIXES: + +htmldir = $(prefix)/share/doc/cc65$(DESTPACKAGE_SUFFIX)/html +infodir = $(prefix)/share/info + +ifdef CMD_EXE + +doc clean install zip: + +else # CMD_EXE + +SGMLS := $(wildcard *.sgml) + +../html/coding.html ../html/index.html: \ +TOC_LEVEL = 0 + +TOC_LEVEL = 2 + +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) *~ - -.PHONY: zap -zap: clean - $(RM) $(TXT) $(TEX) $(DVI) *.htm* *.inf* *.man - -# ------------------------------------------------------------------------------ -# Special target rules - -coding.html: coding.sgml - sgml2html --split=0 $< - -# funcref.sgml's third section is huge. -# So, funcref.html is split into sub-section files. -# -funcref.html: funcref.sgml - sgml2html --split=2 $(BUTTONS) $< - -# The index.html target is special: -# It is only a table of contents. So, it should not be split. -# -index.html: index.sgml - sgml2html --split=0 $< + $(RM) -r ../html ../info + +install: + $(if $(prefix),,$(error variable `prefix' must be set)) +ifeq ($(wildcard ../html),../html) + $(INSTALL) -d $(DESTDIR)$(htmldir) + $(INSTALL) -m0644 ../html/*.* $(DESTDIR)$(htmldir) +endif +ifeq ($(wildcard ../info),../info) + $(INSTALL) -d $(DESTDIR)$(infodir) + $(INSTALL) -m0644 ../info/*.* $(DESTDIR)$(infodir) +endif + +zip: +ifneq "$(wildcard ../html)" "" + @cd .. && zip cc65 html/*.* +endif + +endif # CMD_EXE + +all mostlyclean: