source: tags/svn.1.5.4/HELP_SOURCE/Makefile

Last change on this file was 8246, checked in by westram, 14 years ago
  • eliminated several main()'s from lib/obj-code
    • replaced by ARB_main
    • link executable with wrapper-object (main→ARB_main)
  • unit-tests now use their own main()
    • this ensures that all static data is initialized when the unit-test starts (previous behavior was working, but undefined)
    • all tests pass (versus [8243])
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 7.4 KB
Line 
1
2.SUFFIXES: .o .c .cxx .source .hlp .xml .dtd .html .depend .ps.gz .pdf.gz
3
4# --------------------------------------------------------------------------------
5
6TEST_ONE=0# default is 0 (if 1 only one .hlp file is processed. see below @ TEST_ONE)
7
8# --------------------------------------------------------------------------------
9# directories of source/destination files:
10
11HLP_SOURCE=oldhelp
12HLP_GENERATED=genhelp
13XML_LOCATION=Xml
14HTML_LOCATION=../lib/help_html
15HLP_DEST=../lib/help
16HELP_INDEX_NAME = help_index
17
18# needed tools:
19TOOL_OBJECTS = \
20         arb_help2xml.o
21
22BINARIES = $(TOOL_OBJECTS:%.o=$(ARBHOME)/bin/%)
23
24QUIETLY = ./quietly.pl
25
26# using xsltproc and XMLLINT:
27XSLTPROC = xsltproc
28VALIDATE = $(QUIETLY) XMLLINT
29
30# --------------------------------------------------------------------------------
31
32$(MAIN) : all
33
34all: date generated dirs tools nonhlp_formats delzerohtml
35                @echo --------------------------------------------------- [old hlp 2 xml]
36                time $(MAKE) xml
37                @echo --------------------------------------------------- [xml 2 hlp]
38                time $(MAKE) help
39                $(MAKE) $(HLP_DEST)/FORM.hlp
40                @echo --------------------------------------------------- [xml 2 html]
41                time $(MAKE) html
42
43$(HLP_DEST)/FORM.hlp: $(HLP_SOURCE)/FORM.hlp
44                cp -p $< $@
45
46
47dirs:
48                mkdir -p $(XML_LOCATION)
49                mkdir -p $(XML_LOCATION)/prompt
50
51                mkdir -p $(HTML_LOCATION)
52                mkdir -p $(HTML_LOCATION)/prompt
53
54                mkdir -p $(HLP_DEST)
55                mkdir -p $(HLP_DEST)/prompt
56
57                @-ln -s ../arb_help.dtd $(XML_LOCATION)
58                @-ln -s ../../arb_help.dtd $(XML_LOCATION)/prompt
59
60HELP2XML=$(ARBHOME)/bin/arb_help2xml
61
62# --------------------------------------------------------------------------------
63# Generate help files in $(HLP_GENERATED):
64
65generated:
66                @echo ---------------------------------------------------
67                @echo ------------ Generating some help files:
68                (cd $(HLP_GENERATED);$(MAKE) all)
69
70# --------------------------------------------------------------------------------
71
72HELP_INDEX_XML = $(XML_LOCATION)/$(HELP_INDEX_NAME).xml
73
74#OLD_HELP= oldhelp/importift.hlp
75OLD_HELP_ALL= \
76                $(HLP_SOURCE)/arb.hlp \
77                $(wildcard \
78                                $(HLP_GENERATED)/*.hlp \
79                                $(HLP_SOURCE)/*.hlp \
80                                $(HLP_SOURCE)/prompt/*.hlp \
81                )
82
83ifeq ($(TEST_ONE),1)
84#OLD_HELP=$(HLP_SOURCE)/parser.hlp $(HLP_SOURCE)/commands.hlp $(HLP_SOURCE)/FAQS.hlp $(HLP_SOURCE)/acisrt.hlp
85#OLD_HELP=$(HLP_SOURCE)/arb.hlp $(HLP_SOURCE)/version.hlp $(HLP_SOURCE)/translate_dna_2_pro.hlp $(HLP_SOURCE)/species_join.hlp
86OLD_HELP=$(HLP_SOURCE)/version.hlp
87#OLD_HELP=$(HLP_SOURCE)/arb.hlp
88else
89OLD_HELP=$(OLD_HELP_ALL:$(HLP_SOURCE)/FORM.hlp=)# remove FORM.hlp (this is just a default file)
90endif
91
92XML_TMP=$(OLD_HELP:%.hlp=%.xml)
93XML_TMP2=$(XML_TMP:$(HLP_SOURCE)/%=$(XML_LOCATION)/%)
94XML=$(XML_TMP2:$(HLP_GENERATED)/%=$(XML_LOCATION)/%) 
95
96XML_DEPEND=xml.stamp# xml files are rebuild if this stamp is recreated
97DTD=arb_help.dtd
98
99$(XML) : $(XML_DEPEND) Makefile $(QUIETLY)
100
101$(HELP_INDEX_XML): $(OLD_HELP_ALL) $(XML) ./generate_index.pl Makefile
102        ./generate_index.pl $(HELP_INDEX_NAME).xml $(XML_LOCATION) > $(HELP_INDEX_XML)
103
104xml : $(XML) $(HELP_INDEX_XML)
105
106dump:
107                echo $(XML)
108
109$(XML_LOCATION)/%.xml : $(HLP_SOURCE)/%.hlp $(DTD)
110                @test \! -f $(HLP_GENERATED)/$(<F) || \
111                                ( echo $<:1: exists twice -- only one existence allowed; \
112                                  echo $(HLP_GENERATED)/$(<F):1: other occurrence \
113                                  && false )
114                @$(HELP2XML) $< $@
115                @$(VALIDATE) $@
116
117$(XML_LOCATION)/%.xml : $(HLP_GENERATED)/%.hlp $(DTD)
118                @test \! -f $(HLP_SOURCE)/$(<F) || \
119                                ( echo $<:1: exists twice -- only one existence allowed; \
120                                  echo $(HLP_SOURCE)/$(<F):1: other occurrence \
121                                  && false )
122                @$(HELP2XML) $< $@
123                @$(VALIDATE) $@
124
125$(HTML_LOCATION)/help_index.html : $(HELP_INDEX_XML)
126
127HTML_TMP=$(XML:%.xml=%.html) 
128HTML=$(HTML_TMP:$(XML_LOCATION)/%=$(HTML_LOCATION)/%) 
129
130HELP_TMP=$(XML:%.xml=%.hlp)
131HELP=$(HELP_TMP:$(XML_LOCATION)/%=$(HLP_DEST)/%)
132
133# --------------------------------------------------------------------------------
134
135PS_SRC=$(wildcard $(HLP_SOURCE)/*.ps.gz)
136PDF_SRC=$(wildcard $(HLP_SOURCE)/*.pdf.gz)
137
138PS_DEST=$(PS_SRC:$(HLP_SOURCE)/%=$(HLP_DEST)/%)
139PDF_DEST=$(PDF_SRC:$(HLP_SOURCE)/%=$(HLP_DEST)/%)
140
141ps: $(PS_DEST)
142
143pdf: $(PDF_DEST)
144
145nonhlp_formats: ps pdf
146
147$(HLP_DEST)/%.ps.gz : $(HLP_SOURCE)/%.ps.gz
148        cp -p $< $@
149
150$(HLP_DEST)/%.pdf.gz : $(HLP_SOURCE)/%.pdf.gz
151        cp -p $< $@
152
153# --------------------------------------------------------------------------------
154
155delzerohtml:
156                -find $(HTML_LOCATION) -name "*.html" -size -1 -exec rm {} \;
157
158date :
159        $(MAKE) date.xsl.tmp
160        ../SOURCE_TOOLS/mv_if_diff date.xsl.tmp date.xsl
161
162date.xsl.tmp :
163                cat date.xsl.header >$@
164                bash -c "(export LC_ALL=C;date '+%d. %b %Y')" >>$@
165                cat date.xsl.footer >>$@
166
167date.xsl : date
168
169# --------------------------------------------------------------------------------
170
171STYLE_HTML=to_html.xsl
172STYLE_HELP=to_help.xsl
173
174# --------------------------------------------------------------------------------
175
176XSLTPROC_ARGS=--nonet --nomkdir --stringparam xml_location "$(XML_LOCATION)"
177
178$(HELP) : $(STYLE_HELP) $(DTD) Makefile
179
180$(HLP_DEST)/%.hlp : $(XML_LOCATION)/%.xml
181                @-rm -f $@
182                @$(XSLTPROC) --output $@ $(XSLTPROC_ARGS) --stringparam myname "$(subst $(XML_LOCATION)/,,$<)" $(STYLE_HELP) $< || rm $@
183                @test -f $@ || (echo "$<:0: did not compile to $@" && false)
184
185# --------------------------------------------------------------------------------
186
187$(HTML) : $(STYLE_HTML) $(DTD) Makefile
188
189# Google logo
190google_logo: $(HTML_LOCATION)/Logo_25wht.gif
191$(HTML_LOCATION)/Logo_25wht.gif : Logo_25wht.gif
192                cp -p $< $@
193                @test -f $@
194
195$(HTML_LOCATION)/%.html : $(XML_LOCATION)/%.xml
196                @-rm -f $@
197                @$(XSLTPROC) --output $@ $(XSLTPROC_ARGS) --stringparam myname "$(subst $(XML_LOCATION)/,,$<)" $(STYLE_HTML) $< || (rm $@ && test -f $@)
198                @test -f $@ || (echo "$<:0: did not compile to $@" && false)
199
200# --------------------------------------------------------------------------------
201
202html : $(HTML) google_logo $(HTML_LOCATION)/$(HELP_INDEX_NAME).html
203
204help : $(HELP)
205
206# --------------------------------------------------------------------------------
207
208clean:
209        -rm -f $(TOOL_OBJECTS) $(BINARIES)
210        -rm -f $(XML_DEPEND) dummy date.xsl
211        -rm -rf $(XML_LOCATION) $(HLP_DEST) $(HTML_LOCATION)
212        $(MAKE) -C $(HLP_GENERATED) clean
213
214# --------------------------------------------------------------------------------
215
216tools: $(BINARIES)
217
218LIBS=../XML/XML.a
219
220$(HELP2XML): $(LIBS)
221
222$(XML_DEPEND) : arb_help2xml.cxx
223        touch $(XML_DEPEND)
224
225%.o: %.cxx
226        $(CPP) $(cflags) -c $< $(CPPINCLUDES) $(POST_COMPILE)
227
228$(HELP2XML): arb_help2xml.o $(LIBS)
229# @@@ when backtracing code is in libCORE, link vs ARBDB is no longer needed!
230        $(LINK_EXECUTABLE) $@ $(use_ARB_main) $< $(LIBS) $(LIBPATH) $(ARBDB_LIB) $(EXECLIBS)
231
232
233DEPENDS = $(TOOL_OBJECTS:.o=.depend)
234depends: $(DEPENDS)
235        @cat $(DEPENDS) | grep -v '^#' >>Makefile
236        @rm $(DEPENDS)
237$(DEPENDS): depend.init
238depend.init:
239        $(MAKEDEPEND) $(MAKEDEPENDFLAGS) 2>/dev/null # remove dependencies
240.c.depend:
241        $(MAKEDEPEND) -f- $(MAKEDEPENDFLAGS) $< 2>/dev/null >$@
242.cxx.depend:
243        $(MAKEDEPEND) -f- $(MAKEDEPENDFLAGS) $< 2>/dev/null >$@
244
245# DO NOT DELETE
246
247# Do not add dependencies manually - use 'make depend' in $ARBHOME
248# For formatting issues see SOURCE_TOOLS/fix_depends.pl
249
250arb_help2xml.o: $(ARBHOME)/INCLUDE/arb_assert.h
251arb_help2xml.o: $(ARBHOME)/INCLUDE/arb_core.h
252arb_help2xml.o: $(ARBHOME)/INCLUDE/arbtools.h
253arb_help2xml.o: $(ARBHOME)/INCLUDE/attributes.h
254arb_help2xml.o: $(ARBHOME)/INCLUDE/dupstr.h
255arb_help2xml.o: $(ARBHOME)/INCLUDE/test_global.h
256arb_help2xml.o: $(ARBHOME)/INCLUDE/test_unit.h
257arb_help2xml.o: $(ARBHOME)/INCLUDE/xml.hxx
Note: See TracBrowser for help on using the repository browser.