doc: generate HTML for API with doxygen
[dpdk.git] / mk / rte.sdkdoc.mk
1 #   BSD LICENSE
2
3 #   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
4 #   Copyright(c) 2013 6WIND S.A.
5 #   All rights reserved.
6
7 #   Redistribution and use in source and binary forms, with or without
8 #   modification, are permitted provided that the following conditions
9 #   are met:
10
11 #     * Redistributions of source code must retain the above copyright
12 #       notice, this list of conditions and the following disclaimer.
13 #     * Redistributions in binary form must reproduce the above copyright
14 #       notice, this list of conditions and the following disclaimer in
15 #       the documentation and/or other materials provided with the
16 #       distribution.
17 #     * Neither the name of Intel Corporation nor the names of its
18 #       contributors may be used to endorse or promote products derived
19 #       from this software without specific prior written permission.
20
21 #   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 #   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 #   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 #   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 #   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 #   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 #   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 #   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 #   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 #   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
33 ifdef T
34 ifeq ("$(origin T)", "command line")
35 $(error "Cannot use T= with doc target")
36 endif
37 endif
38
39 .PHONY: all
40 all: htmlapi
41
42 .PHONY: clean
43 clean: htmlapi-clean
44
45 .PHONY: htmlapi
46 htmlapi: htmlapi-clean
47         @echo 'doxygen for API...'
48         $(Q)mkdir -p $(RTE_OUTPUT)/doc/html
49         $(Q)(cat $(RTE_SDK)/doc/doxy-api.conf         && \
50             echo OUTPUT_DIRECTORY = $(RTE_OUTPUT)/doc && \
51             echo HTML_OUTPUT      = html/api          && \
52             echo GENERATE_HTML    = YES               && \
53             echo GENERATE_LATEX   = NO                && \
54             echo GENERATE_MAN     = NO                )| \
55             doxygen -
56         $(Q)$(RTE_SDK)/doc/doxy-html-custom.sh $(RTE_OUTPUT)/doc/html/api/doxygen.css
57
58 .PHONY: htmlapi-clean
59 htmlapi-clean:
60         $(Q)rm -f $O/doc/html/api/*
61         $(Q)rmdir -p --ignore-fail-on-non-empty $(RTE_OUTPUT)/doc/html/api 2>&- || true