10080 smatch Makefile changes for usr/src/cmd
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 2008 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
24 #
25 # cmd/vgrind/Makefile
26
27 #
28 # These are the objects associated with the overall vgrind command.
29 #
30 VFONTEDPR= vfontedpr
31 RETEST= retest
32 MACROS= tmac.vgrind
33 LANGDEFS= vgrindefs
34 KSHPROG= vgrind
35
36 #
37 # These macros captures objects that ultimately will be installed in
38 # (respectively) /usr/bin, /usr/lib, and /usr/share/lib.
39 #
40 # Note also that retest is used strictly as a test program and is never
41 # installed. We omit it here, so that the NSE doesn't spend cycles
42 # on it when acquiring and reconciling.
43 #
44 PROG= $(KSHPROG)
45 LIBPROG= $(VFONTEDPR) $(LANGDEFS)
46 TMACPROG= $(MACROS)
47
48 VFONTEDPROBJS= vfontedpr.o vgrindefs.o regexp.o
49 RETESTOBJS= retest.o regexp.o
50
51 RETESTSRC= $(RETESTOBJS:%.o=%.c)
52
53 OBJS= $(VFONTEDPROBJS) $(RETESTOBJS)
54 SRCS= $(OBJS:%.o=%.c)
55
56 #
57 # We can get away simply with omitting TMACPROGS to protect
58 # tmac.vgrind, since it's the only entry in that macro.
59 #
60 CLOBBERFILES= $(LIBPROG) $(RETEST)
61
62 include ../Makefile.cmd
63
64 CERRWARN += -_gcc=-Wno-implicit-function-declaration
65 CERRWARN += -_gcc=-Wno-parentheses
66 CERRWARN += -_gcc=-Wno-unused-variable
67 CERRWARN += -_gcc=-Wno-unused-function
68
69 #
70 # Message catalog
71 #
72 POFILES= $(OBJS:%.o=%.po)
73 POFILE= vgrind.po
74 POFILE_KSH= vgrind_ksh.po
75
76 #
77 # Abbreviation for future use.
78 #
79 ROOTTMAC= $(ROOT)/usr/share/lib/tmac
80
81 #
82 # Override macro definitions from Makefile.cmd. Necessary because
83 # we're building targets for multiple destinations.
84 #
85 ROOTLIBPROG= $(LIBPROG:%=$(ROOT)/usr/lib/%)
86 ROOTTMACPROG= $(TMACPROG:%=$(ROOTTMAC)/%)
87
88 #
89 # Conditional assignments pertinent to installation.
90 #
91 $(ROOTLIB)/$(LANGDEFS) := FILEMODE= $(LIBFILEMODE)
92 $(ROOTTMACPROG) := FILEMODE= 0644
93
94 #
95 # The standard set of rules doesn't know about installing into
96 # subdirectories of /usr/share/lib, so we have to roll our own.
97 #
98 $(ROOTTMAC)/%: %
99 $(INS.file)
100
101 .KEEP_STATE:
102
103 #
104 # retest appears here only in source form; see comment above for PROG.
105 #
106 all: $(PROG) $(LIBPROG) $(TMACPROG) $(RETESTSRC)
107
108 #
109 # message catalog
110 #
111 $(POFILE): $(POFILES) $(POFILE_KSH)
112 rm -f $@
113 cat $(POFILES) $(POFILE_KSH) > $@
114
115 $(VFONTEDPR): $(VFONTEDPROBJS)
116 $(CC) -o $@ $(VFONTEDPROBJS) $(LDFLAGS) $(LDLIBS)
117 $(POST_PROCESS)
118
119 $(LANGDEFS): $(LANGDEFS).src
120 $(CP) $? $@
121
122 $(RETEST): $(RETESTOBJS)
123 $(CC) -o $@ $(RETESTOBJS) $(LDFLAGS) $(LDLIBS)
124 $(POST_PROCESS)
125
126 #
127 # We add all as a dependent to make sure that the install pattern
128 # matching rules see everything they should. (This is a safety net.)
129 #
130 # XXX: ROOTTMAC shouldn't appear as a dependent; it's here as a
131 # bandaid(TM) until /usr/lib/tmac becomes a symlink to
132 # /usr/share/lib/tmac.
133 #
134 install: all $(ROOTTMAC) $(ROOTPROG) $(ROOTLIBPROG) $(ROOTTMACPROG)
135
136 # XXX: see above.
137 $(ROOTTMAC):
138 $(INS.dir)
139
140 clean:
141 $(RM) $(OBJS)
142
143 #
144 # Don't worry about linting retest.
145 #
146 lint:= SRCS = $(VFONTEDPROBJS:%.o=%.c)
147 lint: lint_SRCS
148
149 include ../Makefile.targ
--- EOF ---