Makefile 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742
  1. #
  2. # $Id$
  3. # This file is part of the Free Pascal run time library.
  4. # Copyright (c) 1996-98 by Michael van Canneyt
  5. #
  6. # Makefile for the Free Pascal Documentation
  7. #
  8. # See the file COPYING.FPC, included in this distribution,
  9. # for details about the copyright.
  10. #
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  14. #
  15. #####################################################################
  16. # Configurable section
  17. #####################################################################
  18. # Debugging the install, that will only copy the .tex to index.html
  19. # so a make html and make install goes quickly
  20. #INSTALLDEBUG=1
  21. override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
  22. ifneq ($(findstring darwin,$(OSTYPE)),)
  23. inUnix=1 #darwin
  24. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  25. else
  26. ifeq ($(findstring ;,$(PATH)),)
  27. inUnix=1
  28. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  29. else
  30. SEARCHPATH:=$(subst ;, ,$(PATH))
  31. endif
  32. endif
  33. SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
  34. ifndef FPC
  35. ifdef PP
  36. FPC=$(PP)
  37. endif
  38. endif
  39. ifndef FPC
  40. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  41. ifneq ($(FPCPROG),)
  42. FPCPROG:=$(firstword $(FPCPROG))
  43. FPC:=$(shell $(FPCPROG) -PB)
  44. ifneq ($(findstring Error,$(FPC)),)
  45. override FPC=ppc386
  46. endif
  47. else
  48. override FPC=ppc386
  49. endif
  50. endif
  51. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  52. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  53. HOSTOS=$(shell $(FPC) -iSO)
  54. # Which docs are made when 'html' is specified
  55. HTML = user units ref prog fpdoc fcl chart
  56. # Can be 'report','book', 'html', 'hevea', 'ts3' 'ts4'
  57. ifdef USEHEVEA
  58. PREAMBLETYPE = hevea
  59. else
  60. ifdef USEL2H
  61. PREAMBLETYPE = html
  62. else
  63. PREAMBLETYPE = report
  64. endif
  65. endif
  66. # Where do you want the html files to be put ?
  67. ifndef PREFIXINSTALLDIR
  68. PREFIXINSTALLDIR=/usr
  69. endif
  70. ifndef DOCINSTALLDIR
  71. DOCINSTALLDIR:=$(PREFIXINSTALLDIR)/doc/fpc-$(shell $(FPC) -iV)
  72. endif
  73. ifndef FPDOC
  74. ifneq ($(wildcard ../utils/fpdoc/fpdoc),)
  75. FPDOC=../utils/fpdoc/fpdoc
  76. else
  77. FPDOC=fpdoc
  78. endif
  79. endif
  80. ifndef FPCSRCDIR
  81. FPCSRCDIR=..
  82. endif
  83. # Use Ascii mode ? (i.e. no pics in produced HTML ?)
  84. ifndef ASCIIMODE
  85. ASCIIMODE=NO
  86. endif
  87. #######################################################################
  88. # LaTeX Program definitions
  89. #######################################################################
  90. # Latex itself
  91. ifndef LATEX
  92. LATEX = latex
  93. endif
  94. # DVI to PS converter
  95. ifndef DVIPS
  96. DVIPS=dvips
  97. endif
  98. # DVI to TXT converter
  99. ifndef DVITXT
  100. DVITXT=dvi2tty -w132
  101. endif
  102. # PDF converter
  103. ifndef PDFLATEX
  104. PDFLATEX=pdflatex
  105. endif
  106. # Makeindex programma
  107. ifndef MAKEINDEX
  108. MAKEINDEX=makeindex
  109. endif
  110. #######################################################################
  111. # Latex2html conversion.
  112. #######################################################################
  113. ifdef USEL2H
  114. # Command to use.
  115. ifndef LATEX2HTML
  116. LATEX2HTML = /usr/bin/latex2html
  117. endif
  118. # Default options for converter
  119. ifndef LATEX2HTMLOPTS
  120. LATEX2HTMLOPTS = -no_reuse -up_url "../fpctoc.html"\
  121. -up_title "Free Pascal manuals"\
  122. -html_version 4.0 -split 3
  123. endif
  124. endif # USEL2H
  125. #######################################################################
  126. # HEVEA conversion.
  127. #######################################################################
  128. ifdef USEHEVEA
  129. # Hevea conversion.
  130. ifndef HEVEA
  131. HEVEA = /usr/bin/hevea
  132. endif
  133. endif # USEHEVEA
  134. # tmpdir
  135. export TMP=/tmp
  136. #
  137. #######################################################################
  138. # End of configurable section. Do not edit after this line.
  139. #######################################################################
  140. PS = $(addsuffix .ps, $(HTML))
  141. DVI = $(addsuffix .dvi, $(HTML))
  142. TXT = $(addsuffix .txt, $(HTML))
  143. PDF = $(addsuffix .pdf, $(HTML))
  144. TOC = $(addsuffix .toc, $(HTML) onechap)
  145. AUX = $(addsuffix .aux, $(HTML) onechap)
  146. LOG = $(addsuffix .log, $(HTML) onechap)
  147. LOT = $(addsuffix .lot, $(HTML) onechap)
  148. OUT = $(addsuffix .out, $(HTML) onechap)
  149. CHK = $(addsuffix .chk, $(HTML) progex unitex refex htex onechap scripts)
  150. CHAPTERS = $(addsuffix .tex, crt dos getopts go32 graph linux printer\
  151. strings objects heaptrc sysutils ipc mouse gpm dxeload \
  152. emu387 ports math keyboard typinfo video)
  153. GTKPDF=$(addsuffix .pdf,$(addprefix gtk, 1 2 3 4 5))
  154. # Check if ascii-mode requested
  155. ifeq ($(ASCIIMODE),YES)
  156. ifdef USEL2H
  157. LATEX2HTMLOPTS+=-ascii_mode
  158. endif
  159. ifdef USEHEVEA
  160. HEVEAOPTS+=-text
  161. endif
  162. endif
  163. #####################################################################
  164. # Conversion from types
  165. #####################################################################
  166. .PHONY: clean dvi help html ps psdist htmldist pdfdist txtdist \
  167. htm txt pdf refex alldist messages onechap gtk \
  168. user ref prog units
  169. .SUFFIXES: .dvi .tex .ps .txt .pdf
  170. # default show help
  171. .dvi.ps:
  172. $(DVIPS) $<
  173. .tex.dvi:
  174. $(LATEX) $*
  175. -$(MAKEINDEX) $*
  176. $(LATEX) $*
  177. -$(MAKEINDEX) $*
  178. $(LATEX) $*
  179. .dvi.txt:
  180. $(DVITXT) -o $*.txt $*.dvi
  181. .tex.pdf:
  182. $(PDFLATEX) $*
  183. -$(MAKEINDEX) $*
  184. $(PDFLATEX) $*
  185. -$(MAKEINDEX) $*
  186. $(PDFLATEX) $*
  187. #####################################################################
  188. # Targets
  189. #####################################################################
  190. help:
  191. @echo 'Possible targets :'
  192. @echo ' dvi : Make documentation using latex.'
  193. @echo ' ps : Make documentation using latex and dvips.'
  194. @echo ' html : Make HTML documentation using default converter.'
  195. @echo ' hevea : Make HTML documentation using hevea'
  196. @echo ' l2h : Make HTML documentation using latex2html'
  197. @echo ' 4ht : Make HTML documentation using tex4ht'
  198. @echo ' pdf : Make documentation using pdflatex'
  199. @echo ' txt : dvi, convert to text using dvi2tty'
  200. @echo ' htm : Convert .html to .htm files, zip result'
  201. @echo ' clean : Clean up the mess.'
  202. @echo ' examples : Comple all generic examples'
  203. @echo ' linuxexamples : Compile all examples for linux'
  204. @echo ' dosexamples : Compile all examples for dos'
  205. @echo ' execute : Execute examples (DOS/Windows/OS/2 only)'
  206. @echo ' htmldist : html, and rchive result.'
  207. @echo ' psdist : ps, and archive result.'
  208. @echo ' pdfdist : pdf, and archive result.'
  209. clean:
  210. -rm -f preamble.inc date.inc htex.sed
  211. -rm -f *.htex *.hind *.haux *.htoc $(addsuffix *.html,$(HTML))
  212. -rm -f *.4tc *.4ct *.css *.lg *.tmp *.xref
  213. -rm -rf $(HTML) onechap
  214. -rm -f $(TOC) $(LOG) $(DVI) $(PDF) $(AUX) $(OUT) $(PS) *.i* $(LOT) $(TXT) $(CHK)
  215. -rm -f onechap.dvi onechap.pdf onechap.ps onechap.out onechap.log onechap.aux
  216. # Styles
  217. -rm -f $(notdir $(wildcard styles/*))
  218. # Units
  219. -$(MAKE) -C crtex clean
  220. -$(MAKE) -C dosex clean
  221. -$(MAKE) -C go32ex clean
  222. -$(MAKE) -C heapex clean
  223. -$(MAKE) -C ipcex clean
  224. -$(MAKE) -C linuxex clean
  225. -$(MAKE) -C mmouseex clean
  226. -$(MAKE) -C mouseex clean
  227. -$(MAKE) -C objectex clean
  228. -$(MAKE) -C optex clean
  229. -$(MAKE) -C printex clean
  230. -$(MAKE) -C sockex clean
  231. -$(MAKE) -C stringex clean
  232. -$(MAKE) -C sysutex clean
  233. -$(MAKE) -C mathex clean
  234. -$(MAKE) -C graphex clean
  235. -$(MAKE) -C gpmex clean
  236. -$(MAKE) -C typinfex clean
  237. -$(MAKE) -C kbdex clean
  238. -$(MAKE) -C videoex clean
  239. # Reference
  240. -$(MAKE) -C refex clean
  241. # Programmers manual
  242. -$(MAKE) -C progex clean
  243. $(TXT) : %.txt: %.dvi
  244. $(DVI) : %.dvi: %.tex
  245. $(PDF) : %.pdf: %.tex
  246. unitex.chk:
  247. ifndef INSTALLDEBUG
  248. $(MAKE) -C crtex tex
  249. $(MAKE) -C dosex tex
  250. $(MAKE) -C go32ex tex
  251. $(MAKE) -C heapex tex
  252. $(MAKE) -C ipcex tex
  253. $(MAKE) -C linuxex tex
  254. $(MAKE) -C mouseex tex
  255. $(MAKE) -C mmouseex tex
  256. $(MAKE) -C objectex tex
  257. $(MAKE) -C optex tex
  258. $(MAKE) -C printex tex
  259. $(MAKE) -C sockex tex
  260. $(MAKE) -C stringex tex
  261. $(MAKE) -C sysutex tex
  262. $(MAKE) -C mathex tex
  263. $(MAKE) -C graphex tex
  264. $(MAKE) -C gpmex tex
  265. $(MAKE) -C kbdex tex
  266. $(MAKE) -C typinfex tex
  267. $(MAKE) -C videoex tex
  268. endif
  269. touch unitex.chk
  270. refex.chk:
  271. ifndef INSTALLDEBUG
  272. $(MAKE) -C refex tex
  273. endif
  274. touch refex.chk
  275. progex.chk:
  276. ifndef INSTALLDEBUG
  277. $(MAKE) -C progex tex
  278. endif
  279. touch progex.chk
  280. messages:
  281. msg2inc -TE ../compiler/errore.msg messages.tex
  282. #
  283. # Include files
  284. #
  285. date.inc:
  286. @echo \\date\{`date +'%B %Y'`\} > date.inc
  287. preamble.inc:
  288. cp -f preamble.$(PREAMBLETYPE) preamble.inc
  289. ifeq ($(OS),Windows_NT)
  290. inWinNT=1
  291. endif
  292. ifndef inWinNT
  293. scripts.chk:
  294. chmod +x tex2htex
  295. chmod +x pp2tex
  296. chmod +x progex/c2tex
  297. touch scripts.chk
  298. endif
  299. # Local copy of the required styles
  300. syntax.sty: styles/syntax.sty
  301. cp $(wildcard styles/*.*) .
  302. ifndef inWinNT
  303. includes: date.inc preamble.inc syntax.sty scripts.chk
  304. else
  305. includes: date.inc preamble.inc syntax.sty
  306. endif
  307. #####################################################################
  308. # Tex from XML
  309. #####################################################################
  310. FCLOPTS=--package=fcl
  311. --descr=classes.xml --input='$(FPCSRCDIR)/rtl/$(HOSTOS)/classes.pp -Fi$(FPCSRCDIR)/rtl/objpas/classes'
  312. fcl.inc: classes.xml
  313. $(FPDOC) --output=fcl.inc $(FCLOPTS) --format=latex
  314. XMLUNITS=sysutils strutils dateutils systhrds strings mouse keyboard \
  315. crt video dos sockets objects heaptrc mmx ipc printer typinfo\
  316. ports getopts emu387 dxeload go32 gpm graph oldlinux baseunix\
  317. unixtype unix classes unixutil x86 dynlibs linux math
  318. RTLXML=$(addsuffix .xml,$(XMLUNITS))
  319. # RTLXML=baseunix.xml
  320. RTLOPTS=--package=rtl
  321. RTLOPTS+=--descr=strutils.xml --input="../rtl/objpas/strutils.pp"
  322. RTLOPTS+=--descr=systhrds.xml --input="../rtl/unix/systhrds.pp -Fi../rtl/inc"
  323. RTLOPTS+=--descr=sysutils.xml --input="../rtl/unix/sysutils.pp -Fi../rtl/objpas/sysutils -Fi../rtl/inc"
  324. RTLOPTS+=--descr=strings.xml --input="../rtl/inc/strings.pp -Fi../rtl/i386 -Fi../rtl/inc"
  325. RTLOPTS+=--descr=mouse.xml --input="../rtl/unix/mouse.pp -Fi../rtl/inc"
  326. RTLOPTS+=--descr=keyboard.xml --input="../rtl/unix/keyboard.pp -Fi../rtl/inc"
  327. RTLOPTS+=--descr=crt.xml --input="../rtl/unix/crt.pp -Fi../rtl/inc"
  328. RTLOPTS+=--descr=video.xml --input="../rtl/unix/video.pp -Fi../rtl/inc"
  329. RTLOPTS+=--descr=dos.xml --input="../rtl/unix/dos.pp -Fi../rtl/inc -dcpui386"
  330. RTLOPTS+=--descr=sockets.xml --input="../rtl/unix/sockets.pp -Fi../rtl/inc -Fi../rtl/$(HOSTOS)"
  331. RTLOPTS+=--descr=objects.xml --input="../rtl/inc/objects.pp -Fi../rtl/i386 -Fi../rtl/$(HOSTOS)"
  332. RTLOPTS+=--descr=heaptrc.xml --input="../rtl/inc/heaptrc.pp -Fi../rtl/i386 -Fi../rtl/$(HOSTOS)"
  333. RTLOPTS+=--descr=mmx.xml --input="../rtl/i386/mmx.pp -Fi../rtl/$(HOSTOS)"
  334. RTLOPTS+=--descr=ipc.xml --input="../rtl/unix/ipc.pp -Fi../rtl/$(HOSTOS)"
  335. RTLOPTS+=--descr=printer.xml --input="../rtl/unix/printer.pp -Fi../rtl/$(HOSTOS)"
  336. RTLOPTS+=--descr=typinfo.xml --input="../rtl/objpas/typinfo.pp -Fi../rtl/$(HOSTOS)"
  337. RTLOPTS+=--descr=ports.xml --input="../rtl/unix/ports.pp -Fi../rtl/$(HOSTOS)"
  338. RTLOPTS+=--descr=getopts.xml --input="../rtl/inc/getopts.pp -Fi../rtl/$(HOSTOS)"
  339. RTLOPTS+=--descr=emu387.xml --input="../rtl/go32v2/emu387.pp -Fi../rtl/i386"
  340. RTLOPTS+=--descr=dxeload.xml --input="../rtl/go32v2/dxeload.pp -Fi../rtl/i386"
  341. RTLOPTS+=--descr=go32.xml --input="../rtl/go32v2/go32.pp -Fi../rtl/i386"
  342. RTLOPTS+=--descr=gpm.xml --input="-dVER1_0 ../rtl/unix/gpm.pp -Fi../rtl/i386"
  343. RTLOPTS+=--descr=graph.xml --input="../rtl/unix/graph.pp -Fi../rtl/i386 -Fi../rtl/inc/graph"
  344. RTLOPTS+=--descr=oldlinux.xml --input="../rtl/unix/oldlinux.pp -Fi../rtl/linux -Fi../rtl/unix"
  345. RTLOPTS+=--descr=unixtype.xml --input="../rtl/unix/unixtype.pp -Fi../rtl/unix -Fi../rtl/linux -Fi../rtl/linux/i386"
  346. RTLOPTS+=--descr=baseunix.xml --input="../rtl/linux/baseunix.pp -Fi../rtl/unix -Fi../rtl/linux -Fi../rtl/linux/i386"
  347. RTLOPTS+=--descr=unix.xml --input="../rtl/unix/unix.pp -Fi../rtl/unix -Fi../rtl/linux -Fi../rtl/linux/i386"
  348. RTLOPTS+=--descr=classes.xml --input='$(FPCSRCDIR)/rtl/$(HOSTOS)/classes.pp -Fi$(FPCSRCDIR)/rtl/objpas/classes'
  349. RTLOPTS+= --descr=unixutil.xml --input="../rtl/unix/unixutil.pp"
  350. RTLOPTS+= --descr=x86.xml --input="../rtl/unix/x86.pp"
  351. RTLOPTS+=--descr=dynlibs.xml --input="../rtl/inc/dynlibs.pp -Fi../rtl/unix"
  352. RTLOPTS+=--descr=linux.xml --input="../rtl/unix/linux.pp -Fi../rtl/linux -Fi../rtl/unix"
  353. RTLOPTS+=--descr=math.xml --input="../rtl/objpas/math.pp -Fi../rtl/i386 -dFPC_HAS_TYPE_EXTENDED"
  354. rtl.inc: $(RTLXML)
  355. $(FPDOC) --output=rtl.inc $(RTLOPTS) --format=latex
  356. #####################################################################
  357. # DVI files
  358. #####################################################################
  359. onechap: onechap.dvi
  360. units.dvi: units.tex includes $(CHAPTERS)
  361. ref.dvi: ref.tex includes
  362. prog.dvi: prog.tex includes
  363. user.dvi: user.tex includes
  364. fpdoc.dvi: fpdoc.tex includes
  365. fcl.dvi: fcl.tex fcl.inc includes
  366. chart.dvi: chart.tex
  367. units.pdf: units.tex includes $(CHAPTERS)
  368. ref.pdf: ref.tex includes
  369. user.pdf: user.tex includes
  370. prog.pdf: prog.tex includes
  371. onechap.pdf: onechap.tex includes
  372. onechap.dvi: onechap.tex includes
  373. fpdoc.pdf: fpdoc.tex includes
  374. fcl.pdf: fcl.tex fcl.inc includes
  375. chart.pdf: chart.tex
  376. rtl.dvi: rtl.tex rtl.inc
  377. rtl.pdf: rtl.tex rtl.inc
  378. dvi : $(DVI)
  379. txt : dvi $(TXT)
  380. ps : dvi $(PS)
  381. pdf : $(PDF)
  382. all : dvi ps pdf txt html
  383. #######################################################################
  384. # HTML creation
  385. #######################################################################
  386. .PHONY: htex user prog units onechap ref internal html hevea
  387. ifdef INSTALLDEBUG
  388. #######################################################################
  389. # Installation debugging
  390. $(HTML):
  391. mkdir $@
  392. cp [email protected] $@/index.html
  393. html: $(HTML)
  394. else
  395. #######################################################################
  396. # Automatic selection. Default tex4ht
  397. ifdef USEHEVEA
  398. include Makefile.hev
  399. else
  400. ifdef USEL2H
  401. include Makefile.l2h
  402. else
  403. include Makefile.4ht
  404. endif # USEL2H
  405. endif # USEHEVEA
  406. endif # INSTALLDEBUG
  407. #######################################################################
  408. # Targets to force using a specific tool.
  409. hevea:
  410. $(MAKE) html USEHEVEA=1
  411. l2h:
  412. $(MAKE) html USEL2H=1
  413. 4ht:
  414. $(MAKE) html USETEX4HT=1
  415. fcl: fcl/index.html
  416. fcl/index.html: classes.xml
  417. $(FPDOC) $(FCLOPTS) --format=html --output=fcl
  418. rtl: rtl/index.html
  419. rtl/index.html: $(RTLXML)
  420. $(FPDOC) $(RTLOPTS) --format=html --output=rtl
  421. #####################################################################
  422. # GTK Articles
  423. #####################################################################
  424. gtk: $(GTKPDF)
  425. gtk1.pdf: gtk1.tex
  426. gtk2.pdf: gtk2.tex
  427. gtk3.pdf: gtk3.tex
  428. gtk4.pdf: gtk4.tex
  429. gtk5.pdf: gtk5.tex
  430. #####################################################################
  431. # Installation
  432. #####################################################################
  433. pdfinstall: pdf
  434. install -d -m 755 $(DOCINSTALLDIR)
  435. cp $(PDF) $(DOCINSTALLDIR)
  436. htmlinstall: html
  437. install -d -m 755 $(DOCINSTALLDIR)
  438. cp fpctoc.html $(DOCINSTALLDIR)
  439. cp -R buttons $(DOCINSTALLDIR)
  440. cp -R pics $(DOCINSTALLDIR)
  441. cp -R $(HTML) $(DOCINSTALLDIR)
  442. find $(DOCINSTALLDIR) -name 'CVS' -or -name '*.eps' | xargs -n1 rm -rf
  443. install:
  444. @echo Choose install from:
  445. @echo pdfinstall,htmlinstall,htmldosinstall
  446. @exit
  447. #####################################################################
  448. # Archives
  449. #####################################################################
  450. psdist: $(PS)
  451. tar -cvzf fpcdocps.tar.gz $(PS)
  452. zip docs-ps $(PS)
  453. pdfdist: pdf
  454. zip docs-pdf $(PDF)
  455. dvidist: dvi
  456. zip docs-dvi $(DVI)
  457. txtdist: txt
  458. zip docs-txt $(TXT)
  459. #####################################################################
  460. # Zips of htmls
  461. #####################################################################
  462. DOCPREFIX=doc
  463. BASEDIR=$(shell pwd)
  464. htmltar:
  465. ifndef SKIPINSTALL
  466. $(MAKE) htmlinstall DOCINSTALLDIR=$(DOCPREFIX)
  467. endif
  468. cd $(DOCPREFIX) ; tar cz * > $(BASEDIR)/fpcdoc.tar.gz ; cd $(BASEDIR)
  469. rm -rf $(DOCPREFIX)
  470. htmlzip:
  471. ifndef SKIPINSTALL
  472. $(MAKE) htmlinstall DOCINSTALLDIR=$(DOCPREFIX)
  473. endif
  474. zip -D9rq doc-html $(DOCPREFIX)/*
  475. rm -rf $(DOCPREFIX)
  476. htmzip:
  477. ifndef SKIPINSTALL
  478. $(MAKE) htmlinstall DOCINSTALLDIR=$(DOCPREFIX)
  479. endif
  480. makehtm `find $(DOCPREFIX) -name '*.html'`
  481. zip -D9rq doc-htm `find $(DOCPREFIX) -name '*.htm' -or -name '*.gif' -or -name '*.png' -or -name '*.css'`
  482. rm -rf $(DOCPREFIX)
  483. htmldist: htmlzip htmltar
  484. htmdist: htmzip
  485. alldist: dvidist psdist txtdist pdfdist
  486. $(MAKE) htmltar
  487. $(MAKE) htmlzip SKIPINSTALL=Y
  488. $(MAKE) htmzip SKIPINSTALL=Y
  489. distclean: clean
  490. -rm -f *.tar.gz *.zip
  491. #####################################################################
  492. # Examples
  493. #####################################################################
  494. examples:
  495. $(MAKE) -C crtex
  496. $(MAKE) -C dosex
  497. $(MAKE) -C optex
  498. $(MAKE) -C mathex
  499. $(MAKE) -C printex
  500. $(MAKE) -C refex
  501. $(MAKE) -C stringex
  502. $(MAKE) -C objectex
  503. $(MAKE) -C sysutex
  504. $(MAKE) -C typinfex
  505. $(MAKE) -C kbdex
  506. dosexamples: examples
  507. $(MAKE) -C go32ex
  508. $(MAKE) -C mouseex
  509. linuxexamples: examples
  510. $(MAKE) -C linuxex
  511. $(MAKE) -C sockex
  512. $(MAKE) -C ipcex
  513. execute:
  514. $(MAKE) -C dosex all
  515. $(MAKE) -C dosex execute
  516. $(MAKE) -C refex all
  517. $(MAKE) -C refex execute
  518. $(MAKE) -C mathex all
  519. $(MAKE) -C mathex execute
  520. $(MAKE) -C stringex all
  521. $(MAKE) -C stringex execute
  522. $(MAKE) -C objectex all
  523. $(MAKE) -C objectex execute
  524. $(MAKE) -C sysutex all
  525. $(MAKE) -C sysutex execute
  526. $(MAKE) -C typinfex all
  527. $(MAKE) -C typinfex execute
  528. #
  529. # $Log$
  530. # Revision 1.30 2004-10-22 23:02:40 michael
  531. # + Math.xml now ok to be used
  532. #
  533. # Revision 1.29 2004/10/22 20:45:50 michael
  534. # + Most units added
  535. #
  536. # Revision 1.28 2004/09/23 21:41:08 florian
  537. # * fixed Makefile to work on non i386 platforms
  538. #
  539. # Revision 1.27 2004/07/17 21:02:28 marco
  540. # * x86 dependancy fixed, reported by Claviola
  541. #
  542. # Revision 1.26 2004/05/18 22:10:56 michael
  543. # + Updates for 1.9.4. Mostly MACPas related
  544. #
  545. # Revision 1.25 2004/03/19 17:39:03 peter
  546. # * use fpdoc from utils tree if found
  547. #
  548. # Revision 1.24 2003/11/16 00:03:03 michael
  549. # + Many changes for 2.0 beta
  550. #
  551. # Revision 1.23 2003/11/02 00:14:23 marco
  552. # * fixed classes moving to rtl, and the OS dependancy of the classes unit
  553. # generation.
  554. #
  555. # Revision 1.22 2003/05/29 10:25:51 peter
  556. # * allow to specify FPCSRCDIR and FPDOC
  557. #
  558. # Revision 1.21 2003/03/18 21:25:23 michael
  559. # + Added fcl docs and fpdoc
  560. #
  561. # Revision 1.20 2003/03/18 00:14:51 michael
  562. # + Added fpdoc
  563. #
  564. # Revision 1.19 2003/03/17 08:27:27 michael
  565. # + Split out html generation
  566. #
  567. # Revision 1.18 2003/03/16 15:24:58 peter
  568. # * also remove htex.sed
  569. #
  570. # Revision 1.17 2003/03/16 15:22:18 peter
  571. # * support for hevea
  572. # * provided local copies or required styles since debian does not
  573. # supply the listings.sty anymore
  574. #
  575. # Revision 1.16 2003/02/24 23:37:52 michael
  576. # + Preparations for version 1.0.8
  577. #
  578. # Revision 1.15 2002/11/10 12:22:10 carl
  579. # * update makefiles for testing
  580. # * update example which did not compile
  581. #
  582. # Revision 1.14 2002/04/23 18:03:50 michael
  583. # + removed fcl target in HTML
  584. #
  585. # Revision 1.13 2002/03/19 14:33:18 pierre
  586. # * remove ipcex directory target from examples
  587. #
  588. # Revision 1.12 2002/03/12 22:13:42 michael
  589. # + Now pics directory is included in HTML
  590. #
  591. # Revision 1.11 2001/11/05 20:10:05 michael
  592. # + Added onechap target
  593. #
  594. # Revision 1.10 2001/10/18 21:41:26 peter
  595. # * fixed latex2html settings
  596. #
  597. # Revision 1.9 2001/10/11 23:36:54 carl
  598. # + reinstated Windows NT support
  599. #
  600. # Revision 1.8 2001/10/04 21:03:13 michael
  601. # + Added video and keyboard units
  602. #
  603. # Revision 1.7 2001/09/22 11:15:04 peter
  604. # * chmod the scripts
  605. # * fixed html installation
  606. #
  607. # Revision 1.6 2001/07/29 20:28:00 peter
  608. # * move preamble to separate include file so changes only need to
  609. # be done to this file.
  610. #
  611. # Revision 1.5 2001/07/10 22:01:15 michael
  612. # + Some cleaning up
  613. #
  614. # Revision 1.4 2000/10/12 10:41:58 peter
  615. # * more examples
  616. #
  617. # Revision 1.3 2000/09/02 21:51:36 peter
  618. # * fixed pdf creating (merged)
  619. #
  620. # Revision 1.1 2000/07/13 09:10:03 michael
  621. # + Initial import
  622. #