| 1 | DGDIR=. |
| 2 | |
| 3 | include ./pve-doc-generator.mk |
| 4 | |
| 5 | PACKAGE=pve-doc-generator |
| 6 | |
| 7 | # also update debian/changelog |
| 8 | PKGREL=1 |
| 9 | |
| 10 | GITVERSION:=$(shell cat .git/refs/heads/master) |
| 11 | |
| 12 | DEB=${PACKAGE}_${DOCRELEASE}-${PKGREL}_amd64.deb |
| 13 | |
| 14 | |
| 15 | DEB_SOURCES= \ |
| 16 | pve-doc-generator.mk \ |
| 17 | attributes.txt \ |
| 18 | pvesm.adoc \ |
| 19 | pve-storage-dir.adoc \ |
| 20 | pve-storage-glusterfs.adoc \ |
| 21 | pve-storage-iscsi.adoc \ |
| 22 | pve-storage-iscsidirect.adoc \ |
| 23 | pve-storage-lvm.adoc \ |
| 24 | pve-storage-nfs.adoc \ |
| 25 | pve-storage-rbd.adoc \ |
| 26 | pve-storage-zfspool.adoc \ |
| 27 | pvecm.adoc \ |
| 28 | pveum.adoc \ |
| 29 | vzdump.adoc \ |
| 30 | pve-firewall.adoc \ |
| 31 | qm.adoc \ |
| 32 | qmrestore.adoc \ |
| 33 | qm.conf.adoc \ |
| 34 | pct.adoc \ |
| 35 | pct.conf.adoc \ |
| 36 | datacenter.cfg.adoc \ |
| 37 | pveam.adoc \ |
| 38 | ha-manager.adoc \ |
| 39 | pve-ha-crm.adoc \ |
| 40 | pve-ha-lrm.adoc \ |
| 41 | pvestatd.adoc \ |
| 42 | pve-copyright.adoc \ |
| 43 | docinfo.xml |
| 44 | |
| 45 | GEN_SCRIPTS= \ |
| 46 | gen-datacenter.cfg.5-opts.pl \ |
| 47 | gen-pct.conf.5-opts.pl \ |
| 48 | gen-qm.conf.5-opts.pl \ |
| 49 | gen-pve-firewall-cluster-opts.pl \ |
| 50 | gen-pve-firewall-host-opts.pl \ |
| 51 | gen-pve-firewall-macros-adoc.pl \ |
| 52 | gen-pve-firewall-rules-opts.pl \ |
| 53 | gen-pve-firewall-vm-opts.pl |
| 54 | |
| 55 | VZDUMP_SOURCES=attributes.txt vzdump.adoc vzdump.1-synopsis.adoc |
| 56 | PVEAM_SOURCES=attributes.txt pveam.adoc pveam.1-synopsis.adoc |
| 57 | |
| 58 | SYSADMIN_SOURCES= \ |
| 59 | getting-help.adoc \ |
| 60 | pve-package-repos.adoc \ |
| 61 | pve-installation.adoc \ |
| 62 | system-software-updates.adoc \ |
| 63 | sysadmin.adoc |
| 64 | |
| 65 | PVE_ADMIN_GUIDE_SOURCES= \ |
| 66 | datacenter.cfg.adoc \ |
| 67 | datacenter.cfg.5-opts.adoc \ |
| 68 | qm.conf.adoc \ |
| 69 | qm.conf.5-opts.adoc \ |
| 70 | pct.conf.adoc \ |
| 71 | pct.conf.5-opts.adoc \ |
| 72 | ${SYSADMIN_SOURCES} \ |
| 73 | pve-admin-guide.adoc \ |
| 74 | pve-intro.adoc \ |
| 75 | pmxcfs.adoc \ |
| 76 | pve-faq.adoc \ |
| 77 | ${PVE_FIREWALL_MAN8_SOURCES} \ |
| 78 | ${PVESM_MAN1_SOURCES} \ |
| 79 | ${PCT_MAN1_SOURCES} \ |
| 80 | ${PVECM_MAN1_SOURCES} \ |
| 81 | ${PVEUM_MAN1_SOURCES} \ |
| 82 | ${QM_MAN1_SOURCES} \ |
| 83 | ${QMRESTORE_MAN1_SOURCES} \ |
| 84 | ${HA_MANAGER_MAN1_SOURCES} \ |
| 85 | ${PVE_HA_CRM_MAN8_SOURCES} \ |
| 86 | ${PVE_HA_LRM_MAN8_SOURCES} \ |
| 87 | ${PVEAM_SOURCES} \ |
| 88 | ${VZDUMP_SOURCES} \ |
| 89 | images/cluster-nwdiag.svg \ |
| 90 | images/node-nwdiag.svg \ |
| 91 | pve-bibliography.adoc \ |
| 92 | GFDL.adoc \ |
| 93 | attributes.txt |
| 94 | |
| 95 | ADOC_STDARG= -a icons -a data-uri -a "date=$(shell date)" |
| 96 | ADOC_MAN1_HTML_ARGS=-a "manvolnum=1" ${ADOC_STDARG} -a "revnumber=${DOCRELEASE}" |
| 97 | ADOC_MAN5_HTML_ARGS=-a "manvolnum=5" ${ADOC_STDARG} -a "revnumber=${DOCRELEASE}" |
| 98 | ADOC_MAN8_HTML_ARGS=-a "manvolnum=8" ${ADOC_STDARG} -a "revnumber=${DOCRELEASE}" |
| 99 | |
| 100 | BROWSER?=xdg-open |
| 101 | |
| 102 | all: pve-admin-guide.html |
| 103 | |
| 104 | %-nwdiag.svg: %.nwdiag |
| 105 | nwdiag -T svg $*.nwdiag -o $@; |
| 106 | |
| 107 | %.1: %.adoc %.1-synopsis.adoc docinfo.xml attributes.txt |
| 108 | a2x -a docinfo1 -a "manvolnum=1" -a "manversion=Release ${DOCRELEASE}" -f manpage $*.adoc |
| 109 | test -n "$${NOVIEW}" || man -l $@ |
| 110 | |
| 111 | %.1.html: %.adoc %.1-synopsis.adoc docinfo.xml attributes.txt |
| 112 | asciidoc ${ADOC_MAN1_HTML_ARGS} -o $@ $*.adoc |
| 113 | test -n "$${NOVIEW}" || $(BROWSER) $@ & |
| 114 | |
| 115 | |
| 116 | %.8-synopsis.adoc: |
| 117 | perl -e "use PVE::Service::$(subst -,_,$*);print PVE::Service::$(subst -,_,$*)->generate_asciidoc_synopsys();" > $@.tmp |
| 118 | mv $@.tmp $@ |
| 119 | |
| 120 | %.8: %.adoc %.8-synopsis.adoc docinfo.xml |
| 121 | a2x -a docinfo1 -a "manvolnum=8" -a "manversion=Release ${DOCRELEASE}" -f manpage $*.adoc |
| 122 | test -n "$${NOVIEW}" || man -l $@ |
| 123 | |
| 124 | %.8.html: %.adoc %.8-synopsis.adoc docinfo.xml |
| 125 | asciidoc ${ADOC_MAN8_HTML_ARGS} -o $@ $*.adoc |
| 126 | test -n "$${NOVIEW}" || $(BROWSER) $@ & |
| 127 | |
| 128 | %.5.html: %.adoc %.5-opts.adoc docinfo.xml |
| 129 | asciidoc ${ADOC_MAN5_HTML_ARGS} -o $@ $*.adoc |
| 130 | test -n "$${NOVIEW}" || $(BROWSER) $@ & |
| 131 | |
| 132 | index.html: index.adoc ${PVE_ADMIN_GUIDE_SOURCES} |
| 133 | $(MAKE) NOVIEW=1 pve-admin-guide.pdf pve-admin-guide.html pve-admin-guide.epub |
| 134 | $(MAKE) NOVIEW=1 pvecm.1.html qm.1.html qmrestore.1.html pct.1.html pveam.1.html pvesm.1.html pveum.1.html vzdump.1.html pve-firewall.8.html ha-manager.1.html pve-ha-crm.8.html pve-ha-lrm.8.html pvestatd.8.html datacenter.cfg.5.html qm.conf.5.html pct.conf.5.html |
| 135 | asciidoc -a "date=$(shell date)" -a "revnumber=${DOCRELEASE}" index.adoc |
| 136 | test -n "$${NOVIEW}" || $(BROWSER) index.html & |
| 137 | |
| 138 | pve-admin-guide.html: ${PVE_ADMIN_GUIDE_SOURCES} |
| 139 | asciidoc -a "revnumber=${DOCRELEASE}" -a "date=$(shell date)" pve-admin-guide.adoc |
| 140 | test -n "$${NOVIEW}" || $(BROWSER) $@ & |
| 141 | |
| 142 | pve-admin-guide.pdf: ${PVE_ADMIN_GUIDE_SOURCES} docinfo.xml pve-admin-guide-docinfo.xml |
| 143 | grep ">Release ${DOCRELEASE}<" pve-admin-guide-docinfo.xml || (echo "wrong release in pve-admin-guide-docinfo.xml" && false); |
| 144 | a2x -a docinfo -a docinfo1 -f pdf -L --dblatex-opts "-P latex.output.revhistory=0" --dblatex-opts "-P latex.class.options=12pt" --dblatex-opts "-P doc.section.depth=2 -P toc.section.depth=2" pve-admin-guide.adoc |
| 145 | test -n "$${NOVIEW}" || $(BROWSER) $@ & |
| 146 | |
| 147 | pve-admin-guide.epub: ${PVE_ADMIN_GUIDE_SOURCES} |
| 148 | a2x -f epub pve-admin-guide.adoc |
| 149 | test -n "$${NOVIEW}" || $(BROWSER) $@ & |
| 150 | |
| 151 | .PHONY: dinstall |
| 152 | dinstall: ${DEB} |
| 153 | dpkg -i ${DEB} |
| 154 | |
| 155 | .PHONY: deb |
| 156 | ${DEB} deb: |
| 157 | rm -rf build |
| 158 | mkdir build |
| 159 | rsync -a debian/ build/debian |
| 160 | mkdir -p build/usr/share/${PACKAGE} |
| 161 | mkdir -p build/usr/share/doc/${PACKAGE} |
| 162 | echo "git clone git://git.proxmox.com/git/pve-docs.git\\ngit checkout ${GITVERSION}" > build/usr/share/doc/${PACKAGE}/SOURCE |
| 163 | install -m 0644 ${DEB_SOURCES} build/usr/share/${PACKAGE} |
| 164 | install -m 0755 ${GEN_SCRIPTS} build/usr/share/${PACKAGE} |
| 165 | cd build; dpkg-buildpackage -rfakeroot -b -us -uc |
| 166 | lintian ${DEB} |
| 167 | |
| 168 | .PHONY: upload |
| 169 | upload: ${DEB} |
| 170 | umount /pve/${DOCRELEASE}; mount /pve/${DOCRELEASE} -o rw |
| 171 | mkdir -p /pve/${DOCRELEASE}/extra |
| 172 | rm -f /pve/${DOCRELEASE}/extra/${PACKAGE}_*.deb |
| 173 | rm -f /pve/${DOCRELEASE}/extra/Packages* |
| 174 | cp ${DEB} /pve/${DOCRELEASE}/extra |
| 175 | cd /pve/${DOCRELEASE}/extra; dpkg-scanpackages . /dev/null > Packages; gzip -9c Packages > Packages.gz |
| 176 | umount /pve/${DOCRELEASE}; mount /pve/${DOCRELEASE} -o ro |
| 177 | |
| 178 | update: clean |
| 179 | rm -f *.5-opts.adoc .1-synopsis.adoc .8-synopsis.adoc |
| 180 | make all |
| 181 | |
| 182 | clean: |
| 183 | rm -rf *~ *.html *.pdf *.epub *.tmp *.1 *.5 *.8 *.deb *.changes build |
| 184 | |