1*b1cdbd2cSJim Jagielski#************************************************************** 2*b1cdbd2cSJim Jagielski# 3*b1cdbd2cSJim Jagielski# Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski# or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski# distributed with this work for additional information 6*b1cdbd2cSJim Jagielski# regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski# to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski# "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski# with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski# 11*b1cdbd2cSJim Jagielski# http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski# 13*b1cdbd2cSJim Jagielski# Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski# software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski# KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski# specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski# under the License. 19*b1cdbd2cSJim Jagielski# 20*b1cdbd2cSJim Jagielski#************************************************************** 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski# Common tools - move this to the end / consolidate 25*b1cdbd2cSJim JagielskiTRANSEX*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/transex3 26*b1cdbd2cSJim JagielskiULFEX*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/ulfex 27*b1cdbd2cSJim JagielskiXMLEX*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xmlex 28*b1cdbd2cSJim JagielskiXRMEX*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xrmex 29*b1cdbd2cSJim JagielskiCFGEX*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/cfgex 30*b1cdbd2cSJim JagielskiAUTODOC*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/autodoc 31*b1cdbd2cSJim JagielskiLOCALIZE_SL*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/localize_sl 32*b1cdbd2cSJim JagielskiGSICHECK*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/gsicheck 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski.IF "$(SYSTEM_LIBXSLT)"!="YES" 35*b1cdbd2cSJim JagielskiXSLTPROC*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/xsltproc 36*b1cdbd2cSJim Jagielski.ELSE # "$(SYSTEM_LIBXSLT)"!="YES" 37*b1cdbd2cSJim JagielskiXSLTPROC*=$(AUGMENT_LIBRARY_PATH) xsltproc 38*b1cdbd2cSJim Jagielski.ENDIF # "$(SYSTEM_LIBXSLT)"!="YES" 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim JagielskiULFCONV*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/ulfconv 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim JagielskiMAKEDEPEND*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/makedepend 43*b1cdbd2cSJim Jagielski 44*b1cdbd2cSJim JagielskiSCP_CHECK_TOOL:=checkscp$E 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim Jagielski# iz32110: Calling a cygwin application from a non-cygwin shell requires 47*b1cdbd2cSJim Jagielski# backslashes to be escaped by another backslash: EES .. extra escape slash 48*b1cdbd2cSJim JagielskiEES:= 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski# iz29675: 4nt must not quote special characters, but tcsh has to. 51*b1cdbd2cSJim Jagielski# *NIX shells needs to use " quotes, but 4nt must not. 52*b1cdbd2cSJim Jagielski# EMQ .. extra meta quote (\\ at line end is \) 53*b1cdbd2cSJim Jagielski# USQ .. unix shell quote 54*b1cdbd2cSJim JagielskiEMQ:=\\ 55*b1cdbd2cSJim JagielskiUSQ:=" 56*b1cdbd2cSJim Jagielski 57*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 58*b1cdbd2cSJim JagielskiNULLDEV:=NUL 59*b1cdbd2cSJim Jagielski.ELSE 60*b1cdbd2cSJim JagielskiNULLDEV:=/dev/null 61*b1cdbd2cSJim Jagielski.ENDIF 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski# iz29609 helpmacro to check if file exists 65*b1cdbd2cSJim JagielskiIFEXIST:=if [ -f 66*b1cdbd2cSJim JagielskiIFDIREXIST:=if [ -d 67*b1cdbd2cSJim JagielskiIFNOTEXIST:= if ! test -f 68*b1cdbd2cSJim JagielskiTHEN:= ] ; then 69*b1cdbd2cSJim JagielskiFI:= ; fi 70*b1cdbd2cSJim JagielskiPIPEERROR=2>&1 | 71*b1cdbd2cSJim Jagielski 72*b1cdbd2cSJim Jagielski# iz31658 73*b1cdbd2cSJim JagielskiCHECKZIPRESULT:=|| ret=$$?; if [[ "$$ret" != "12" && "$$ret" != "1" ]] ; then exit $$ret ; fi && echo "Nothing to update for zip" 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski# Platform specific 76*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" 77*b1cdbd2cSJim JagielskiAWK*=awk 78*b1cdbd2cSJim JagielskiSORT*=sort 79*b1cdbd2cSJim JagielskiSED*=sed 80*b1cdbd2cSJim JagielskiGNUPATCH*=patch 81*b1cdbd2cSJim Jagielski# change drive and directory 82*b1cdbd2cSJim JagielskiCDD=cd 83*b1cdbd2cSJim Jagielski# expect cygwin tools to exist 84*b1cdbd2cSJim JagielskiCOPY*=cp 85*b1cdbd2cSJim JagielskiCOPYRECURSE=-r 86*b1cdbd2cSJim JagielskiDEREFERENCE=-L 87*b1cdbd2cSJim JagielskiCOPYUPDATE=-u 88*b1cdbd2cSJim JagielskiECHON=echo -n 89*b1cdbd2cSJim JagielskiECHONL=echo 90*b1cdbd2cSJim JagielskiFIND*=find 91*b1cdbd2cSJim JagielskiFLIPCMD*=$(PERL) $(SOLARENV)/bin/slfl.pl 92*b1cdbd2cSJim JagielskiGNUCOPY*=cp 93*b1cdbd2cSJim JagielskiGNUMAKE*=make 94*b1cdbd2cSJim JagielskiGREP*=grep 95*b1cdbd2cSJim JagielskiLS*=ls 96*b1cdbd2cSJim JagielskiPERL*:=perl 97*b1cdbd2cSJim Jagielski.EXPORT : PERL 98*b1cdbd2cSJim JagielskiRENAME*=mv 99*b1cdbd2cSJim JagielskiTOUCH*=touch 100*b1cdbd2cSJim JagielskiTYPE*=cat 101*b1cdbd2cSJim JagielskiDUMPBIN*=dumpbin 102*b1cdbd2cSJim Jagielski 103*b1cdbd2cSJim Jagielski.ELIF "$(GUI)"=="UNX" # "$(GUI)"=="WNT" 104*b1cdbd2cSJim JagielskiSED*=sed 105*b1cdbd2cSJim JagielskiSORT*=sort 106*b1cdbd2cSJim JagielskiPERL*=perl 107*b1cdbd2cSJim Jagielski.EXPORT : PERL 108*b1cdbd2cSJim JagielskiTYPE=cat 109*b1cdbd2cSJim JagielskiCDD=cd 110*b1cdbd2cSJim JagielskiCOPY=cp -f 111*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" || "$(OS)"=="FREEBSD" 112*b1cdbd2cSJim JagielskiCOPYRECURSE=-R 113*b1cdbd2cSJim Jagielski.ELSE # Not BSD based 114*b1cdbd2cSJim JagielskiCOPYRECURSE=-r 115*b1cdbd2cSJim Jagielski.ENDIF 116*b1cdbd2cSJim Jagielski.IF "$(OS)"=="SOLARIS" 117*b1cdbd2cSJim JagielskiAWK*=nawk 118*b1cdbd2cSJim JagielskiGNUCOPY*=gnucp 119*b1cdbd2cSJim JagielskiGNUPATCH*=gnupatch 120*b1cdbd2cSJim JagielskiGNUTAR*=/usr/sfw/bin/gtar 121*b1cdbd2cSJim JagielskiDEREFERENCE= 122*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="SOLARIS" 123*b1cdbd2cSJim JagielskiAWK*=awk 124*b1cdbd2cSJim Jagielski# this is not true, as BSD does not default to a GNU cp, but BSD cp 125*b1cdbd2cSJim Jagielski# so in dmake makefiles one should be restricted to use the subset 126*b1cdbd2cSJim Jagielski# of features that both BSD and GNU make support. 127*b1cdbd2cSJim Jagielski# as the GNU make build system requires GNUCOPY to really be a GNU copy 128*b1cdbd2cSJim Jagielski# we work around that for now by not setting GNUCOPY in sdev300.ini 129*b1cdbd2cSJim Jagielski# for fbsd for now, but for all other platforms it is set. 130*b1cdbd2cSJim JagielskiGNUCOPY*=cp 131*b1cdbd2cSJim JagielskiGNUPATCH*=patch 132*b1cdbd2cSJim JagielskiGPERF*=gperf 133*b1cdbd2cSJim JagielskiDEREFERENCE=-L 134*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="SOLARIS" 135*b1cdbd2cSJim Jagielski.IF "$(OS)"=="LINUX" || "$(OS)"=="MACOSX" 136*b1cdbd2cSJim JagielskiGNUMAKE*=make 137*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="LINUX" || "$(OS)"=="MACOSX" 138*b1cdbd2cSJim JagielskiGNUMAKE*=gmake 139*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="LINUX" || "$(OS)"=="MACOSX" 140*b1cdbd2cSJim JagielskiTOUCH=touch 141*b1cdbd2cSJim JagielskiRENAME=mv 142*b1cdbd2cSJim JagielskiGREP=grep 143*b1cdbd2cSJim JagielskiFIND=find 144*b1cdbd2cSJim JagielskiLS=ls 145*b1cdbd2cSJim JagielskiECHON=echo -n 146*b1cdbd2cSJim JagielskiECHONL=echo 147*b1cdbd2cSJim Jagielski.ELIF "$(GUI)"=="OS2" 148*b1cdbd2cSJim JagielskiGPERF*=gperf 149*b1cdbd2cSJim JagielskiSED*=sed 150*b1cdbd2cSJim JagielskiSORT*=sort 151*b1cdbd2cSJim JagielskiPERL*=perl 152*b1cdbd2cSJim JagielskiTYPE=cat 153*b1cdbd2cSJim JagielskiCDD=@cd 154*b1cdbd2cSJim JagielskiCOPY=cp -f 155*b1cdbd2cSJim JagielskiCOPYRECURSE=-r 156*b1cdbd2cSJim JagielskiCOPYUPDATE=-u 157*b1cdbd2cSJim JagielskiDELAY=sleep 158*b1cdbd2cSJim JagielskiECHON*=echo -n 159*b1cdbd2cSJim JagielskiECHONL=echo 160*b1cdbd2cSJim JagielskiAWK*=awk 161*b1cdbd2cSJim JagielskiGNUCOPY*=cp 162*b1cdbd2cSJim JagielskiGNUPATCH*=gnupatch 163*b1cdbd2cSJim JagielskiGNUMAKE*=make 164*b1cdbd2cSJim JagielskiTOUCH=touch 165*b1cdbd2cSJim Jagielski#YD rename doesn't work across different drives! 166*b1cdbd2cSJim JagielskiRENAME=mv 167*b1cdbd2cSJim JagielskiGREP=grep 168*b1cdbd2cSJim JagielskiFIND=find 169*b1cdbd2cSJim JagielskiLS=ls 170*b1cdbd2cSJim JagielskiDUMPBIN=echo 171*b1cdbd2cSJim Jagielski 172*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"=="UNX" 173*b1cdbd2cSJim Jagielski 174*b1cdbd2cSJim Jagielski# (Global) Set if not set before 175*b1cdbd2cSJim JagielskiDELAY*=sleep 176*b1cdbd2cSJim JagielskiMKDIR*=mkdir$E 177*b1cdbd2cSJim JagielskiMKDIRHIER*=mkdir$E -p 178*b1cdbd2cSJim JagielskiRMDIR*=rmdir 179*b1cdbd2cSJim JagielskiXARGS*=xargs 180*b1cdbd2cSJim JagielskiGNUTAR*:=tar 181*b1cdbd2cSJim Jagielski 182*b1cdbd2cSJim JagielskiRM+=$(RMFLAGS) 183*b1cdbd2cSJim JagielskiADJUSTVISIBILITY*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/adjustvisibility 184*b1cdbd2cSJim JagielskiCONVERT*:=$(PERL) $(SOLARENV)/bin/leconvert.pl 185*b1cdbd2cSJim JagielskiEXECTEST := $(PERL) -w $(SOLARENV)/bin/exectest.pl 186*b1cdbd2cSJim JagielskiGCCINSTLIB:=$(PERL) -w $(SOLARENV)/bin/gccinstlib.pl 187*b1cdbd2cSJim Jagielski 188*b1cdbd2cSJim Jagielski# The dmake $(PWD) apparantly produces paths with symlinks resolved, while the 189*b1cdbd2cSJim Jagielski# bash pwd command by default produces paths with unresolved symlinks, so that 190*b1cdbd2cSJim Jagielski# computing PATH_IN_MODULE in settings.mk would fail without the -P flag to the 191*b1cdbd2cSJim Jagielski# bash pwd command: 192*b1cdbd2cSJim JagielskiPWDFLAGS = -P 193