xref: /titanic_41/usr/src/cmd/lvm/util/Makefile.com (revision 2a796556e7d6dfb15a985d4d879c73b491b7ae11)
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, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26#
27# Architecture independent makefile for svm utilities
28#
29# cmd/lvm/util/Makefile.com
30#
31
32# programs that are installed in /usr/sbin
33PROG= \
34	medstat \
35	metaclear \
36	metadetach \
37	metahs \
38	metaoffline \
39	metaonline \
40	metaparam \
41	metarename \
42	metareplace \
43	metaroot \
44	metaset \
45	metasync \
46	metattach \
47	metaimport
48
49# programs that are installed in /sbin, with links from /usr/sbin
50ROOTFS_PROG = \
51	metadb \
52	metadevadm \
53	metainit \
54	metarecover \
55	metastat
56
57# programs that are installed in /usr/lib/lvm
58METACLUST= metaclust
59
60OBJECTS =  \
61	medstat.o \
62	metaclear.o \
63	metadb.o \
64	metadetach.o \
65	metadevadm.o \
66	metahs.o \
67	metainit.o \
68	metaoffline.o \
69	metaonline.o \
70	metaparam.o \
71	metarecover.o \
72	metarename.o \
73	metareplace.o \
74	metaroot.o \
75	metaset.o \
76	metastat.o \
77	metasync.o \
78	metattach.o \
79	metaclust.o \
80	metaimport.o
81
82SRCS=	$(OBJECTS:%.o=../%.c)
83
84include ../../../Makefile.cmd
85include ../../Makefile.lvm
86
87ROOTLIBSVM = $(ROOTLIB)/lvm
88
89CLOBBERFILES += $(ROOTFS_PROG) $(METACLUST)
90
91ROOTUSRSBINPROG = $(PROG:%=$(ROOTUSRSBIN)/%)
92
93ROOTSBINPROG = $(ROOTFS_PROG:%=$(ROOTSBIN)/%)
94
95ROOTUSRSBINLINKS = $(ROOTFS_PROG:%=$(ROOTUSRSBIN)/%)
96
97POFILE= utilp.po
98DEFINES += -DDEBUG
99CPPFLAGS += $(DEFINES)
100
101metainit := CPPFLAGS += -I$(SRC)/lib/lvm/libmeta/common/hdrs
102metaset := LDFLAGS += -ldevid
103
104LDLIBS +=	-lmeta
105
106lint := LINTFLAGS += -m
107
108install		:= TARGET = install
109clean		:= TARGET = clean
110
111.KEEP_STATE:
112
113%.o:	../%.c
114	$(COMPILE.c) $<
115	$(POST_PROCESS_O)
116
117all:     $(PROG) $(METACLUST) $(ROOTFS_PROG)
118
119catalog: $(POFILE)
120
121$(PROG) $(ROOTFS_PROG): $$(@).o
122	$(LINK.c) -o $@ $(@).o $(LDLIBS)
123	$(POST_PROCESS)
124
125$(METACLUST): $$(@).o
126	$(LINK.c) -o $@ $(@).o $(LDLIBS)
127	$(POST_PROCESS)
128
129
130install: all .WAIT $(ROOTLIBSVM) $(ROOTUSRSBINPROG) $(ROOTSBINPROG) $(ROOTUSRSBINLINKS) $(ROOTLIBSVM)/$(METACLUST)
131
132$(ROOTUSRSBINLINKS):
133	-$(RM) $@; $(SYMLINK) ../../sbin/$(@F) $@
134
135cstyle:
136	$(CSTYLE) $(SRCS)
137
138lint:
139	for f in $(SRCS) ; do \
140		if [ $$f = "../metainit.c" ]; then \
141		    $(LINT.c) $(LINTFLAGS) \
142			-I$(SRC)/lib/lvm/libmeta/common/hdrs $$f ; \
143		else \
144			$(LINT.c) $(LINTFLAGS) $$f ; \
145		fi \
146	done
147
148clean:
149	$(RM) $(OBJECTS) $(PROG)
150
151include ../../../Makefile.targ
152
153${ROOTLIBSVM}/%: %
154	${INS.file}
155
156${ROOTLIBSVM}:
157	${INS.dir}
158
159