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.2 08/07/01 SMI" 26 # 27 # src/sun_nws/stmfadm/Makefile 28 # 29 30 include ../Makefile.config 31 include ../Makefile.libs 32 33 NAME = libstmf.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 SEC_ATTRS = $(PROTO_ROOT)/etc/security 43 XML_DIR = src/xml 44 45 SVC_MANIFEST = $(PROTO_ROOT)/var/svc/manifest/system 46 STAGING32 = $(PROTO_ROOT)/usr/lib 47 sparc_STAGING64 = $(STAGING32)/sparcv9 48 i386_STAGING64 = $(STAGING32)/amd64 49 STAGING64 = $($(MACH)_STAGING64) 50 ETC = $(PROTO_ROOT)/etc 51 H_DIR = $(PROTO_ROOT)/usr/include 52 53 MODULE_SRC = stmf.c store.c 54 55 MODULE_OBJ_32 = $(MODULE_SRC:%.c=$(OBJ32)/%.o) 56 MODULE_OBJ_64 = $(MODULE_SRC:%.c=$(OBJ64)/%.o) 57 58 CLASS_ACTIONS += $(ON_REF_GATE)/usr/src/pkgdefs/common_files/i.rbac 59 CLASS_ACTIONS += $(ON_REF_GATE)/usr/src/pkgdefs/common_files/r.rbac 60 61 BINARY32 = $(OBJ32)/$(MODULE) 62 $(BUILD64)BINARY64 = $(OBJ64)/$(MODULE) 63 BINARIES = $(BINARY32) $(BINARY64) 64 65 H_FILES = libstmf.h 66 67 MAPDIR = $(SRC_DIR)/../spec 68 MAPFILE = $(MAPDIR)/mapfile-vers 69 70 DYNFLAGS += -M $(MAPFILE) 71 72 COMMON_INCLUDES = -I$(HDRS_DIR) 73 COMMON_INCLUDES += -I$(COM_INC_STMF) 74 75 LIBS = $(DYNLIB) 76 LFLAGS32 += -DSOLARIS 77 LFLAGS64 += -DSOLARIS 78 79 LDLIBS = -lc 80 LDLIBS += -lsysevent 81 LDLIBS += -lscf 82 LDLIBS += -lnvpair 83 LDLIBS += -lpthread 84 85 LDLIBS32 = -L$(ON_LIB_32) 86 LDLIBS32 += -R$(OS_LIB_32) 87 LDLIBS32 += $(LDLIBS) 88 89 LDLIBS64 = -L$(ON_LIB_64) 90 LDLIBS64 += -R$(OS_LIB_64) 91 LDLIBS64 += $(LDLIBS) 92 93 LINT_TARGETS = lib_lint32 94 $(BUILD64)LINT_TARGETS += .WAIT 95 $(BUILD64)LINT_TARGETS += lib_lint64 96 97 98 # SPEC STUFF 99 # Name of shared object to actually build 100 ABILNROOT = $(NAME:%.a=%) 101 102 103 VERSFILE = $(SPECS_DIR)/versions 104 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 CFLAGS32 += -DSOLARIS 115 CFLAGS64 += -mt 116 CFLAGS64 += -v 117 CFLAGS64 += -DSOLARIS 118 119 sparc_C_PICFLAGS = -K pic 120 i386_C_PICFLAGS = -K pic 121 122 # Build time information for the API to report 123 BUILD_TIME = `date +%c` 124 CCFLAGS32 += -DBUILD_TIME="\"$(BUILD_TIME)\"" 125 CCFLAGS64 += -DBUILD_TIME="\"$(BUILD_TIME)\"" 126 127 # Handle creating our directories when needed 128 DIRS = $(ROOTABIDIR) 129 DIRS += $(ETC) 130 DIRS += $(H_DIR) 131 DIRS += $(OBJ32) 132 DIRS += $(OBJ64) 133 DIRS += $(ROOTABIDIR) 134 DIRS += $(STAGING32) 135 DIRS += $(STAGING64) 136 DIRS += $(PKGAREA) 137 DIRS += $(SVC_MANIFEST) 138 DIRS += $(SEC_ATTRS) 139 140 ALLPREQ = $(OBJ32) 141 $(BUILD64)ALLPREQ += $(OBJ64) 142 ALLPREQ += $(SPECMAP32) 143 $(BUILD64)ALLPREQ += $(SPECMAP64) 144 ALLPREQ += $(BINARIES) 145 ALLPREQ += $(OBJ32)/$(LIBLINKS) 146 $(BUILD64)ALLPREQ += $(OBJ64)/$(LIBLINKS) 147 148 INSTALLPREQ = all 149 INSTALLPREQ += $(STAGING32) 150 $(BUILD64)INSTALLPREQ += $(STAGING64) 151 INSTALLPREQ += $(ETC) 152 INSTALLPREQ += $(H_DIR) 153 INSTALLPREQ += $(STAGING32)/$(MODULE) 154 INSTALLPREQ += $(STAGING32)/$(LIBLINKS) 155 $(BUILD64)INSTALLPREQ += $(STAGING64)/$(MODULE) 156 $(BUILD64)INSTALLPREQ += $(STAGING64)/$(LIBLINKS) 157 INSTALLPREQ += $(H_FILES:%=$(H_DIR)/%) 158 INSTALLPREQ += $(SEC_ATTRS) 159 INSTALLPREQ += $(SEC_ATTRS)/prof_attr.libstmf 160 INSTALLPREQ += $(SEC_ATTRS)/auth_attr.libstmf 161 INSTALLPREQ += $(SVC_MANIFEST) 162 INSTALLPREQ += $(H_FILES:%=$(H_DIR)/%) 163 INSTALLPREQ += $(SVC_MANIFEST)/stmf.xml 164 165 PKGPREQ = install 166 PKGPREQ += $(PKGAREA) 167 PKGPREQ += .WAIT 168 PKGPREQ += $(MODULE_PKGS:%=$(PKGAREA)/%) 169 170 CLEANFILES = $(MODULE_OBJ_32) 171 CLEANFILES += $(MODULE_OBJ_64) 172 CLEANFILES += $(SPECMAP32) 173 CLEANFILES += $(SPECMAP64) 174 175 CLOBBERFILES = obj32 176 CLOBBERFILES += obj64 177 CLOBBERFILES += debug32 178 CLOBBERFILES += debug64 179 180 NUKEFILES = $(CLOBBERFILES) 181 NUKEFILES += $(STAGING32)/$(MODULE) 182 NUKEFILES += $(STAGING32)/$(LIBLINKS) 183 NUKEFILES += $(STAGING64)/$(MODULE) 184 NUKEFILES += $(STAGING64)/$(LIBLINKS) 185 NUKEFILES += $(H_FILES:%=$(H_DIR)/%) 186 NUKEFILES += $(MODULE_PKGS:%=$(PKGAREA)/%) 187 NUKEFILES += $(SVC_MANIFEST)/stmf.xml 188 189 include ../Makefile.common 190 191 $(SEC_ATTRS)/auth_attr.libstmf: $(SRC_DIR)/auth_attr 192 $(RM) -f $(OBJ32)/auth_attr.libstmf 193 $(CP) $(SRC_DIR)/auth_attr $(OBJ32)/auth_attr.libstmf 194 $(INSTALL) -s -m 0644 -f $(SEC_ATTRS) $(OBJ32)/auth_attr.libstmf 195 196 $(SEC_ATTRS)/prof_attr.libstmf: $(SRC_DIR)/prof_attr 197 $(RM) -f $(OBJ32)/prof_attr.libstmf 198 $(CP) $(SRC_DIR)/prof_attr $(OBJ32)/prof_attr.libstmf 199 $(INSTALL) -s -m 0644 -f $(SEC_ATTRS) $(OBJ32)/prof_attr.libstmf 200 201 $(H_DIR)/%: $(HDRS)/% 202 $(INSTALL) -s -m 0644 -f $(H_DIR) $< 203 204 $(SVC_MANIFEST)/stmf.xml: $(XML_DIR)/stmf.xml 205 $(INSTALL) -s -m 0444 -f $(SVC_MANIFEST) $(XML_DIR)/stmf.xml 206 207 $(MODULE_OBJ_64):= SPARC64_CFLAGS += -xregs=no%appl 208 $(MODULE_OBJ_64):= SPARC64_CFLAGS += $(sparc_C_PICFLAGS) 209