-.PHONY: all html gh-pages
+ifneq ($(shell echo),)
+ CMD_EXE = 1
+endif
+
+.PHONY: all mostlyclean clean install zip doc html info
.SUFFIXES:
-all: html
+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: $(addprefix ../html/,$(subst .sgml,.html,$(wildcard *.sgml)))
+../html/doc.%: doc.% | ../html
+ cp $< ../html
-../html:
- mkdir $@
+../info/%.info: %.sgml | ../info
+ @cd ../info && linuxdoc -B info ../doc/$<
-../html/%.html: %.sgml | ../html
- linuxdoc -B html --split=0 --toc=2 $<
- mv *.html $(@D)
+clean:
+ $(RM) -r ../html ../info
-../html/coding.html: coding.sgml | ../html
- linuxdoc -B html --split=0 $<
- mv *.html $(@D)
+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
-../html/index.html: index.sgml | ../html
- linuxdoc -B html --split=0 $<
- mv *.html $(@D)
+zip:
+ifneq "$(wildcard ../html)" ""
+ @cd .. && zip cc65 html/*.*
+endif
-GH_PAGES = ../../gh-pages
+endif # CMD_EXE
-gh-pages: html
- git clone --branch=gh-pages https://$(GH_TOKEN)@github.com/oliverschmidt/cc65.git $(GH_PAGES)
- git --work-tree=$(GH_PAGES) --git-dir=$(GH_PAGES)/.git config user.name "Oliver Schmidt"
- git --work-tree=$(GH_PAGES) --git-dir=$(GH_PAGES)/.git config user.email "ol.sc@web.de"
- rm -rf $(GH_PAGES)/test
- mkdir $(GH_PAGES)/test
- cp -R ../html/* $(GH_PAGES)/test
- git --work-tree=$(GH_PAGES) --git-dir=$(GH_PAGES)/.git add -A .
- -git --work-tree=$(GH_PAGES) --git-dir=$(GH_PAGES)/.git commit -m "Updated doc from commit $(TRAVIS_COMMIT)."
- git --work-tree=$(GH_PAGES) --git-dir=$(GH_PAGES)/.git push
+all mostlyclean: