blob: 0ef21da5e733732a4e2e16b77ddb89ac55a41ae5 [file] [log] [blame]
Shad Ansari2f7f9be2017-06-07 13:34:53 -07001###############################################################################
2#
3# <:copyright-BRCM:2016:proprietary:standard
4#
5# Broadcom Ltd. Proprietary and Confidential.(c) 2016 Broadcom Ltd.
6# All Rights Reserved
7#
8# This program is the proprietary software of Broadcom Ltd. and/or its
9# licensors, and may only be used, duplicated, modified or distributed pursuant
10# to the terms and conditions of a separate, written license agreement executed
11# between you and Broadcom Ltd. (an "Authorized License"). Except as set forth in
12# an Authorized License, Broadcom Ltd. grants no license (express or implied), right
13# to use, or waiver of any kind with respect to the Software, and Broadcom Ltd.
14# expressly reserves all rights in and to the Software and all intellectual
15# property rights therein. IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU HAVE
16# NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY NOTIFY
17# BROADCOM LTD AND DISCONTINUE ALL USE OF THE SOFTWARE.
18#
19# Except as expressly set forth in the Authorized License,
20#
21# 1. This program, including its structure, sequence and organization,
22# constitutes the valuable trade secrets of Broadcom Ltd., and you shall use
23# all reasonable efforts to protect the confidentiality thereof, and to
24# use this information only in connection with your use of Broadcom Ltd.
25# integrated circuit products.
26#
27# 2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
28# AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
29# WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH
30# RESPECT TO THE SOFTWARE. BROADCOM SPECIFICALLY DISCLAIMS ANY AND
31# ALL IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, NONINFRINGEMENT,
32# FITNESS FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR
33# COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR CORRESPONDENCE
34# TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF USE OR
35# PERFORMANCE OF THE SOFTWARE.
36#
37# 3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR
38# ITS LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL,
39# INDIRECT, OR EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY
40# WAY RELATING TO YOUR USE OF OR INABILITY TO USE THE SOFTWARE EVEN
41# IF BROADCOM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES;
42# OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT ACTUALLY PAID FOR THE
43# SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE LIMITATIONS
44# SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY
45# LIMITED REMEDY.
46# :>
47#
48###############################################################################
49#
50# Makefile for building doxygen for bal source code
51#
52###############################################################################
53
54PROJECT_NUMBER=$(shell ./genProjectNumber.sh)
55TMP_FILE=cfg.tmp
56OUTPUT_FILE=doxygen_output.txt
57WARNINGS_FILE=doxygen_warnings.txt
58
59GEN_GRAPHS ?= NO
60
61.PHONY: docs
62docs:
63 @if [ "$(GEN_GRAPHS)" != "YES" ]; then \
64 echo "#####################################################################" ; \
65 echo "# Graphs will NOT be generated #" ; \
66 echo "# Type 'make GEN_GRAPHS=YES' to instruct doxygen to generate graphs #" ; \
67 echo "#####################################################################" ; \
68 sleep 3 ; \
69 fi
70 $(call gen_doc_cmd,$(OUT_DOCS_DIR)/bal_internal,bal.doxy)
71 $(call gen_doc_cmd,$(OUT_DOCS_DIR)/bal_public,bal_public.doxy)
72 $(call gen_doc_cmd,$(OUT_DOCS_DIR)/sdn_pal,sdn_pal.doxy)
73 $(call gen_doc_cmd,$(OUT_DOCS_DIR)/omcisvc,omcisvc.doxy)
74
75define gen_doc_cmd
76 rm -fr $1
77 mkdir -p $1
78 sed -e 's@%OUT_DOCS_DIR@$1@g' \
79 -e 's@%SRC_DIR@$(TOP_SRC_DIR)@g' \
80 -e 's@%PROJECT_NUMBER@$(PROJECT_NUMBER)@g' \
81 -e 's@%HAVE_DOT@$(GEN_GRAPHS)@g' \
82 -e 's@%MODEL_DIR@$(OUT_DIR_BASE)/src/common/include@g' \
83 -e 's@%OMCI_MODEL_DIR@$(OUT_DIR_BASE)/src/lib/libomcisvc@g' \
84 $2 > $1/Doxyfile
85 rm -fr $1/$(OUTPUT_FILE) $1/$(WARNINGS_FILE)
86 cd $1 && doxygen 2>$1/$(WARNINGS_FILE) | tee $1/$(OUTPUT_FILE)
87 @echo ""
88 @echo "############################################"
89 @echo "# Checking doxygen output for warnings... #"
90 @echo "############################################"
91 @cat $1/$(WARNINGS_FILE)
92 @test -s $1/$(WARNINGS_FILE) && echo -ne "\n!!! WARNINGS WERE FOUND!!!\n\nPlease see warnings listed above and check $1/$(WARNINGS_FILE) for more information\n\n" && exit -1 || echo "Done."
93 rm -fr $1/$(OUTPUT_FILE) $1/$(WARNINGS_FILE) $1/Doxyfile
94endef