xref: /titanic_41/usr/src/cmd/lvm/metassist/Makefile.targ (revision 4a6822d07d6d3f9ffe6907ef5f10d11dcadd75c6)
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 2006 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# ident	"%Z%%M%	%I%	%E% SMI"
26#
27
28# Suffixes for files that flag a particular check
29SUFFIX_LINT = .lint
30
31all       := TARGET = all
32install   := TARGET = install
33clean     := TARGET = clean
34clobber   := TARGET = clobber
35catalog   := TARGET = catalog
36check     := TARGET = check
37cstyle    := TARGET = cstyle
38hdrchk    := TARGET = hdrchk
39lint      := TARGET = lint
40
41.KEEP_STATE:
42
43all: ${SUBDIRS} ${OBJS} .WAIT ${PROG}
44
45# Create the binary
46$(PROG): $(OBJS) $(SUBOBJS)
47	$(LINK.c) $(OBJS) $(SUBOBJS) -o $@ $(LDLIBS)
48	$(POST_PROCESS)
49
50# Make objects in subdirectories
51$(SUBOBJS) $(POFILES):
52	@cd $(@D); ${MAKE} $(@F)
53
54ROOTXML=	$(ROOTSHLIB)/xml
55
56# Rule/definitions for DTDs
57ROOTXMLDTD=	$(ROOTXML)/dtd
58ROOTXMLDTDFILES=	$(DTDFILES:%=$(ROOTXMLDTD)/%)
59$(ROOTXMLDTDFILES) :=	OWNER = root
60$(ROOTXMLDTDFILES) :=	GROUP = sys
61$(ROOTXMLDTDFILES) :=	FILEMODE = 0444
62
63$(ROOTXMLDTD)/%: %
64	$(INS.file)
65
66# Rule/definitions for XSL style sheets
67ROOTXMLSTYLE=	$(ROOTXML)/style
68ROOTXMLSTYLEFILES=	$(STYLEFILES:%=$(ROOTXMLSTYLE)/%)
69$(ROOTXMLSTYLEFILES) :=	OWNER = root
70$(ROOTXMLSTYLEFILES) :=	GROUP = sys
71$(ROOTXMLSTYLEFILES) :=	FILEMODE = 0444
72
73$(ROOTXMLSTYLE)/%: %
74	$(INS.file)
75
76# Install recursively
77install: all .WAIT \
78	${SUBDIRS} \
79	$(ROOTUSRSBINPROG) \
80	$(ROOTETCDEFAULTFILES) \
81	$(ROOTXMLDTDFILES) \
82	$(ROOTXMLSTYLEFILES)
83
84# Pattern-matching rule for lint
85%$(SUFFIX_LINT): %
86	${LINT.c} -I. ${INCLUDES} -y -c $< && touch $@
87
88# Run lint on all source files
89lint: ${SUBDIRS} $(SRCS:%=%$(SUFFIX_LINT))
90
91CSTYLE_FLAGS=	-Pp
92HDRCHK_FLAGS=	-a
93
94cstyle: ${SUBDIRS}
95
96hdrchk: ${SUBDIRS}
97
98check: cstyle hdrchk
99
100clobber: ${SUBDIRS}
101
102clean: ${SUBDIRS}
103	-${RM} *.o *.ln *.i *~ core a.out $(CLEANFILES) \
104		*$(SUFFIX_LINT)
105
106catalog: $(POFILE)
107
108${SUBDIRS}: FRC
109	@cd $@; pwd; ${MAKE} ${TARGET}
110
111FRC:
112
113# Included for message catalog handling
114include $(SRC)/Makefile.msg.targ
115include $(METASSIST_TOPLEVEL)/../../Makefile.targ
116