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 #
  22 # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  23 # Use is subject to license terms.
  24 #
  25 
  26 LIBRARY=        libmeta.a 
  27 VERS=           .1 
  28 COMMON =        $(SRC)/common/lvm
  29 
  30 CMN_OBJS = md_crc.o md_convert.o md_revchk.o
  31 
  32 DERIVED_OBJS = \
  33         mdiox_xdr.o \
  34         meta_basic_xdr.o \
  35         metad_clnt.o \
  36         metad_xdr.o \
  37         metamed_clnt.o \
  38         metamed_xdr.o \
  39         metamhd_clnt.o \
  40         metamhd_xdr.o \
  41         mdmn_commd_xdr.o \
  42         mhdx_xdr.o
  43 
  44 LOCAL_OBJS=        \
  45         metad_svc_stubs.o \
  46         meta_admin.o \
  47         meta_attach.o \
  48         meta_db.o \
  49         meta_db_balance.o \
  50         meta_devadm.o \
  51         meta_devstamp.o \
  52         meta_error.o \
  53         meta_getdevs.o \
  54         meta_hotspares.o \
  55         meta_import.o \
  56         meta_init.o \
  57         meta_lib_prv.o \
  58         meta_mdcf.o \
  59         meta_med_err.o \
  60         meta_mem.o \
  61         meta_metad.o \
  62         meta_metad_subr.o \
  63         meta_med.o \
  64         meta_mh.o \
  65         meta_mirror.o \
  66         meta_mirror_resync.o \
  67         meta_mn_comm.o \
  68         meta_mn_changelog.o \
  69         meta_mn_handlers.o \
  70         meta_mn_msg_table.o \
  71         meta_mn_subr.o \
  72         meta_mount.o \
  73         meta_name.o \
  74         meta_nameinfo.o \
  75         meta_namespace.o \
  76         meta_notify.o \
  77         meta_se_notify.o \
  78         meta_patch.o \
  79         meta_patch_root.o \
  80         meta_print.o \
  81         meta_raid.o \
  82         meta_raid_resync.o \
  83         meta_rename.o \
  84         meta_repartition.o \
  85         meta_replace.o \
  86         meta_reset.o \
  87         meta_resync.o \
  88         meta_runtime.o \
  89         meta_set.o \
  90         meta_set_drv.o \
  91         meta_set_hst.o \
  92         meta_set_med.o \
  93         meta_set_prv.o \
  94         meta_set_tkr.o \
  95         meta_setup.o \
  96         meta_smf.o \
  97         meta_stat.o \
  98         meta_statconcise.o \
  99         meta_sp.o \
 100         meta_stripe.o \
 101         meta_systemfile.o \
 102         meta_tab.o \
 103         meta_time.o \
 104         meta_trans.o \
 105         meta_userflags.o \
 106         metarpcopen.o \
 107         metasplitname.o \
 108         metagetroot.o \
 109         sdssc_bind.o
 110 
 111 SPC_OBJS= meta_check.o
 112 
 113 CMN_SRCS =      $(CMN_OBJS:%.o=$(COMMON)/%.c)
 114 LOCAL_SRCS =    $(LOCAL_OBJS:%.o=../common/%.c)
 115 DERIVED_SRCS =  $(DERIVED_OBJS:%.o=%.c)
 116 SPC_SRCS =      $(SPC_OBJS:%.o=../common/%.c)
 117 
 118 OBJECTS64 =     $(LOCAL_OBJS) $(DERIVED_OBJS) $(CMN_OBJS)
 119 OBJECTS =       $(OBJECTS64) $(SPC_OBJS)
 120 
 121 include $(SRC)/lib/lvm/Makefile.lvm
 122 
 123 MSGSRCS = $(LOCAL_SRCS) $(SPC_SRCS)
 124 MSGFILES = $(MSGSRCS:%.c=%.i)
 125 POFILE = libmeta.po     
 126 
 127 DCFILES = ../common/meta_print.po
 128 DCFILE = libmeta.dc
 129 
 130 CLOBBERFILES += $(POFILE) $(DCFILE)
 131 
 132 # install this library in the root filesystem
 133 include ../../../Makefile.rootfs
 134 
 135 LIBS =          $(DYNLIB) $(LINTLIB)
 136 SRCS =          $(CMN_SRCS) $(LOCAL_SRCS) $(DERIVED_SRCS)
 137 $(LINTLIB) :=   SRCS = $(SRCDIR)/$(LINTSRC)
 138 lint :=         SRCS = $(CMN_SRCS) $(LOCAL_SRCS) $(SPC_SRCS)
 139 CPPFLAGS +=     -I$(SRC)/lib/lvm/libmeta/common/hdrs
 140 LDLIBS +=       -lnsl -lc -ladm -ldevid -lgen -lefi -ldevinfo -lscf
 141 CLEANFILES +=   $(DERIVED_SRCS) $(MSGFILES) $(DCFILES)
 142 
 143 .KEEP_STATE:
 144 
 145 BIG_TARGETS = $(OBJECTS64:%=pics/%)
 146 
 147 $(BIG_TARGETS) := CPPFLAGS += -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
 148 
 149 $(LINTLIB) := CPPFLAGS += -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
 150 
 151 all: $(LIBS)
 152 
 153 install debug: all $(ROOTLIBS) $(ROOTLINT) $(ROOTLINKS)
 154 
 155 objs/%.o profs/%.o pics/%.o: $(COMMON)/%.c
 156         $(COMPILE.c) -o $@ $<
 157         $(POST_PROCESS_O)
 158 
 159 mdiox_xdr.c: $(SRC)/uts/common/sys/lvm/mdiox.x
 160         $(RPCGEN) $(RPCGENFLAGS) -c -i 100 $(SRC)/uts/common/sys/lvm/mdiox.x | \
 161         /usr/xpg4/bin/awk  '{sub(/uts\/common\/sys\/lvm/, "head"); print $$0}' >$@
 162 
 163 meta_basic_xdr.c: $(SRC)/uts/common/sys/lvm/meta_basic.x
 164         $(RPCGEN) $(RPCGENFLAGS) -c $(SRC)/uts/common/sys/lvm/meta_basic.x | \
 165         /usr/xpg4/bin/awk '{sub(/uts\/common\/sys\/lvm/, "head"); print $$0}' >$@
 166 
 167 metad_clnt.c: $(SRC)/head/metad.x 
 168         $(RPCGEN) $(RPCGENFLAGS) -l $(SRC)/head/metad.x -o $@
 169 
 170 metad_xdr.c: $(SRC)/head/metad.x
 171         $(RPCGEN) $(RPCGENFLAGS) -c $(SRC)/head/metad.x -o $@
 172 
 173 metamed_clnt.c: $(SRC)/uts/common/sys/lvm/metamed.x
 174         $(RPCGEN) $(RPCGENFLAGS) -l $(SRC)/uts/common/sys/lvm/metamed.x | \
 175         /usr/xpg4/bin/awk '{sub(/uts\/common\/sys\/lvm/, "head"); print $$0}' >$@
 176 
 177 metamed_xdr.c: $(SRC)/uts/common/sys/lvm/metamed.x 
 178         $(RPCGEN) $(RPCGENFLAGS) -c $(SRC)/uts/common/sys/lvm/metamed.x | \
 179         /usr/xpg4/bin/awk '{sub(/uts\/common\/sys\/lvm/, "head"); print $$0}' >$@
 180 
 181 metamhd_clnt.c: $(SRC)/head/metamhd.x 
 182         $(RPCGEN) $(RPCGENFLAGS) -l $(SRC)/head/metamhd.x -o $@
 183 
 184 metamhd_xdr.c: $(SRC)/head/metamhd.x 
 185         $(RPCGEN) $(RPCGENFLAGS) -c $(SRC)/head/metamhd.x -o $@
 186 
 187 mhdx_xdr.c: $(SRC)/uts/common/sys/lvm/mhdx.x
 188         $(RPCGEN) $(RPCGENFLAGS) -c $(SRC)/uts/common/sys/lvm/mhdx.x | \
 189         /usr/xpg4/bin/awk '{sub(/uts\/common\/sys\/lvm/, "head"); print $$0}' >$@
 190 
 191 mdmn_commd_xdr.c: $(SRC)/uts/common/sys/lvm/mdmn_commd.x
 192         $(RPCGEN) -c $(SRC)/uts/common/sys/lvm/mdmn_commd.x -o $@
 193 
 194 $(DCFILE):= XGETFLAGS = -c TRANSLATION_NOTE_LC_TIME -t
 195 
 196 $(DCFILE): $(DCFILES)
 197         $(CAT) $(DCFILES) > $(DCFILE)
 198 
 199 $(POFILE): $(MSGFILES)
 200         $(BUILDPO.msgfiles)
 201 
 202 _msg: $(MSGDOMAINPOFILE)
 203 
 204 _dc: $(DCMSGDOMAINPOFILE)
 205 
 206 include $(SRC)/lib/lvm/Makefile.targ
 207 include $(SRC)/Makefile.msg.targ