source: branches/alilink/HELP_SOURCE/Makefile

Last change on this file was 18126, checked in by westram, 6 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 8.9 KB
RevLine 
[384]1
[5892]2.SUFFIXES: .o .c .cxx .source .hlp .xml .dtd .html .depend .ps.gz .pdf.gz
[10842]3.PHONY: prepare all dirs generated xml dump ps pdf nonhlp_formats
4.PHONY: delzerohtml interdepends google_logo html help clean tools depends depend.init
[384]5
6# --------------------------------------------------------------------------------
[942]7
[10842]8TEST_ONE:=0# default is 0; if 1 -> only one .hlp file is processed. see below .@TEST_ONE
9ONLY_DO_UNITTEST:=0# default is 0; if 1 -> only unittest.hlp is processed (to make unit-test auto-update work) #@@@ set to 0 before checkin
[942]10
11# --------------------------------------------------------------------------------
[384]12# directories of source/destination files:
13
14HLP_SOURCE=oldhelp
[766]15HLP_GENERATED=genhelp
[384]16XML_LOCATION=Xml
[391]17HTML_LOCATION=../lib/help_html
[395]18HLP_DEST=../lib/help
[7021]19HELP_INDEX_NAME = help_index
[13998]20DOTMAP=./help_map.dot
21GIFMAP=./help_map.gif
[384]22
23# needed tools:
[5890]24TOOL_OBJECTS = \
[384]25         arb_help2xml.o
26
[5890]27BINARIES = $(TOOL_OBJECTS:%.o=$(ARBHOME)/bin/%)
28
[3611]29QUIETLY = ./quietly.pl
30
[6767]31# using xsltproc and XMLLINT:
[10842]32XSLTPROC = ./arb_xslt.sh
[5892]33VALIDATE = $(QUIETLY) XMLLINT
[401]34
[384]35# --------------------------------------------------------------------------------
36
[7819]37$(MAIN) : all
38
[10842]39prepare: date generated dirs tools nonhlp_formats delzerohtml
40
41all: prepare
[6767]42                @echo --------------------------------------------------- [old hlp 2 xml]
43                time $(MAKE) xml
[10842]44                @echo --------------------------------------------------- [interdependencies]
45                time $(MAKE) interdepends
[6767]46                @echo --------------------------------------------------- [xml 2 hlp]
[10842]47                time $(MAKE) "USE_GENERATED_DEPENDS=1" help
[3415]48                $(MAKE) $(HLP_DEST)/FORM.hlp
[6767]49                @echo --------------------------------------------------- [xml 2 html]
[10842]50                time $(MAKE) "USE_GENERATED_DEPENDS=1" html
[384]51
[3415]52$(HLP_DEST)/FORM.hlp: $(HLP_SOURCE)/FORM.hlp
53                cp -p $< $@
54
55
[384]56dirs:
[1452]57                mkdir -p $(XML_LOCATION)
[1625]58                mkdir -p $(XML_LOCATION)/prompt
59
[1452]60                mkdir -p $(HTML_LOCATION)
[1625]61                mkdir -p $(HTML_LOCATION)/prompt
62
[1452]63                mkdir -p $(HLP_DEST)
[1625]64                mkdir -p $(HLP_DEST)/prompt
65
[16577]66                @ln -s ../arb_help.dtd $(XML_LOCATION) || true
67                @ln -s ../../arb_help.dtd $(XML_LOCATION)/prompt || true
[384]68
69HELP2XML=$(ARBHOME)/bin/arb_help2xml
70
71# --------------------------------------------------------------------------------
[766]72# Generate help files in $(HLP_GENERATED):
[384]73
[12400]74generated: dirs
[766]75                @echo ---------------------------------------------------
76                @echo ------------ Generating some help files:
77                (cd $(HLP_GENERATED);$(MAKE) all)
78
79# --------------------------------------------------------------------------------
80
[7018]81HELP_INDEX_XML = $(XML_LOCATION)/$(HELP_INDEX_NAME).xml
82
[10842]83ifeq ($(ONLY_DO_UNITTEST),1)
84OLD_HELP_ALL= $(HLP_SOURCE)/unittest.hlp
85else
[766]86OLD_HELP_ALL= \
87                $(HLP_SOURCE)/arb.hlp \
88                $(wildcard \
89                                $(HLP_GENERATED)/*.hlp \
90                                $(HLP_SOURCE)/*.hlp \
[1625]91                                $(HLP_SOURCE)/prompt/*.hlp \
[766]92                )
[10842]93endif
[766]94
[942]95ifeq ($(TEST_ONE),1)
[6766]96#OLD_HELP=$(HLP_SOURCE)/arb.hlp $(HLP_SOURCE)/version.hlp $(HLP_SOURCE)/translate_dna_2_pro.hlp $(HLP_SOURCE)/species_join.hlp
97OLD_HELP=$(HLP_SOURCE)/version.hlp
[942]98#OLD_HELP=$(HLP_SOURCE)/arb.hlp
99else
[683]100OLD_HELP=$(OLD_HELP_ALL:$(HLP_SOURCE)/FORM.hlp=)# remove FORM.hlp (this is just a default file)
[942]101endif
102
[384]103XML_TMP=$(OLD_HELP:%.hlp=%.xml)
[766]104XML_TMP2=$(XML_TMP:$(HLP_SOURCE)/%=$(XML_LOCATION)/%)
[7018]105XML=$(XML_TMP2:$(HLP_GENERATED)/%=$(XML_LOCATION)/%) 
[384]106
[2909]107XML_DEPEND=xml.stamp# xml files are rebuild if this stamp is recreated
[5892]108DTD=arb_help.dtd
[384]109
[7021]110$(XML) : $(XML_DEPEND) Makefile $(QUIETLY)
[2909]111
[10842]112$(HELP_INDEX_XML): $(OLD_HELP_ALL) $(XML) ./generate_index.pl Makefile
[13998]113        ./generate_index.pl $(XML_LOCATION) $(HELP_INDEX_NAME).xml $(DOTMAP) > $@
114        -dot -Tgif -o$(GIFMAP) $(DOTMAP)
115        rm $(DOTMAP)
[7018]116
117xml : $(XML) $(HELP_INDEX_XML)
118
[766]119dump:
120                echo $(XML)
121
[5892]122$(XML_LOCATION)/%.xml : $(HLP_SOURCE)/%.hlp $(DTD)
[766]123                @test \! -f $(HLP_GENERATED)/$(<F) || \
[6141]124                                ( echo $<:1: exists twice -- only one existence allowed; \
[5782]125                                  echo $(HLP_GENERATED)/$(<F):1: other occurrence \
[766]126                                  && false )
[10842]127                @$(HELP2XML) $< $@ || (rm -f $@ && echo "Error: generation of $@ failed" && false)
[5231]128                @$(VALIDATE) $@
[384]129
[5892]130$(XML_LOCATION)/%.xml : $(HLP_GENERATED)/%.hlp $(DTD)
[766]131                @test \! -f $(HLP_SOURCE)/$(<F) || \
[6141]132                                ( echo $<:1: exists twice -- only one existence allowed; \
[5782]133                                  echo $(HLP_SOURCE)/$(<F):1: other occurrence \
[766]134                                  && false )
[10842]135                @$(HELP2XML) $< $@ || (rm -f $@ && echo "Error: generation of $@ failed" && false)
[5231]136                @$(VALIDATE) $@
[766]137
[7018]138$(HTML_LOCATION)/help_index.html : $(HELP_INDEX_XML)
[384]139
[7018]140HTML_TMP=$(XML:%.xml=%.html) 
141HTML=$(HTML_TMP:$(XML_LOCATION)/%=$(HTML_LOCATION)/%) 
[384]142
143HELP_TMP=$(XML:%.xml=%.hlp)
144HELP=$(HELP_TMP:$(XML_LOCATION)/%=$(HLP_DEST)/%)
145
146# --------------------------------------------------------------------------------
147
[4227]148PS_SRC=$(wildcard $(HLP_SOURCE)/*.ps.gz)
149PDF_SRC=$(wildcard $(HLP_SOURCE)/*.pdf.gz)
150
151PS_DEST=$(PS_SRC:$(HLP_SOURCE)/%=$(HLP_DEST)/%)
152PDF_DEST=$(PDF_SRC:$(HLP_SOURCE)/%=$(HLP_DEST)/%)
153
154ps: $(PS_DEST)
155
156pdf: $(PDF_DEST)
157
[12400]158$(PS_DEST) : dirs
159$(PDF_DEST) : dirs
160
[4227]161nonhlp_formats: ps pdf
162
163$(HLP_DEST)/%.ps.gz : $(HLP_SOURCE)/%.ps.gz
164        cp -p $< $@
165
166$(HLP_DEST)/%.pdf.gz : $(HLP_SOURCE)/%.pdf.gz
167        cp -p $< $@
168
169# --------------------------------------------------------------------------------
170
[384]171delzerohtml:
[11815]172                -if [ -d $(HTML_LOCATION) ] ; then find $(HTML_LOCATION) -name "*.html" -size -1 -exec rm {} \; ; fi
[384]173
[2516]174date :
175        $(MAKE) date.xsl.tmp
176        ../SOURCE_TOOLS/mv_if_diff date.xsl.tmp date.xsl
[384]177
[2516]178date.xsl.tmp :
[2883]179                cat date.xsl.header >$@
[3725]180                bash -c "(export LC_ALL=C;date '+%d. %b %Y')" >>$@
[2883]181                cat date.xsl.footer >>$@
[384]182
[2516]183date.xsl : date
184
[384]185# --------------------------------------------------------------------------------
186
187STYLE_HTML=to_html.xsl
188STYLE_HELP=to_help.xsl
[10842]189STYLE_DEPENDS=to_depends.xsl
[384]190
[10842]191XSLTPROC_ARGS=--nonet --nomkdir --stringparam xml_location "$(XML_LOCATION)"
192
[395]193# --------------------------------------------------------------------------------
194
[10842]195INTERDEPENDS=.depends
196INTERDEPENDS_SOURCE=$(XML)
[14103]197XML2DEPENDS=./xml_2_depends.pl
[395]198
[10842]199$(INTERDEPENDS): $(INTERDEPENDS_SOURCE) $(XML2DEPENDS) Makefile $(STYLE_DEPENDS)
[14103]200        @( ( echo "$(INTERDEPENDS_SOURCE)" | $(XML2DEPENDS) $(XSLTPROC) $(STYLE_DEPENDS) $(XSLTPROC_ARGS) >$@ ) 2>interdep.err && \
201           ( $(XML2DEPENDS) CHECK $@ ) 2>>interdep.err && \
202           rm interdep.err ) || \
203         (cat interdep.err; false)
[10842]204
205interdepends: $(INTERDEPENDS)
206
[18126]207ifdef USE_GENERATED_DEPENDS
208 ifeq ($(USE_GENERATED_DEPENDS),1)
209  include $(INTERDEPENDS)
210 endif
[10842]211endif
212
213# --------------------------------------------------------------------------------
214
[6766]215$(HELP) : $(STYLE_HELP) $(DTD) Makefile
216
217$(HLP_DEST)/%.hlp : $(XML_LOCATION)/%.xml
[6768]218                @-rm -f $@
[6766]219                @$(XSLTPROC) --output $@ $(XSLTPROC_ARGS) --stringparam myname "$(subst $(XML_LOCATION)/,,$<)" $(STYLE_HELP) $< || rm $@
[6767]220                @test -f $@ || (echo "$<:0: did not compile to $@" && false)
[395]221
222# --------------------------------------------------------------------------------
223
[6766]224$(HTML) : $(STYLE_HTML) $(DTD) Makefile
[384]225
[925]226# Google logo
227google_logo: $(HTML_LOCATION)/Logo_25wht.gif
228$(HTML_LOCATION)/Logo_25wht.gif : Logo_25wht.gif
229                cp -p $< $@
[2135]230                @test -f $@
[925]231
[384]232$(HTML_LOCATION)/%.html : $(XML_LOCATION)/%.xml
[6768]233                @-rm -f $@
[6766]234                @$(XSLTPROC) --output $@ $(XSLTPROC_ARGS) --stringparam myname "$(subst $(XML_LOCATION)/,,$<)" $(STYLE_HTML) $< || (rm $@ && test -f $@)
[6767]235                @test -f $@ || (echo "$<:0: did not compile to $@" && false)
[384]236
237# --------------------------------------------------------------------------------
238
[7018]239html : $(HTML) google_logo $(HTML_LOCATION)/$(HELP_INDEX_NAME).html
[384]240
241help : $(HELP)
242
243# --------------------------------------------------------------------------------
244
[401]245clean:
[7769]246        -rm -f $(TOOL_OBJECTS) $(BINARIES)
247        -rm -f $(XML_DEPEND) dummy date.xsl
[10842]248        -rm -rf $(XML_LOCATION) $(HLP_DEST) $(HTML_LOCATION) $(INTERDEPENDS)
[7018]249        $(MAKE) -C $(HLP_GENERATED) clean
[401]250
251# --------------------------------------------------------------------------------
252
[5890]253tools: $(BINARIES)
[384]254
255LIBS=../XML/XML.a
256
257$(HELP2XML): $(LIBS)
258
[2909]259$(XML_DEPEND) : arb_help2xml.cxx
260        touch $(XML_DEPEND)
261
[5708]262%.o: %.cxx
[13998]263        $(A_CXX) $(cflags) $(cxxflags) -c $< $(CXX_INCLUDES) $(POST_COMPILE) $<
[384]264
[11656]265$(HELP2XML): arb_help2xml.o $(LIBS) $(use_ARB_main)
[16577]266        $(LINK_EXECUTABLE) $@ $(use_ARB_main) $< $(LIBS) $(LIBPATH) $(CORE_LIB)
[384]267
[7819]268
[5890]269DEPENDS = $(TOOL_OBJECTS:.o=.depend)
[1617]270depends: $(DEPENDS)
271        @cat $(DEPENDS) | grep -v '^#' >>Makefile
272        @rm $(DEPENDS)
273$(DEPENDS): depend.init
274depend.init:
275        $(MAKEDEPEND) $(MAKEDEPENDFLAGS) 2>/dev/null # remove dependencies
276.c.depend:
277        $(MAKEDEPEND) -f- $(MAKEDEPENDFLAGS) $< 2>/dev/null >$@
278.cxx.depend:
279        $(MAKEDEPEND) -f- $(MAKEDEPENDFLAGS) $< 2>/dev/null >$@
[384]280
281# DO NOT DELETE
[1617]282
[2338]283# Do not add dependencies manually - use 'make depend' in $ARBHOME
[9575]284# For formatting issues see SOURCE_TOOLS/fix_depends.pl (from main)
[2338]285
[1617]286arb_help2xml.o: $(ARBHOME)/INCLUDE/arb_assert.h
[6814]287arb_help2xml.o: $(ARBHOME)/INCLUDE/arb_core.h
[10704]288arb_help2xml.o: $(ARBHOME)/INCLUDE/arb_defs.h
289arb_help2xml.o: $(ARBHOME)/INCLUDE/arb_diff.h
[13998]290arb_help2xml.o: $(ARBHOME)/INCLUDE/arb_msg.h
[7623]291arb_help2xml.o: $(ARBHOME)/INCLUDE/arbtools.h
[5129]292arb_help2xml.o: $(ARBHOME)/INCLUDE/attributes.h
[9521]293arb_help2xml.o: $(ARBHOME)/INCLUDE/cxxforward.h
[6331]294arb_help2xml.o: $(ARBHOME)/INCLUDE/dupstr.h
[9516]295arb_help2xml.o: $(ARBHOME)/INCLUDE/gccver.h
[10842]296arb_help2xml.o: $(ARBHOME)/INCLUDE/static_assert.h
[6817]297arb_help2xml.o: $(ARBHOME)/INCLUDE/test_global.h
[7018]298arb_help2xml.o: $(ARBHOME)/INCLUDE/test_unit.h
[1617]299arb_help2xml.o: $(ARBHOME)/INCLUDE/xml.hxx
Note: See TracBrowser for help on using the repository browser.