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.9 08/05/05 SMI" 26 # 27 # src/sun_nws/hbaapi/Makefile 28 # 29 30 include ../Makefile.config 31 include ../Makefile.libs 32 33 NAME = libHBAAPI.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 STAGING32 = $(PROTO_ROOT)/usr/lib 43 sparc_STAGING64 = $(STAGING32)/sparcv9 44 i386_STAGING64 = $(STAGING32)/amd64 45 STAGING64 = $($(MACH)_STAGING64) 46 ETC = $(PROTO_ROOT)/etc 47 OPTHBAAPI = $(PROTO_ROOT)/opt/hbaapi 48 H_DIR = $(PROTO_ROOT)/usr/include 49 50 CONFFILE = hba.conf 51 52 MODULE_PKGS = SUNWcfcl 53 MODULE_PKGS += SUNWcfclr 54 55 CLASS_ACTIONS = $(ON_REF_GATE)/usr/src/pkgdefs/common_files/i.preserve 56 57 MODULE_SRC = HBAAPILIB.c 58 MODULE_SRC += HBAAPILIB-sun.c 59 60 MODULE_OBJ_32 = $(MODULE_SRC:%.c=$(OBJ32)/%.o) 61 MODULE_OBJ_64 = $(MODULE_SRC:%.c=$(OBJ64)/%.o) 62 63 BINARY32 = $(OBJ32)/$(MODULE) 64 $(BUILD64)BINARY64 = $(OBJ64)/$(MODULE) 65 BINARIES = $(BINARY32) $(BINARY64) 66 67 H_FILES = hbaapi.h 68 69 OPTHBAAPI_FILES = license.htm 70 OPTHBAAPI_FILES += HBAAPILIB.c 71 72 LIBS = $(DYNLIB) 73 74 $(BINARY32):= DYNFLAGS += -M $(OBJ32)/mapfile 75 $(BINARY64):= DYNFLAGS += -M $(OBJ64)/mapfile 76 $(BINARY32):= SPARCV9 = 77 $(BINARY64):= SPARCV9 = /sparcv9 78 79 LDLIBS = -L$(ON_REF_GATE)/proto/root_$(MACH)/usr/lib$(SPARCV9) 80 LDLIBS += -L$(ON_REF_GATE)/proto/root_$(MACH)/usr/ccs/lib$(SPARCV9) 81 LDLIBS += -lc 82 LDLIBS += -lcfgadm 83 LDLIBS += -ldevinfo 84 LDLIBS += -ldl 85 LDLIBS += -lnvpair 86 87 LDLIBS32 = $(LDLIBS) 88 LDLIBS64 = $(LDLIBS) 89 90 LINT_TARGETS = 91 92 lint: 93 @echo "This section is not required to be lint clean" 94 95 # SPEC STUFF 96 # Name of shared object to actually build 97 ABILNROOT = $(NAME:%.a=%) 98 99 SPECMAP32 = $(OBJ32)/mapfile 100 SPECMAP64 = $(OBJ64)/mapfile 101 102 VERSFILE = $(SPECS_DIR)/versions 103 104 SPECS = $(SPECS_DIR)/hbaapi.spec 105 SRCS = $(SPECS:$(SPECS_DIR)/%.spec=$(SRC_DIR)/%.c) 106 107 TRANSCPP = 108 TRANSFLAGS = -a $(MACH) 109 TRANSFLAGS += -l $(ABILNROOT) $(TRANSCPP) 110 TRANSFLAGS += -v $(VERSFILE) 111 112 CFLAGS32 += -mt 113 CFLAGS32 += -v 114 CFLAGS64 += -mt 115 CFLAGS64 += -v 116 117 sparc_C_PICFLAGS = -K pic 118 i386_C_PICFLAGS = -K pic 119 120 # Handle creating our directories when needed 121 DIRS += $(ROOTABIDIR) 122 DIRS += $(ETC) 123 DIRS += $(OPTHBAAPI) 124 DIRS += $(H_DIR) 125 126 ALLPREQ = $(OBJ32) 127 $(BUILD64)ALLPREQ += $(OBJ64) 128 ALLPREQ += .WAIT 129 ALLPREQ += $(SPECMAP32) 130 $(BUILD64)ALLPREQ += $(SPECMAP64) 131 ALLPREQ += $(BINARIES) 132 ALLPREQ += .WAIT 133 ALLPREQ += $(OBJ32)/$(LIBLINKS) 134 $(BUILD64)ALLPREQ += $(OBJ64)/$(LIBLINKS) 135 136 INSTALLPREQ = all 137 INSTALLPREQ += $(STAGING32) 138 $(BUILD64)INSTALLPREQ += $(STAGING64) 139 INSTALLPREQ += $(ETC) 140 INSTALLPREQ += $(OPTHBAAPI) 141 INSTALLPREQ += $(H_DIR) 142 INSTALLPREQ += .WAIT 143 INSTALLPREQ += $(STAGING32)/$(MODULE) 144 INSTALLPREQ += $(STAGING32)/$(LIBLINKS) 145 $(BUILD64)INSTALLPREQ += $(STAGING64)/$(MODULE) 146 $(BUILD64)INSTALLPREQ += $(STAGING64)/$(LIBLINKS) 147 INSTALLPREQ += $(ETC)/$(CONFFILE) 148 INSTALLPREQ += $(H_FILES:%=$(H_DIR)/%) 149 INSTALLPREQ += $(OPTHBAAPI_FILES:%=$(OPTHBAAPI)/%) 150 151 PKGPREQ = install 152 PKGPREQ += $(PKGAREA) 153 PKGPREQ += .WAIT 154 PKGPREQ += $(MODULE_PKGS:%=$(PKGAREA)/%) 155 156 CLEANFILES = $(MODULE_OBJ_32) 157 CLEANFILES += $(MODULE_OBJ_64) 158 CLEANFILES += $(SPECMAP32) 159 CLEANFILES += $(SPECMAP64) 160 161 NUKEFILES = $(CLOBBERFILES) 162 NUKEFILES += $(STAGING32)/$(MODULE) 163 NUKEFILES += $(STAGING32)/$(LIBLINKS) 164 NUKEFILES += $(STAGING64)/$(MODULE) 165 NUKEFILES += $(STAGING64)/$(LIBLINKS) 166 NUKEFILES += $(ETC)/$(CONFFILE) 167 NUKEFILES += $(H_FILES:%=$(H_DIR)/%) 168 NUKEFILES += $(OPTHBAAPI_FILES:%=$(OPTHBAAPI)/%) 169 NUKEFILES += $(MODULE_PKGS:%=$(PKGAREA)/%) 170 171 include ../Makefile.common 172 173 $(MODULE_OBJ_64):= SPARC64_CFLAGS += -xregs=no%appl 174 $(MODULE_OBJ_64):= SPARC64_CFLAGS += $(sparc_C_PICFLAGS) 175 176 $(SPECMAP32) $(SPECMAP64): $(VERSFILE) $(SPECS) 177 /usr/lib/abi/spec2map -p $(TRANSFLAGS) -o $@ $(SPECS) 178 179 $(ETC)/$(CONFFILE): $(SRC_DIR)/$(CONFFILE) 180 $(INSTALL) -s -m 0644 -f $(ETC) $(SRC_DIR)/$(CONFFILE) 181 182 $(H_DIR)/$(H_FILES): $(HDRS)/$(H_FILES) 183 $(INSTALL) -s -m 0644 -f $(H_DIR) $(HDRS)/$(H_FILES) 184 185 $(OPTHBAAPI)/%: $(SRC_DIR)/% 186 $(INSTALL) -s -m 0644 -f $(OPTHBAAPI) $< 187