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 usr/src/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 usr/src/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# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 22# Use is subject to license terms. 23# 24# Copyright 2020 Joyent, Inc. 25# Copyright 2020 Oxide Computer Company 26# 27include $(SRC)/lib/Makefile.lib 28 29SES_LIB= ses.so 30TAVOR_LIB= tavor.so 31HERMON_LIB= hermon.so 32SD_LIB= sd.so 33UFM_LIB= ufm.so 34 35PLUGINS= $(SES_LIB) $(TAVOR_LIB) $(HERMON_LIB) $(SD_LIB) $(UFM_LIB) 36 37OBJECTS= $(PLUGINS:%.so=%.o) 38DYNLIB= $(PLUGINS:%=%) 39POFILES= $(PLUGINS:%.so=%.po) 40 41SLINKS= sgen.so 42POFILE= fwflash_transport_identify_ses.po 43SRCDIR= ../common 44 45include $(SRC)/cmd/fwflash/Makefile.com 46 47CLEANFILES= $(PLUGINS) $(POFILES) $(POFILE) $(SLINKS) 48 49LIBS= $(DYNLIB) 50CFLAGS += $(C_PICFLAGS) 51ROOTLIBDIR= $(ROOTUSRLIBFWFLASHIDF) 52LDLIBS += -ldevinfo 53MAPFILES= ../common/mapfile-vers 54FILEMODE= 0755 55 56$(SES_LIB):= PICS= pics/$(SES_LIB:%.so=%.o) 57$(TAVOR_LIB):= PICS= pics/$(TAVOR_LIB:%.so=%.o) 58$(HERMON_LIB):= PICS= pics/$(HERMON_LIB:%.so=%.o) 59$(SD_LIB):= PICS= pics/$(SD_LIB:%.so=%.o) 60$(UFM_LIB):= PICS= pics/$(UFM_LIB:%.so=%.o) 61 62$(SES_LIB):= SONAME = $(SES_LIB) 63$(TAVOR_LIB):= SONAME = $(TAVOR_LIB) 64$(HERMON_LIB):= SONAME = $(HERMON_LIB) 65$(SD_LIB):= SONAME = $(SD_LIB) 66$(UFM_LIB):= SONAME = $(UFM_LIB) 67 68$(HERMON_LIB):= MAPFILES += ../common/mapfile-vers-hermon 69$(SD_LIB):= MAPFILES += ../common/mapfile-vers-plus 70$(UFM_LIB):= MAPFILES += ../common/mapfile-vers-plus 71 72$(HERMON_LIB):= LDLIBS += -lc 73$(TAVOR_LIB):= LDLIBS += -lc 74$(SES_LIB):= LDLIBS += -L$(ROOT)/usr/lib/scsi -lscsi -lses -lnvpair -lc 75$(SD_LIB):= LDLIBS += -L$(ROOT)/usr/lib/scsi -lscsi -lumem -lc 76$(UFM_LIB):= LDLIBS += -lpcidb -lnvpair -lc 77 78$(SES_LIB):= DYNFLAGS += -R/usr/lib/scsi 79$(SD_LIB):= DYNFLAGS += -R/usr/lib/scsi 80 81# Size assertions are non-constant and not useful here 82ZGUIDANCE=-Wl,-zguidance=noasserts 83 84.KEEP_STATE: 85 86$(ROOTUSRLIBFWFLASHIDF)/$(SLINKS) : $(ROOTUSRLIBFWFLASHIDF)/$(SES_LIB) 87 @$(RM) $@ 88 $(SYMLINK) $(SES_LIB) $@ 89 90all: $(LIBS) 91 92install: all $(ROOTLIBS) \ 93 $(ROOTUSRLIBFWFLASHIDF)/$(SLINKS) 94 95_msg: $(POFILE) 96 97include $(SRC)/lib/Makefile.targ 98