10080 smatch Makefile changes for usr/src/cmd
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 # 23 # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24 # Use is subject to license terms. 25 # 26 27 # 28 # Copyright 2010 Nexenta Systems, Inc. All rights reserved. 29 # 30 31 PROG= alias 32 ALIASPROG= \ 33 bg \ 34 cd \ 35 cksum \ 36 cmp \ 37 comm \ 38 command \ 39 cut \ 40 fc \ 41 fg \ 42 getopts \ 43 hash \ 44 jobs \ 45 join \ 46 kill \ 47 logname \ 48 paste \ 49 print \ 50 read \ 51 rev \ 52 sleep \ 53 sum \ 54 tee \ 55 test \ 56 type \ 57 ulimit \ 58 umask \ 59 unalias \ 60 uniq \ 61 wait \ 62 wc 63 64 XPG4ALIASPROG= \ 65 alias \ 66 bg \ 67 cd \ 68 command \ 69 fc \ 70 fg \ 71 getopts \ 72 hash \ 73 jobs \ 74 kill \ 75 read \ 76 test \ 77 type \ 78 ulimit \ 79 umask \ 80 unalias \ 81 wait 82 83 XPG4SH= \ 84 sh 85 86 ROOTXPG4ALIAS= \ 87 $(XPG4SH:%=$(ROOTXPG4BIN)/%) $(XPG4ALIASPROG:%=$(ROOTXPG4BIN)/%) 88 ROOTALIASPROG= $(ALIASPROG:%=$(ROOTBIN)/%) 89 90 include ../../Makefile.cmd 91 $(SPARC_BLD)include ../../Makefile.cmd.64 92 93 FILEMODE= 555 94 CERRWARN += -_gcc=-Wno-parentheses 95 96 .KEEP_STATE: 97 98 all: $(PROG) 99 100 $(XPG4ALIASPROG:%=$(ROOTXPG4BIN)/%): 101 $(RM) $@; $(SYMLINK) ../../bin/alias $@ 102 103 $(XPG4SH:%=$(ROOTXPG4BIN)/%): 104 $(RM) $@; $(SYMLINK) ../../bin/ksh93 $@ 105 106 $(ALIASPROG:%=$(ROOTBIN)/%): $(ROOTPROG) 107 $(RM) $@; $(LN) $(ROOTPROG) $@ 108 109 .KEEP_STATE: 110 111 # Set common AST build flags (e.g., needed to support the math stuff). 112 include ../../../Makefile.ast 113 114 OBJECTS= \ 115 alias.o 116 117 SRCS= $(OBJECTS:%.o=%.c) 118 119 LDLIBS += -lshell -lcmd -last 120 121 CPPFLAGS = \ 122 $(DTEXTDOM) $(DTS_ERRNO) \ 123 -I$(ROOT)/usr/include/ast \ 124 -I$(ROOT)/usr/include 125 126 # Enable workaround for a crash in /usr/bin/alias when invalid 127 # options are passed (e.g. $ /usr/bin/alias -c #). The shell 128 # code will call an error handler which does a |longjmp()| but 129 # somehow the code failed to do the |setjmp()| before this point. 130 CPPFLAGS += -DWORKAROUND_FOR_ALIAS_CRASH 131 132 CFLAGS += \ 133 $(ASTCFLAGS) 134 CFLAGS64 += \ 135 $(ASTCFLAGS64) 136 137 ROOTCMDDIR=$(ROOT)/usr/bin 138 139 install: all $(ROOTPROG) $(ROOTXPG4PROG) $(ROOTALIASPROG) $(ROOTXPG4ALIAS) 140 141 $(PROG): $(OBJECTS) 142 $(RM) alias 143 $(LINK.c) $(OBJECTS) -o $@ $(LDLIBS) 144 $(POST_PROCESS) 145 146 clean clobber: 147 rm -f $(PROG) $(OBJECTS) 148 149 lint _msg: --- EOF ---