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