| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #
- # Licensed to Cloudera, Inc. under one
- # or more contributor license agreements. See the NOTICE file
- # distributed with this work for additional information
- # regarding copyright ownership. Cloudera, Inc. licenses this file
- # to you under the Apache License, Version 2.0 (the
- # "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- export ROOT := $(realpath ..)
- include $(ROOT)/Makefile.vars.priv
- .PHONY: default docs
- default: docs
- docs: $(BLD_DIR_DOC)
- # Option for a2x
- NO_TOC := --xsltproc-opts='--stringparam generate.toc ""'
- #
- # Being lazy/loose with the prerequisite. Include all files except sdk and
- # release notes, which are handled separately below.
- #
- DOC_FILES := $(shell find . -prune -o -name release-notes -o -path '*/gethue/*' -prune -o -print)
- $(BLD_DIR_DOC): release-notes $(DOC_FILES)
- # skip a2x generation if not found
- ifeq (0, $(shell which a2x 1>/dev/null 2>/dev/null; echo $$?))
- @echo '--- Generating doc at $@'
- @mkdir -p $@
- -@a2x $(NO_TOC) --icons --icons-dir=images --format=xhtml --stylesheet=css/docbook.css -D $@ index.txt
- -@rm -f index.xml
- -@cp images/favicon.ico $@
- -@# Remove intermediate file
- -@rsync -a images $@/
- -@rsync -a js $@/
- -@rsync -a css $@/
- -@rsync -a fonts $@/
- else
- @echo "a2x is not found"
- endif
- .PHONY: release-notes
- release-notes: $(BLD_DIR_DOC)/release-notes
- $(BLD_DIR_DOC)/release-notes: $(wildcard release-notes/*.txt)
- # skip a2x generation if not found
- ifeq (0, $(shell which a2x 1>/dev/null 2>/dev/null; echo $$?))
- @echo '--- Generating release notes at $@'
- @mkdir -p $@
- -@cp css/docbook.css release-notes/
- -@for i in $? ; do \
- a2x $(NO_TOC) --format=xhtml --stylesheet=docbook.css $$i ; \
- rm -f $$i.xml ; \
- done;
- -@mv release-notes/docbook.css $@/
- -@mv release-notes/*.html $@/
- @echo "--- Generated $@"
- else
- @echo "a2x is not found"
- endif
- .PHONY: admin-manual
- admin-manual: $(BLD_DIR_DOC)/admin-manual
- $(BLD_DIR_DOC)/admin-manual: $(wildcard admin-manual/*.md)
- @echo '--- Generating admin-manual doc at $@'
- @mkdir -p $@
- @PYTHONPATH=$(DESKTOP_DIR)/core/ext-py/markdown:$(DESKTOP_DIR)/core/ext-py/elementtree \
- $(DESKTOP_DIR)/core/ext-py/markdown/bin/markdown \
- admin-manual/manual.md -x toc > $@/manual.html
- @echo "--- Generated $@"
- .PHONY: user-guide
- user-guide: $(BLD_DIR_DOC)/user-guide
- $(BLD_DIR_DOC)/user-guide: $(wildcard user-guide/*.md)
- @echo '--- Generating user-guide doc at $@'
- @mkdir -p $@
- @cp -r user-guide/images $@
- @for x in $? ; do PYTHONPATH=$(DESKTOP_DIR)/core/ext-py/markdown:$(DESKTOP_DIR)/core/ext-py/elementtree \
- $(DESKTOP_DIR)/core/ext-py/markdown/bin/markdown \
- $$x > $(BLD_DIR_DOC)/$$x -x toc ; done
- @(cd $@; for file in *.md; do mv $${file} $${file/\.md/.html}; done)
- @echo "--- Generated $@"
- .PHONY: sdk
- sdk: $(BLD_DIR_DOC)/sdk/sdk.html
- $(BLD_DIR_DOC)/sdk/sdk.html: $(shell find sdk -type f)
- @echo '--- Generating sdk doc at $@'
- @mkdir -p $(@D)
- @cp sdk/*.png $(@D)
- @# This is somewhat heinous, but works fine and avoids the need
- @# to install markdown on developer systems, or depend on building
- @# out the virtual env to build sdk docs
- @PYTHONPATH=$(DESKTOP_DIR)/core/ext-py/markdown:$(DESKTOP_DIR)/core/ext-py/elementtree \
- $(DESKTOP_DIR)/core/ext-py/markdown/bin/markdown \
- sdk/sdk.md -x toc > $@
- @echo "--- Generated $@"
- clean:
- @echo '--- Removing $(BLD_DIR_DOC)'
- @rm -rf $(BLD_DIR_DOC)
|