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 # 65 # Message catalog 66 # 67 POFILES= $(OBJS:%.o=%.po) 68 POFILE= vgrind.po 69 POFILE_KSH= vgrind_ksh.po 70 71 # 72 # Abbreviation for future use. 73 # 74 ROOTTMAC= $(ROOT)/usr/share/lib/tmac 75 76 # 77 # Override macro definitions from Makefile.cmd. Necessary because 78 # we're building targets for multiple destinations. 79 # 80 ROOTLIBPROG= $(LIBPROG:%=$(ROOT)/usr/lib/%) 81 ROOTTMACPROG= $(TMACPROG:%=$(ROOTTMAC)/%) 82 83 # 84 # Conditional assignments pertinent to installation. 85 # 86 $(ROOTLIB)/$(LANGDEFS) := FILEMODE= $(LIBFILEMODE) 87 $(ROOTTMACPROG) := FILEMODE= 0644 88 89 # 90 # The standard set of rules doesn't know about installing into 91 # subdirectories of /usr/share/lib, so we have to roll our own. 92 # 93 $(ROOTTMAC)/%: % 94 $(INS.file) 95 96 .KEEP_STATE: 97 98 # 99 # retest appears here only in source form; see comment above for PROG. 100 # 101 all: $(PROG) $(LIBPROG) $(TMACPROG) $(RETESTSRC) 102 103 # 104 # message catalog 105 # 106 $(POFILE): $(POFILES) $(POFILE_KSH) 107 rm -f $@ 108 cat $(POFILES) $(POFILE_KSH) > $@ 109 110 $(VFONTEDPR): $(VFONTEDPROBJS) 111 $(CC) -o $@ $(VFONTEDPROBJS) $(LDFLAGS) $(LDLIBS) 112 $(POST_PROCESS) 113 114 $(LANGDEFS): $(LANGDEFS).src 115 $(CP) $? $@ 116 117 $(RETEST): $(RETESTOBJS) 118 $(CC) -o $@ $(RETESTOBJS) $(LDFLAGS) $(LDLIBS) 119 $(POST_PROCESS) 120 121 # 122 # We add all as a dependent to make sure that the install pattern 123 # matching rules see everything they should. (This is a safety net.) 124 # 125 # XXX: ROOTTMAC shouldn't appear as a dependent; it's here as a 126 # bandaid(TM) until /usr/lib/tmac becomes a symlink to 127 # /usr/share/lib/tmac. 128 # 129 install: all $(ROOTTMAC) $(ROOTPROG) $(ROOTLIBPROG) $(ROOTTMACPROG) 130 131 # XXX: see above. 132 $(ROOTTMAC): 133 $(INS.dir) 134 135 clean: 136 $(RM) $(OBJS) 137 138 # 139 # Don't worry about linting retest. 140 # 141 lint:= SRCS = $(VFONTEDPROBJS:%.o=%.c) 142 lint: lint_SRCS 143 144 include ../Makefile.targ 145