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