1 # Makefile for NEdit text editor documentation
3 # $Id: Makefile,v 1.6 2003/11/24 17:41:34 edg Exp $
5 # NEdit help documentation and internal help code using one common
6 # source, help.etx, a Structure Enhanced TEXT document.
12 @ echo
"This make file is intended for NEdit developers only."
14 @ echo
"It uses a perl program (setext) to extract the various forms"
15 @ echo
"of the NEdit help documentation and internal help code using"
16 @ echo
"one common source, help.etx, a Structure Enhanced TEXT document."
18 @ echo
"Additionally, it generates the nedit and nc man pages."
19 @ echo
"To generate those you need to have perl and pod2man installed."
21 @ echo
"The following are the main targets which generate files for"
22 @ echo
"NEdit development. They are:"
24 @ echo
" help - generates NEdit help code (help_topic.h, help_data.h)"
25 @ echo
" doc - generates various forms of NEdit documentation"
26 @ echo
" man - generates the nedit and nc man pages"
27 @ echo
" all - generates all the files"
29 @ echo
"Remember to specify the VERSION macro on the make command"
30 @ echo
"or as an environment variable so that the NEdit version"
31 @ echo
"gets placed appropriately. For example, the following"
32 @ echo
"command creates all the files for NEdit version 5.3"
34 @ echo
" make VERSION='NEdit 5.3' all"
36 @ echo
"When the version is not specified, the default value will"
37 @ echo
"be 'NEdit release of <currentDate>'"
41 @ if
[ "$(VERSION)" = "" ]; then \
42 echo
"NEdit release of `date +'%b %e, %Y'`" > .version
; \
44 echo
"$(VERSION)" > .version
; \
46 help
: ..
/source
/help_topic.h ..
/source
/help_data.h setext
48 ..
/source
/help_topic.h ..
/source
/help_data.h
: .version help.etx setext
49 @ echo
"Creating NEdit help code `cat .version`"
50 @ .
/setext
-m
-v version
="`cat .version`" help.etx
51 @ mv
-f help_topic.h ..
/source
52 @ mv
-f help_data.h ..
/source
54 nedit.html
: .version help.etx setext
55 @ echo
"Creating NEdit HTML documentation..."
56 @ .
/setext
-v version
="`cat .version`" help.etx nedit.html
58 html
/nedit.html
: .version help.etx setext
59 @ echo
"Creating NEdit HTML website documentation..."
60 @ if
[ ! -d html
]; then mkdir html
; fi
61 @ if
[ -d html
]; then \
63 ..
/setext
-S
-v version
="`cat ../.version`" ..
/help.etx nedit.html
; \
65 echo
"** Unable to create html directory to hold NEdit documentation"; \
68 nedit.doc
: .version help.etx setext
69 @ echo
"Creating NEdit plain text documenation..."
70 @ .
/setext
-c NEDITDOC
-v version
="`cat .version`" help.etx nedit.doc
75 @ echo
"Creating $* man page..."
76 @ which pod2man
> /dev
/null
2>&1 ||
( echo
"Sorry, you need pod2man." && exit
1 )
77 @ pod2man
--release
="`cat .version`" --center
="NEdit documentation" $*.pod
> $@
79 doc
: .version nedit.doc nedit.html html
/nedit.html
81 man
: .version nedit.man nc.man
86 @ echo
"Removing generated NEdit documentation..."
87 @
rm -rf help nedit.html html nedit.doc .version nedit.man nc.man
90 # FAQ targets. Requires an XSLT parser and processor, such as Java with the
91 # XP and XT packages (http://www.jclark.com/xml/)
92 # Override the XSLT variable at the command line as follows:
94 # make XSLT=<command to process the xsl files> faq
96 # Example: make XSLT="java -classpath xp.jar:xt.jar com.jclark.xsl.sax.Driver" faq
100 faq
: check_xsl faq.txt html
/faq
/index.shtml
102 faq.txt
: faq.xml faq-txt.xsl faq-txt-pass2.xsl faq-txt.awk
103 @ echo Building FAQ
- text version
104 @
rm -f faq-txt.html faq-txt-tmp.txt faq.txt
105 @
${XSLT} faq.xml faq-txt.xsl faq-txt.html
106 @
${XSLT} faq-txt.html faq-txt-pass2.xsl faq-txt-tmp.txt
107 @ awk
-f faq-txt.awk
< faq-txt-tmp.txt
> faq.txt
108 @
rm -f faq-txt-tmp.txt
110 html
/faq
/index.shtml
: faq.xml faq-txt.xsl
111 @ echo Building FAQ
- HTML version
112 @
rm -f html
/faq
/*.shtml
113 @ if
[ ! -d html
]; then mkdir html
; fi
114 @ if
[ ! -d html
/faq
]; then mkdir html
/faq
; fi
115 @
${XSLT} faq.xml faq.xsl html
/faq
/index.shtml
118 @ if
[ "x${XSLT}" = "xundefined" ]; \
120 echo
"To rebuild the FAQ, an XSLT parser and processer are required.";\
121 echo
"For instance, a Java runtime environment and the XT and XP";\
122 echo
"packages (http://www.jclark.com/xml/) can be used.";\
125 echo
" make XSLT=<command to process the xsl files> faq";\
127 echo
"For instance:";\
129 echo
" make XSLT=\"java -classpath xp.jar:xt.jar com.jclark.xsl.sax.Driver\" faq";\
134 FAQFILES
= faq-txt.html faq-txt.xsl faq-txt-pass2.xsl faq-txt.awk\
135 faq-txt.dtd README.FAQ faq.txt Makefile faq.xml faq.xsl\
138 @ echo
"Building faq.tar.gz";\
140 DISTFILES
="${FAQFILES} `ls html/faq/*.shtml`";\
141 tar cv
$${DISTFILES} | gzip
-c
> faq.
tar.gz
;\
142 echo
"Building faq.zip";\
144 zip faq.zip
$${DISTFILES};\