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