| # |
| # Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved. |
| # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| # |
| # This code is free software; you can redistribute it and/or modify it |
| # under the terms of the GNU General Public License version 2 only, as |
| # published by the Free Software Foundation. Sun designates this |
| # particular file as subject to the "Classpath" exception as provided |
| # by Sun in the LICENSE file that accompanied this code. |
| # |
| # This code is distributed in the hope that it will be useful, but WITHOUT |
| # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| # version 2 for more details (a copy is included in the LICENSE file that |
| # accompanied this code). |
| # |
| # You should have received a copy of the GNU General Public License version |
| # 2 along with this work; if not, write to the Free Software Foundation, |
| # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| # |
| # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
| # CA 95054 USA or visit www.sun.com if you need additional information or |
| # have any questions. |
| # |
| |
| # |
| # Shared variables for standard unix utilties on all platforms. |
| # |
| # Assumes Platform.gmk has been included before this file. |
| # |
| # These input UTILS_* variables can be defined at anytime, ideally once. |
| # Unix Commands: Normally /bin/, /usr/bin/. or C:/mksnt/mksnt/ |
| # UTILS_COMMAND_PATH |
| # /usr/bin/ |
| # UTILS_USR_BIN_PATH |
| # /usr/ccs/bin/ (sccs, m4, lex, yacc, as, ar, strip, mcs) |
| # UTILS_CCS_BIN_PATH |
| # Dev Tools: zip, unzip, etc that we may have special versions of |
| # UTILS_DEVTOOL_PATH |
| # |
| # WARNING: This file cannot assume that any of these utilties are available |
| # to be run via their variable names defined here. |
| # The paths inside the UTILS_* variables may not be defined yet. |
| # |
| # Note: There is no guarantee that all these exist on all platforms. |
| # Some only make sense for one platform, but are harmless. |
| # |
| |
| ifeq ($(PLATFORM),linux) |
| UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH) |
| UTILS_USR_BIN_PATH=$(USRBIN_PATH) |
| UTILS_CCS_BIN_PATH=$(USRBIN_PATH) |
| UTILS_DEVTOOL_PATH=$(USRBIN_PATH) |
| endif |
| |
| ifeq ($(PLATFORM),solaris) |
| UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH) |
| UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH) |
| UTILS_CCS_BIN_PATH=$(UNIXCCS_PATH) |
| UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH) |
| endif |
| |
| ifeq ($(PLATFORM),windows) |
| UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH) |
| UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH) |
| UTILS_CCS_BIN_PATH=$(UNIXCOMMAND_PATH) |
| UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH) |
| endif |
| |
| # Utilities |
| ADB = $(UTILS_COMMAND_PATH)adb |
| AR = $(UTILS_CCS_BIN_PATH)ar |
| AS = $(UTILS_CCS_BIN_PATH)as |
| BASENAME = $(UTILS_COMMAND_PATH)basename |
| CAT = $(UTILS_COMMAND_PATH)cat |
| CHMOD = $(UTILS_COMMAND_PATH)chmod |
| CMP = $(UTILS_USR_BIN_PATH)cmp |
| COMM = $(UTILS_USR_BIN_PATH)comm |
| COMPRESS = $(UTILS_USR_BIN_PATH)compress |
| CP = $(UTILS_COMMAND_PATH)cp |
| CPIO = $(UTILS_COMMAND_PATH)cpio |
| CUT = $(UTILS_USR_BIN_PATH)cut |
| DATE = $(UTILS_COMMAND_PATH)date |
| DF = $(UTILS_COMMAND_PATH)df |
| DIFF = $(UTILS_USR_BIN_PATH)diff |
| DIRNAME = $(UTILS_USR_BIN_PATH)dirname |
| ECHO = $(UTILS_COMMAND_PATH)echo |
| EGREP = $(UTILS_COMMAND_PATH)egrep |
| EXPR = $(UTILS_USR_BIN_PATH)expr |
| FILE = $(UTILS_USR_BIN_PATH)file |
| FIND = $(UTILS_USR_BIN_PATH)find |
| FMT = $(UTILS_COMMAND_PATH)fmt |
| GDB = $(UTILS_USR_BIN_PATH)gdb |
| GREP = $(UTILS_COMMAND_PATH)grep |
| GUNZIP = $(UTILS_COMMAND_PATH)gunzip |
| HEAD = $(UTILS_USR_BIN_PATH)head |
| ID = $(UTILS_COMMAND_PATH)id |
| ISAINFO = $(UTILS_COMMAND_PATH)isainfo |
| KSH = $(UTILS_COMMAND_PATH)ksh |
| LD = $(UTILS_CCS_BIN_PATH)ld |
| LEX = $(UTILS_CCS_BIN_PATH)lex |
| LN = $(UTILS_COMMAND_PATH)ln |
| LS = $(UTILS_COMMAND_PATH)ls |
| MCS = $(UTILS_CCS_BIN_PATH)mcs |
| M4 = $(UTILS_CCS_BIN_PATH)m4 |
| MKDIR = $(UTILS_COMMAND_PATH)mkdir |
| MKSINFO = $(UTILS_COMMAND_PATH)mksinfo |
| MSGFMT = $(UTILS_USR_BIN_PATH)msgfmt |
| MV = $(UTILS_COMMAND_PATH)mv |
| NAWK = $(UTILS_USR_BIN_PATH)nawk |
| NM = $(UTILS_CCS_BIN_PATH)nm |
| PKGMK = $(UTILS_COMMAND_PATH)pkgmk |
| PRINTF = $(UTILS_USR_BIN_PATH)printf |
| PWD = $(UTILS_COMMAND_PATH)pwd |
| RC = $(UTILS_COMMAND_PATH)rc |
| RMDIR = $(UTILS_COMMAND_PATH)rmdir |
| RPM = $(UTILS_COMMAND_PATH)rpm |
| RPMBUILD = $(UTILS_COMMAND_PATH)rpmbuild |
| SCCS = $(UTILS_CCS_BIN_PATH)sccs |
| SED = $(UTILS_COMMAND_PATH)sed |
| SH = $(UTILS_COMMAND_PATH)sh |
| SHOWREV = $(UTILS_USR_BIN_PATH)showrev |
| SORT = $(UTILS_COMMAND_PATH)sort |
| STRIP = $(UTILS_CCS_BIN_PATH)strip |
| TAIL = $(UTILS_USR_BIN_PATH)tail |
| TAR = $(UTILS_COMMAND_PATH)tar |
| TEST = $(UTILS_USR_BIN_PATH)test |
| TOUCH = $(UTILS_COMMAND_PATH)touch |
| TR = $(UTILS_USR_BIN_PATH)tr |
| TRUE = $(UTILS_COMMAND_PATH)true |
| UNAME = $(UTILS_COMMAND_PATH)uname |
| UNIQ = $(UTILS_USR_BIN_PATH)uniq |
| UNZIP = $(UTILS_USR_BIN_PATH)unzip |
| UNZIPSFX = $(UTILS_DEVTOOL_PATH)unzipsfx |
| WC = $(UTILS_USR_BIN_PATH)wc |
| WHICH = $(UTILS_USR_BIN_PATH)which |
| YACC = $(UTILS_CCS_BIN_PATH)yacc |
| ZIPEXE = $(UTILS_DEVTOOL_PATH)zip |
| |
| # Special cases |
| #RM is defined by GNU Make as 'rm -f' |
| CD = cd # intrinsic unix command |
| |
| # Windows specific |
| ifeq ($(PLATFORM),windows) |
| ifdef USING_CYGWIN |
| # Intrinsic unix command, with backslash-escaped character interpretation |
| ECHO = $(UNIXCOMMAND_PATH)echo -e |
| ZIPEXE = $(UNIXCOMMAND_PATH)zip |
| UNZIP = $(UNIXCOMMAND_PATH)unzip |
| else |
| ZIPEXE = $(UTILS_DEVTOOL_PATH)zip |
| UNZIP = $(UTILS_DEVTOOL_PATH)unzip |
| endif |
| # Re-define some utilities |
| LEX =# override GNU Make intrinsic: no lex on windows |
| NAWK = $(UNIXCOMMAND_PATH)awk |
| endif |
| |
| # Linux specific |
| ifeq ($(PLATFORM),linux) |
| # A few redefines |
| # Allows for builds on Debian GNU Linux, basename is in a different place |
| BASENAME=$(firstword $(wildcard $(UTILS_COMMAND_PATH)basename) \ |
| $(wildcard $(UTILS_USR_BIN_PATH)basename)) |
| # RPM 4 has replaced "rpm -b" with an entirely new utility "rpmbuild". |
| # Also, some distribution (Ubuntu, Debian, others?) place the rpm command |
| # itself in /usr/bin rather than it's traditional home in /bin. |
| RPM=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpm) \ |
| $(wildcard $(UTILS_USR_BIN_PATH)rpm)) |
| RPMBUILD=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpmbuild) \ |
| $(wildcard $(UTILS_USR_BIN_PATH)rpmbuild) \ |
| $(wildcard $(UTILS_COMMAND_PATH)rpm) \ |
| $(wildcard $(UTILS_USR_BIN_PATH)rpm)) |
| # Most Linux distros have "sort" in /bin. Ubuntu, Debian and perhaps |
| # others have it in /usr/bin. |
| SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \ |
| $(wildcard $(UTILS_USR_BIN_PATH)sort)) |
| NAWK = $(USRBIN_PATH)gawk |
| # Intrinsic unix command, with backslash-escaped character interpretation |
| ECHO = /bin/echo -e |
| # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not) |
| AR = $(UTILS_USR_BIN_PATH)ar |
| AS = $(UTILS_USR_BIN_PATH)as |
| LD = $(UTILS_USR_BIN_PATH)ld |
| LEX = $(UTILS_USR_BIN_PATH)lex |
| MCS = $(UTILS_USR_BIN_PATH)mcs |
| M4 = $(UTILS_USR_BIN_PATH)m4 |
| NM = $(UTILS_USR_BIN_PATH)nm |
| STRIP = $(UTILS_USR_BIN_PATH)strip |
| YACC = $(UTILS_USR_BIN_PATH)yacc |
| endif |
| |
| # Solaris specific |
| ifeq ($(PLATFORM),solaris) |
| # Intrinsic unix command, with backslash-escaped character interpretation |
| # (not using -e will cause build failure when using /bin/bash) |
| # (using -e breaks something else) |
| ECHO = /usr/bin/echo |
| endif |
| |