Home | History | Annotate | Download | only in sun_nws
      1 #
      2 # CDDL HEADER START
      3 #
      4 # The contents of this file are subject to the terms of the
      5 # Common Development and Distribution License (the "License").
      6 # You may not use this file except in compliance with the License.
      7 #
      8 # You can obtain a copy of the license at src/sun_nws/OPENSOLARIS.LICENSE
      9 # or http://www.opensolaris.org/os/licensing.
     10 # See the License for the specific language governing permissions
     11 # and limitations under the License.
     12 
     13 # When distributing Covered Code, include this CDDL HEADER in each
     14 # file and include the License file at src/sun_nws/OPENSOLARIS.LICENSE.
     15 # If applicable, add the following below this CDDL HEADER, with the
     16 # fields enclosed by brackets "[]" replaced with your own identifying
     17 # information: Portions Copyright [yyyy] [name of copyright owner]
     18 #
     19 # CDDL HEADER END
     20 #
     21 #
     22 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
     23 # Use is subject to license terms.
     24 #
     25 #ident	"@(#)Makefile.config	1.48	08/10/21 SMI"
     26 #
     27 # src/sun_nws/Makefile.config
     28 
     29 # The variable POUND_SIGN is used to disable 32 bit or 64 bit builds when they
     30 # don't apply.  An example of that are:
     31 #
     32 #	BUILD32	= $(MACH32:sparc=$(POUND_SIGN))
     33 #	BUILD64	= $(POUND_SIGN)
     34 #
     35 # If BUILD32 or BUILD64 are set to $(POUND_SIGN), all the line starting with
     36 # BUILD32 or BUILD64 will considered comments by make (or dmake).
     37 
     38 POUND_SIGN:sh=	echo \\043
     39 
     40 CPU_AMD64	= amd64
     41 CPU_I386	= i386
     42 CPU_SPARCV9	= sparcv9
     43 CPU_SPARC	= sparc
     44 
     45 # The sparc_ON_REF_GATE and i386_ON_REF_GATE variables point to the location
     46 # of your successfully built opensolaris workspace. These variables should be set
     47 # in the users environment or envfile. 
     48 sparc_ON_REF_GATE  = 
     49 i386_ON_REF_GATE   = 
     50 ON_REF_GATE	   = $($(MACH)_ON_REF_GATE)
     51 
     52 # Misc packaging related requirements
     53 PROJAREA	= $(CODEMGR_WS)/src/sun_nws
     54 PKGAREA		= $(CODEMGR_WS)/packages/$(MACH)/nightly$(BUILD_TYPE)
     55 PKGS		= $(PROJAREA)/pkgdefs
     56 
     57 CLASS_ACTIONS_DIR   = $(PKGS)/class_actions
     58 # Default setting
     59 CLASS_ACTIONS	    = none
     60 
     61 BLDAWKPKGINFO	    = $(ON_REF_GATE)/usr/src/pkgdefs/bld_awk_pkginfo.ksh
     62 PKGDEPEND	    = $(ON_REF_GATE)/usr/src/pkgdefs/common_files/depend
     63 CPR_FILTER	    = $(PROJAREA)/pkgdefs/cpr_filter
     64 
     65 RELEASE		    = 5.11
     66 #VERSION	    = SunOS Development
     67 VERSION		    = NWSC
     68 ONVERS		    = 11.11
     69 
     70 # in ON, MACH is set in the env file; here it is defined by the current OS
     71 MACH:sh		    = uname -p
     72 ARCH:sh		    = uname -m
     73 
     74 #
     75 # MACH64 and MACH32 are derived from MACH
     76 #
     77 MACH64_1=	$(MACH:sparc=sparcv9)
     78 MACH64=		$(MACH64_1:i386=amd64)
     79 MACH32_1=	$(MACH:sparc=sparc)
     80 MACH32=		$(MACH32_1:i386=i386)
     81 
     82 BUILD32=
     83 BUILD64=
     84 
     85 # These are no longer used but are being saved in case the ctfmerge is ever needed.
     86 sparc_GENUNIX_PATH	= $(ON_REF_GATE)/usr/src/uts/$(ARCH)/genunix
     87 i386_GENUNIX_PATH	= $(ON_REF_GATE)/usr/src/uts/intel/genunix
     88 
     89 GENUNIX_PATH		= $($(MACH)_GENUNIX_PATH)
     90 
     91 GENUNIX32		= $(GENUNIX_PATH)/$(OBJ)32/genunix
     92 GENUNIX64		= $(GENUNIX_PATH)/$(OBJ)64/genunix
     93 
     94 DMAKE_MODE=parallel
     95 DMAKE_MAX_JOBS=1
     96 DMAKE_ADJUST_MAX_JOBS=YES
     97 
     98 # Common Tools
     99 
    100 # The sparc_BUILD_TOOLS and i386_BUILD_TOOLS variables point to the location of your
    101 # Sun Studio 10 compiler installation.  These variables should be set in the users
    102 # environment or envfile.
    103 
    104 BUILD_TOOLS	    =
    105 sparc_BUILD_TOOLS   =
    106 i386_BUILD_TOOLS    =
    107 ONBLD		    = $(BUILD_TOOLS)/onbld/bin
    108 
    109 CC	            = $($(MACH)_BUILD_TOOLS)/bin/cc
    110 CCC	            = $($(MACH)_BUILD_TOOLS)/bin/CC
    111 CP	            = /usr/bin/cp
    112 CTFCONVERTCMD	    = $(ONBLD)/$(MACH)/ctfconvert
    113 CTFMERGECMD	    = $(ONBLD)/$(MACH)/ctfmerge
    114 ECHO	            = /usr/bin/echo
    115 GREP		    = /usr/bin/grep
    116 INSTALL		    = /usr/sbin/install
    117 LD	            = /usr/ccs/bin/ld
    118 LN	            = /usr/bin/ln
    119 LINT32	            = $($(MACH)_BUILD_TOOLS)/bin/lint
    120 LINT64	            = $($(MACH)_BUILD_TOOLS)/bin/lint
    121 MAKE		    = $($(MACH)_BUILD_TOOLS)/bin/dmake -m $(DMAKE_MODE) -j $(DMAKE_MAX_JOBS)
    122 MKDEPEND	    = /usr/openwin/bin/makedepend
    123 MV	            = /usr/bin/mv
    124 NAWK	            = /usr/bin/nawk
    125 PKGMK		    = /usr/bin/pkgmk
    126 TEST	            = /usr/bin/test
    127 TOUCH		    = /usr/bin/touch
    128 SCCS	            = /usr/ccs/bin/sccs
    129 SED	            = /usr/bin/sed
    130 XGETTEXT	    = /usr/bin/xgettext
    131 DTRACE		    = /usr/sbin/dtrace
    132 
    133 #
    134 # Standard Flags
    135 #
    136 
    137 # Determine build type (debug, nondebug)
    138 # Default is debug; Use envriroment variable NONDEBUG
    139 # to override.
    140 
    141 NONDEBUG=$(POUND_SIGN)
    142 OBJ 		= dbg_
    143 DEBUG		= -DDEBUG
    144 BUILD_TYPE 	= -debug
    145 ON_REF_PROTO 	= proto/root_$(MACH)
    146 OBJ32		= $(OBJ)$(MACH32)
    147 OBJ64		= $(OBJ)$(MACH64)
    148 
    149 # if NONDEBUG is set:
    150 $(NONDEBUG)OBJ  	= obj_
    151 $(NONDEBUG)DEBUG 	=
    152 $(NONDEBUG)BUILD_TYPE 	= -nondebug
    153 $(NONDEBUG)ON_REF_PROTO = proto/root_$(MACH)-nd
    154 $(NONDEBUG)OBJ32	= $(OBJ)$(MACH32)
    155 $(NONDEBUG)OBJ64	= $(OBJ)$(MACH64)
    156 
    157 SRC_DIR		= ./src
    158 MDB_SRC_DIR	= ./src
    159 HDRS_DIR	= ./hdrs
    160 HDRS		= $(HDRS_DIR)
    161 SPECS_DIR	= ./spec
    162 
    163 # Determine lint type (basic, enhanced)
    164 # Default is basic
    165 
    166 ENHANCED_LINT=$(POUND_SIGN)
    167 ENHANCED_LINT_LEVEL=4
    168 
    169 # Internal only source location
    170 INTSRC		= ../internal_src
    171 
    172 # sparc-only components
    173 sparc_COMPONENTS        += libg_fc
    174 sparc_COMPONENTS        += liba5k
    175 sparc_COMPONENTS 	+= $(INTSRC)/qus
    176 
    177 # all components
    178 COMPONENTS        += emlxs
    179 COMPONENTS        += fcip
    180 COMPONENTS        += fcp
    181 COMPONENTS        += fcsm
    182 COMPONENTS        += fctl
    183 COMPONENTS        += fp
    184 COMPONENTS        += headers
    185 COMPONENTS        += qlc
    186 COMPONENTS        += hbaapi
    187 COMPONENTS        += sun_fc
    188 COMPONENTS        += luxadm
    189 COMPONENTS        += cfgadm_fp
    190 COMPONENTS        += iscsid
    191 COMPONENTS        += iscsi
    192 COMPONENTS	  += ima
    193 COMPONENTS	  += sun_ima
    194 COMPONENTS        += iscsiadm
    195 COMPONENTS        += fcinfo
    196 COMPONENTS        += mpapi
    197 COMPONENTS        += mpapi_svplugin
    198 COMPONENTS        += mpathadm
    199 COMPONENTS        += isns
    200 COMPONENTS        += isnsadm
    201 COMPONENTS        += mdb_modules
    202 COMPONENTS        += libstmf
    203 COMPONENTS        += stmfadm
    204 COMPONENTS        += stmfsvc
    205 COMPONENTS        += sbdadm
    206 COMPONENTS        += comstar/hdrs
    207 COMPONENTS        += comstar/lu_providers/stmf_sbd
    208 COMPONENTS        += comstar/mdb
    209 COMPONENTS        += comstar/port_providers/fct
    210 COMPONENTS        += comstar/port_providers/qlt
    211 COMPONENTS        += comstar/stmf
    212 COMPONENTS        += $($(MACH)_COMPONENTS)
    213 
    214 MOD_DIR_CMDPARSE= $(PROJAREA)/common_cmd/cmdparse/
    215 MOD_OBJ_CMDPARSE= cmdparse.o
    216 MOD_INC_FCIP	= $(PROJAREA)/fcip/hdrs
    217 MOD_INC_FCP	= $(PROJAREA)/fcp/hdrs
    218 MOD_INC_FCSM	= $(PROJAREA)/fcsm/hdrs
    219 MOD_INC_FCTL	= $(PROJAREA)/fctl/hdrs
    220 MOD_INC_FP	= $(PROJAREA)/fp/hdrs
    221 MOD_INC_QLC	= $(PROJAREA)/qlc/hdrs
    222 MOD_INC_EMLXS	= $(PROJAREA)/emlxs/hdrs
    223 MOD_INC_ISCSI	= $(PROJAREA)/iscsi/hdrs
    224 MOD_INC_FCINFO	= $(PROJAREA)/fcinfo/hdrs
    225 MOD_INC_HBAAPI	= $(PROJAREA)/hbaapi/hdrs
    226 MOD_INC_SUNFC	= $(PROJAREA)/sun_fc/hdrs
    227 MOD_INC_LIBG_FC	= $(PROJAREA)/libg_fc/hdrs
    228 MOD_INC_LIBA5K	= $(PROJAREA)/liba5k/hdrs
    229 MOD_INC_IMA	= $(PROJAREA)/ima/hdrs
    230 MOD_INC_MPAPI	= $(PROJAREA)/mpapi/hdrs
    231 MOD_INC_ISNS	= $(PROJAREA)/isns/hdrs
    232 MOD_INC_LIBSTMF = $(PROJAREA)/libstmf/hdrs
    233 MOD_INC_STMF	= $(PROJAREA)/comstar/stmf/hdrs
    234 MOD_INC_FCT	= $(PROJAREA)/comstar/port_providers/fct/hdrs
    235 MOD_INC_QLT	= $(PROJAREA)/comstar/port_providers/qlt/hdrs
    236 MOD_INC_SBD	= $(PROJAREA)/comstar/lu_providers/stmf_sbd/hdrs
    237 MOD_INC_CMDPARSE= $(PROJAREA)/common_cmd/cmdparse/hdrs
    238 
    239 COM_OBJ		= $(PROJAREA)/common_storage
    240 COM_INC		= $(PROJAREA)/headers/common/lib
    241 COM_INC_FC	= $(PROJAREA)/headers/common/fc
    242 COM_INC_ISCSI	= $(PROJAREA)/headers/common/iscsi
    243 COM_INC_STMF	= $(PROJAREA)/comstar/hdrs
    244 COM_SRC		= $(PROJAREA)/common_storage/src
    245 COM_SRC_CMDPARSE= $(PROJAREA)/common_cmd/cmdparse/src
    246 COM_SRC_ISCSI	= $(PROJAREA)/common_iscsi/src
    247 
    248 COMMON_FC_IMPL_HDRS_DIR		= $(PROJAREA)/headers/fc
    249 COMMON_ISCSI_IMPL_HDRS_DIR	= $(PROJAREA)/headers/iscsi
    250 COMMON_IMA_IMPL_HDRS_DIR	= $(PROJAREA)/headers/ima
    251 
    252 DIRS 	 = $(OBJ32)
    253 DIRS 	+= $(OBJ64)
    254 DIRS 	+= $(PKGAREA)
    255 DIRS 	+= $(STAGING32)
    256 DIRS 	+= $(STAGING64)
    257 
    258 PROTO_ROOT	= $(ROOT)$(BUILD_TYPE)
    259 LCMESSAGES	= $(PROTO_ROOT)/usr/lib/locale/C/LC_MESSAGES
    260 
    261 # NWS library build locations
    262 LIB_A5K_32 	= $(PROJAREA)/liba5k/$(OBJ32)
    263 LIB_A5K_64	= $(PROJAREA)/liba5k/$(OBJ64)
    264 LIBG_FC_32 	= $(PROJAREA)/libg_fc/$(OBJ32)
    265 LIBG_FC_64 	= $(PROJAREA)/libg_fc/$(OBJ64)
    266 LIBHBAAPI_32 	= $(PROJAREA)/hbaapi/$(OBJ32)
    267 LIBHBAAPI_64 	= $(PROJAREA)/hbaapi/$(OBJ64)
    268 LIBIMA_32 	= $(PROJAREA)/ima/$(OBJ32)
    269 LIBIMA_64 	= $(PROJAREA)/ima/$(OBJ64)
    270 LIBMPAPI_32 	= $(PROJAREA)/mpapi/$(OBJ32)
    271 LIBMPAPI_64 	= $(PROJAREA)/mpapi/$(OBJ64)
    272 LIBSTMF_32 	= $(PROJAREA)/libstmf/$(OBJ32)
    273 LIBSTMF_64 	= $(PROJAREA)/libstmf/$(OBJ64)
    274 
    275 # Standard LDLIBS locations for OS/Net Reference Builds
    276 ON_LIB_32	= $(ON_REF_GATE)/$(ON_REF_PROTO)/lib
    277 ON_LIB_64	= $(ON_REF_GATE)/$(ON_REF_PROTO)/lib/$(MACH64)
    278 ON_USRLIB_32	= $(ON_REF_GATE)/$(ON_REF_PROTO)/usr/lib
    279 ON_USRLIB_64	= $(ON_REF_GATE)/$(ON_REF_PROTO)/usr/lib/$(MACH64)
    280 
    281 # Standard LDLIBS runtime locations
    282 # NOTE that these are picked up automatically, and should *not* be included
    283 # with the -L option.  Use these with the -R option for runtime includes.
    284 OS_LIB_32	= /lib
    285 OS_LIB_64	= /lib/$(MACH64)
    286 OS_USRLIB_32	= /usr/lib
    287 OS_USRLIB_64	= /usr/lib/$(MACH64)
    288 
    289 #
    290 # STABS FLAGS
    291 #
    292 CTFCONVERTARGS	    =
    293 CTFMERGEARGS	    =
    294 
    295 #
    296 # Build Settings
    297 #
    298 # RELEASEBLD when set increases error checking to ensure all 
    299 #		components are built.
    300 # BUILDWARNLEVEL  when set greater than 0 displays build messages
    301 #		normally supressed.
    302 
    303 RELEASEBLD	=
    304 BUILDWARNLEVEL	= 0
    305