Makefile revision 7014882c6a3672fd0e5d60200af8643ae53c5928
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# CDDL HEADER START
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson#
19c7b1a0293498a3e36692c59646ed6e15ffc8d0Tinderbox User# The contents of this file are subject to the terms of the
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington# Common Development and Distribution License (the "License").
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson# You may not use this file except in compliance with the License.
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater#
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson# or http://www.opensolaris.org/os/licensing.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson# See the License for the specific language governing permissions
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# and limitations under the License.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews#
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# When distributing Covered Code, include this CDDL HEADER in each
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# If applicable, add the following below this CDDL HEADER, with the
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson#
19c7b1a0293498a3e36692c59646ed6e15ffc8d0Tinderbox User# CDDL HEADER END
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Use is subject to license terms.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Copyright 2010 Nexenta Systems, Inc. All rights reserved.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinPROG= alias
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinALIASPROG= \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein bg \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cd \
86b0285d7e65601645db4090d62ee6cb63abad6cAndreas Gustafsson cksum \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cmp \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein comm \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein command \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cut \
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark Andrews fc \
938440694b33cd752e9e4b71a526368b4811c177Tinderbox User fg \
19c7b1a0293498a3e36692c59646ed6e15ffc8d0Tinderbox User getopts \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein hash \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein jobs \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein join \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein kill \
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews logname \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein paste \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein print \
86b0285d7e65601645db4090d62ee6cb63abad6cAndreas Gustafsson read \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein rev \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein sleep \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein sum \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein tee \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein test \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein type \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ulimit \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein umask \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein unalias \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein uniq \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein wait \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein wc
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinXPG4ALIASPROG= \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein alias \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein bg \
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson cd \
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson command \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein fc \
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson fg \
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson getopts \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein hash \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein jobs \
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson kill \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein read \
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson test \
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson type \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ulimit \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein umask \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein unalias \
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson wait
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonXPG4SH= \
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson sh
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinROOTXPG4ALIAS= \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(XPG4SH:%=$(ROOTXPG4BIN)/%) $(XPG4ALIASPROG:%=$(ROOTXPG4BIN)/%)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinROOTALIASPROG= $(ALIASPROG:%=$(ROOTBIN)/%)
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude ../../Makefile.cmd
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson$(SPARC_BLD)include ../../Makefile.cmd.64
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinFILEMODE= 555
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCERRWARN += -_gcc=-Wno-parentheses
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein.KEEP_STATE:
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonall: $(PROG)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(XPG4ALIASPROG:%=$(ROOTXPG4BIN)/%):
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson $(RM) $@; $(SYMLINK) ../../bin/alias $@
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson$(XPG4SH:%=$(ROOTXPG4BIN)/%):
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson $(RM) $@; $(SYMLINK) ../../bin/ksh93 $@
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(ALIASPROG:%=$(ROOTBIN)/%): $(ROOTPROG)
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson $(RM) $@; $(LN) $(ROOTPROG) $@
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson.KEEP_STATE:
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Set common AST build flags (e.g., needed to support the math stuff).
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude ../../../Makefile.ast
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinOBJECTS= \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein alias.o
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonSRCS= $(OBJECTS:%.o=%.c)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonLDLIBS += -lshell -lcmd -last
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCPPFLAGS = \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(DTEXTDOM) $(DTS_ERRNO) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -I$(ROOT)/usr/include/ast \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -I$(ROOT)/usr/include
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Enable workaround for a crash in /usr/bin/alias when invalid
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# options are passed (e.g. $ /usr/bin/alias -c #). The shell
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# code will call an error handler which does a |longjmp()| but
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson# somehow the code failed to do the |setjmp()| before this point.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCPPFLAGS += -DWORKAROUND_FOR_ALIAS_CRASH
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCFLAGS += \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ASTCFLAGS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCFLAGS64 += \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ASTCFLAGS64)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinROOTCMDDIR=$(ROOT)/usr/bin
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininstall: all $(ROOTPROG) $(ROOTXPG4PROG) $(ROOTALIASPROG) $(ROOTXPG4ALIAS)
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson$(PROG): $(OBJECTS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(RM) alias
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(LINK.c) $(OBJECTS) -o $@ $(LDLIBS)
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson $(POST_PROCESS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonclean clobber:
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson rm -f $(PROG) $(OBJECTS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinlint _msg:
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson