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