source: svn/trunk/newcon3bcm2_21bu/nexus/build/os/ucos_ii/os_rules.inc

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 5.7 KB
Line 
1############################################################
2#     (c)2003-2010 Broadcom Corporation
3#
4#  This program is the proprietary software of Broadcom Corporation and/or its licensors,
5#  and may only be used, duplicated, modified or distributed pursuant to the terms and
6#  conditions of a separate, written license agreement executed between you and Broadcom
7#  (an "Authorized License").  Except as set forth in an Authorized License, Broadcom grants
8#  no license (express or implied), right to use, or waiver of any kind with respect to the
9#  Software, and Broadcom expressly reserves all rights in and to the Software and all
10#  intellectual property rights therein.  IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU
11#  HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY
12#  NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE.
13#
14#  Except as expressly set forth in the Authorized License,
15#
16#  1.     This program, including its structure, sequence and organization, constitutes the valuable trade
17#  secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof,
18#  and to use this information only in connection with your use of Broadcom integrated circuit products.
19#
20#  2.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
21#  AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
22#  WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
23#  THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES
24#  OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE,
25#  LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION
26#  OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF
27#  USE OR PERFORMANCE OF THE SOFTWARE.
28#
29#  3.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
30#  LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR
31#  EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR
32#  USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF
33#  THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT
34#  ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
35#  LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF
36#  ANY LIMITED REMEDY.
37#
38# $brcm_Workfile: os_rules.inc $
39# $brcm_Revision: 7 $
40# $brcm_Date: 1/8/10 10:56a $
41#
42# Module Description:
43#   This file defines the OS-specific rules for building in ucos.
44#
45# Revision History:
46#
47# $brcm_Log: /nexus/build/os/ucos/os_rules.inc $
48#
49# 7   1/8/10 10:56a erickson
50# SW7550-121: modify bash-specific syntax
51#
52# 6   9/16/09 1:38p erickson
53# SW7400-2511: add B_REFSW_ or NEXUS_ prefix to build variables
54#
55# 5   3/13/09 2:44p vsilyaev
56# PR 53225: Adeed NEXUS_BIN_DIR_SUFFIX and NEXUS_BIN_DIR
57#
58# 4   9/19/08 2:52p cnovak
59# PR43697: Don't touch bsp or kernel libraries if we're not building the
60#  bsp.
61#
62# 3   9/19/08 12:52p cnovak
63# PR43697: Disable building of the BSP.
64#
65# 2   8/7/08 5:50p cnovak
66# PR43697: Add rules to build the bsp. This will likely be removed later,
67#  but necessary for now.
68#
69# 1   6/17/08 3:18p cnovak
70# PR43697: Add uCOS to Nexus.
71#
72############################################################
73
74BUILD_BSP = y
75
76include $(NEXUS_TOP)/../dta/build/platform.inc
77
78nexus_install: nexus_all
79        @echo [Install... driver]
80        $(Q_)$(MKDIR) ${NEXUS_BIN_DIR}
81        @$(CP) $(NEXUS_STATIC_LIB) ${NEXUS_BIN_DIR}
82        @$(CP) $(MAGNUM_LIB) ${NEXUS_BIN_DIR}
83ifeq ($(BUILD_BSP),y)
84        @$(CP) $(BSP_LIB) ${NEXUS_BIN_DIR}
85endif
86
87
88ifeq ($(BUILD_BSP),y)
89nexus_all: $(NEXUS_STATIC_LIB) $(MAGNUM_LIB) $(BSP_LIB) $(BSP_OBJECTS)
90else
91nexus_all: $(NEXUS_STATIC_LIB) $(MAGNUM_LIB)
92endif
93
94ifeq ($(BUILD_BSP),y)
95#
96# For uCOS, we need to build the bsp. Build everything in our defined
97# directories
98#
99
100BSP_C_SOURCES += $(MAGNUM)/basemodules/kni/$(B_REFSW_OS)/bkni_print.c
101BSP_A_SOURCES += $(MAGNUM)/basemodules/kni/$(B_REFSW_OS)/cas.S
102
103BSP_OBJECTS = $(sort $(addprefix $(NEXUS_OBJ_DIR)/BSP/,$(patsubst %.c,%.$(NEXUS_OBJ_SUFFIX),$(notdir $(BSP_C_SOURCES)))))
104BSP_OBJECTS += $(sort $(addprefix $(NEXUS_OBJ_DIR)/BSP/,$(patsubst %.S,%.$(NEXUS_OBJ_SUFFIX),$(notdir $(BSP_A_SOURCES)))))
105
106BSP_AFLAGS += $(ASFLAGS)
107
108vpath %.c $(MAGNUM)/basemodules/kni/$(B_REFSW_OS)
109vpath %.S $(BSP_SOURCE_DIR) $(MAGNUM)/basemodules/kni/$(B_REFSW_OS)
110
111# Rule for bsp source
112$(NEXUS_OBJ_DIR)/BSP/%.o: %.c
113        -$(Q_)$(MKDIR) $(NEXUS_OBJ_DIR)/BSP >/dev/null 2>&1
114        @echo "[Compile... $(notdir $<) (bsp)]"
115        $(Q_)$(CC) $(CDEP_FLAG) $(NEXUS_CFLAGS) $(BSP_CFLAGS) -c $< -o $@
116
117$(NEXUS_OBJ_DIR)/BSP/%.o: %.S
118        -$(Q_)$(MKDIR) $(NEXUS_OBJ_DIR)/BSP >/dev/null 2>&1
119        @echo "[Assemble... $(notdir $<) (bsp)]"
120        $(Q_)$(CC) $(CDEP_FLAG) $(NEXUS_CFLAGS) $(BSP_CFLAGS) $(BSP_AFLAGS) -c $< -o $@
121
122# Rule for the bsp libray
123$(BSP_LIB): $(BSP_OBJECTS)
124        @echo "[Archive... $(notdir $@)]"
125        -$(Q_)$(AR) rcs $@ $^
126
127endif
128
129# Rule for magnum sources
130$(MAGNUM_OBJECTS): $(NEXUS_OBJ_DIR)/MAGNUM/%.$(NEXUS_OBJ_SUFFIX): %.c
131        -$(Q_)$(MKDIR) $(NEXUS_OBJ_DIR)/MAGNUM >/dev/null 2>&1
132        @echo "[Compile... $(notdir $<) (magnum)]"
133        $(Q_)$(CC) $(CDEP_FLAG) $(NEXUS_CFLAGS) -c $< -o $@
134
135# Rule for magnum library
136$(MAGNUM_LIB): $(MAGNUM_OBJECTS) $(MAGNUM_PRECOMPILED_OBJECTS)
137        @echo "[Archive... $(notdir $@)]"
138        -$(Q_)$(AR) rcs $@ $^
139
140# Rule for nexus library
141$(NEXUS_STATIC_LIB): $(NEXUS_OBJECTS) $(MAGNUM_OBJECTS) $(MAGNUM_PRECOMPILED_OBJECTS) $(BSP_OBJECTS)
142        @echo "[Archive... $(notdir $@)]"
143        -$(Q_)$(AR) rcs $@ $^
144
145nexus_clean:
146        -$(Q_)$(RM) -rf $(NEXUS_TOP)/libmagnum.a $(NEXUS_TOP)/libnexus.* $(NEXUS_OBJ_DIR)/* $(NEXUS_SYNCTHUNK_DIR)/*
147
148# Include dependencies
149NEXUS_DEP_FILES := $(wildcard $(NEXUS_OBJ_DIR)/*/*.d)
150ifneq ($(NEXUS_DEP_FILES),)
151-include $(wildcard $(NEXUS_OBJ_DIR)/*/*.d)
152endif
153
Note: See TracBrowser for help on using the repository browser.