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# 30VFONTEDPR= vfontedpr 31RETEST= retest 32MACROS= tmac.vgrind 33LANGDEFS= vgrindefs 34KSHPROG= 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# 44PROG= $(KSHPROG) 45LIBPROG= $(VFONTEDPR) $(LANGDEFS) 46TMACPROG= $(MACROS) 47 48VFONTEDPROBJS= vfontedpr.o vgrindefs.o regexp.o 49RETESTOBJS= retest.o regexp.o 50 51RETESTSRC= $(RETESTOBJS:%.o=%.c) 52 53OBJS= $(VFONTEDPROBJS) $(RETESTOBJS) 54SRCS= $(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# 60CLOBBERFILES= $(LIBPROG) $(RETEST) 61 62include ../Makefile.cmd 63 64CERRWARN += -_gcc=-Wno-implicit-function-declaration 65CERRWARN += -_gcc=-Wno-parentheses 66CERRWARN += -_gcc=-Wno-unused-variable 67CERRWARN += -_gcc=-Wno-unused-function 68 69# not linted 70SMATCH=off 71 72# 73# Message catalog 74# 75POFILES= $(OBJS:%.o=%.po) 76POFILE= vgrind.po 77POFILE_KSH= vgrind_ksh.po 78 79# 80# Abbreviation for future use. 81# 82ROOTTMAC= $(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# 88ROOTLIBPROG= $(LIBPROG:%=$(ROOT)/usr/lib/%) 89ROOTTMACPROG= $(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# 109all: $(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# 137install: all $(ROOTTMAC) $(ROOTPROG) $(ROOTLIBPROG) $(ROOTTMACPROG) 138 139# XXX: see above. 140$(ROOTTMAC): 141 $(INS.dir) 142 143clean: 144 $(RM) $(OBJS) 145 146# 147# Don't worry about linting retest. 148# 149lint:= SRCS = $(VFONTEDPROBJS:%.o=%.c) 150lint: lint_SRCS 151 152include ../Makefile.targ 153