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 1.14 08/07/01 SMI" 26 # 27 # src/sun_nws/cfgadm_fp/Makefile 28 # 29 30 include ../Makefile.config 31 include ../Makefile.libs 32 33 NAME = fp.a 34 VERS = .1 35 36 DYNLIB = $(NAME:.a=.so$(VERS)) 37 LIBLINKS = $(NAME:.a=.so) 38 LIBNAME = $(NAME:lib%.a=%) 39 40 MODULE = $(DYNLIB) 41 42 SVC_MANIFEST = $(PROTO_ROOT)/var/svc/manifest/system/device 43 SVC_METHOD = $(PROTO_ROOT)/lib/svc/method 44 STAGING32 = $(PROTO_ROOT)/usr/lib/cfgadm 45 46 sparc_STAGING64 = $(STAGING32)/sparcv9 47 i386_STAGING64 = $(STAGING32)/amd64 48 STAGING64 = $($(MACH)_STAGING64) 49 50 MODULE_PKGS = SUNWcfpl 51 MODULE_PKGS += SUNWcfplr 52 53 CLASS_ACTIONS = $(ON_REF_GATE)/usr/src/pkgdefs/common_files/i.manifest 54 CLASS_ACTIONS += $(ON_REF_GATE)/usr/src/pkgdefs/common_files/r.manifest 55 56 MODULE_SRC = cfga_cs.c 57 MODULE_SRC += cfga_cvt.c 58 MODULE_SRC += cfga_fp.c 59 MODULE_SRC += cfga_list.c 60 MODULE_SRC += cfga_rcm.c 61 MODULE_SRC += cfga_rep.c 62 MODULE_SRC += cfga_utils.c 63 64 MODULE_OBJ_32 = $(MODULE_SRC:%.c=$(OBJ32)/%.o) 65 MODULE_OBJ_64 = $(MODULE_SRC:%.c=$(OBJ64)/%.o) 66 67 BINARY32 = $(OBJ32)/$(MODULE) 68 $(BUILD64)BINARY64 = $(OBJ64)/$(MODULE) 69 BINARIES = $(BINARY32) $(BINARY64) 70 71 LIBS = $(DYNLIB) 72 73 $(BINARY32):= DYNFLAGS += -M $(OBJ32)/mapfile 74 $(BINARY64):= DYNFLAGS += -M $(OBJ64)/mapfile 75 76 LDLIBS = -lc 77 LDLIBS += -lHBAAPI 78 LDLIBS += -ldevice 79 LDLIBS += -ldevinfo 80 LDLIBS += -lrcm 81 LDLIBS += -lgen 82 83 LDLIBS32 = -L$(LIBHBAAPI_32) 84 LDLIBS32 += -L$(ON_LIB_32) 85 LDLIBS32 += -L$(ON_USRLIB_32) 86 LDLIBS32 += -R$(OS_LIB_32) 87 LDLIBS32 += -R$(OS_USRLIB_32) 88 LDLIBS32 += $(LDLIBS) 89 90 LDLIBS64 = -L$(LIBHBAAPI_64) 91 LDLIBS64 += -L$(ON_LIB_64) 92 LDLIBS64 += -L$(ON_USRLIB_64) 93 LDLIBS64 += -R$(OS_LIB_64) 94 LDLIBS64 += -R$(OS_USRLIB_64) 95 LDLIBS64 += $(LDLIBS) 96 97 LINT_TARGETS = lib_lint32 98 $(BUILD64)LINT_TARGETS += .WAIT 99 $(BUILD64)LINT_TARGETS += lib_lint64 100 101 102 # SPEC STUFF 103 # Name of shared object to actually build 104 ABILNROOT= $(NAME:%.a=%) 105 106 SPECMAP32 = $(OBJ32)/mapfile 107 SPECMAP64 = $(OBJ64)/mapfile 108 109 VERSFILE = $(SPECS_DIR)/versions 110 111 SPECS = $(SPECS_DIR)/cfga_fp.spec 112 SRCS = $(SPECS:$(SPECS_DIR)/%.spec=$(SRC_DIR)/%.c) 113 114 TRANSCPP = 115 TRANSFLAGS = -a $(MACH) 116 TRANSFLAGS += -l $(ABILNROOT) $(TRANSCPP) 117 TRANSFLAGS += -v $(VERSFILE) 118 119 sparc_C_PICFLAGS = -K pic 120 i386_C_PICFLAGS = -K pic 121 122 COMMON_INCLUDES += -I$(MOD_INC_FCP) 123 COMMON_INCLUDES += -I$(MOD_INC_HBAAPI) 124 COMMON_INCLUDES += -I$(COM_INC_FC) 125 COMMON_INCLUDES += -I$(COMMON_FC_IMPL_HDRS_DIR) 126 127 128 # Handle creating our directories when needed 129 DIRS += $(ROOTABIDIR) 130 DIRS += $(SVC_MANIFEST) 131 DIRS += $(SVC_METHOD) 132 133 ALLPREQ = hbaapi 134 ALLPREQ += $(OBJ32) 135 $(BUILD64)ALLPREQ += $(OBJ64) 136 ALLPREQ += .WAIT 137 ALLPREQ += $(SPECMAP32) 138 $(BUILD64)ALLPREQ += $(SPECMAP64) 139 ALLPREQ += $(BINARIES) 140 ALLPREQ += .WAIT 141 ALLPREQ += $(OBJ32)/$(LIBLINKS) 142 $(BUILD64)ALLPREQ += $(OBJ64)/$(LIBLINKS) 143 144 INSTALLPREQ = all 145 INSTALLPREQ += .WAIT 146 INSTALLPREQ += $(SVC_MANIFEST) 147 INSTALLPREQ += $(SVC_METHOD) 148 INSTALLPREQ += $(STAGING32) 149 $(BUILD64)INSTALLPREQ += $(STAGING64) 150 INSTALLPREQ += .WAIT 151 INSTALLPREQ += $(SVC_MANIFEST)/devices-fc-fabric.xml 152 INSTALLPREQ += $(SVC_METHOD)/fc-fabric 153 INSTALLPREQ += $(STAGING32)/$(MODULE) 154 $(BUILD64)INSTALLPREQ += $(STAGING64)/$(MODULE) 155 INSTALLPREQ += $(STAGING32)/$(LIBLINKS) 156 $(BUILD64)INSTALLPREQ += $(STAGING64)/$(LIBLINKS) 157 158 PKGPREQ = install 159 PKGPREQ += $(PKGAREA) 160 PKGPREQ += .WAIT 161 PKGPREQ += $(MODULE_PKGS:%=$(PKGAREA)/%) 162 163 CLEANFILES = $(MODULE_OBJ_32) 164 CLEANFILES += $(MODULE_OBJ_64) 165 CLEANFILES += $(SPECMAP32) 166 CLEANFILES += $(SPECMAP64) 167 168 CLOBBERFILES = $(CLEANFILES) 169 170 NUKEFILES = $(CLOBBERFILES) 171 NUKEFILES += $(SVC_MANIFEST)/devices-fc-fabric.xml 172 NUKEFILES += $(SVC_METHOD)/fc-fabric 173 NUKEFILES += $(STAGING32)/$(MODULE) 174 NUKEFILES += $(STAGING64)/$(MODULE) 175 NUKEFILES += $(STAGING32)/$(LIBLINKS) 176 NUKEFILES += $(STAGING64)/$(LIBLINKS) 177 NUKEFILES += $(MODULE_PKGS:%=$(PKGAREA)/%) 178 179 180 include ../Makefile.common 181 182 $(MODULE_OBJ_64):= SPARC64_CFLAGS += -xregs=no%appl 183 $(MODULE_OBJ_64):= SPARC64_CFLAGS += $(sparc_C_PICFLAGS) 184 185 186 $(SPECMAP32) $(SPECMAP64): $(VERSFILE) $(SPECS) 187 /usr/lib/abi/spec2map -p $(TRANSFLAGS) -o $@ $(SPECS) 188 189 $(SVC_MANIFEST)/devices-fc-fabric.xml: $(SRC_DIR)/devices-fc-fabric.xml 190 $(RM) $(SVC_MANIFEST)/devices-fc-fabric.xml 191 $(INSTALL) -s -m 0444 -f $(SVC_MANIFEST) \ 192 $(SRC_DIR)/devices-fc-fabric.xml 193 194 $(SVC_METHOD)/fc-fabric: $(SRC_DIR)/fc-fabric 195 $(INSTALL) -s -m 0755 -f $(SVC_METHOD) $(SRC_DIR)/fc-fabric 196 197 198