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