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.EXPORT : CC CXX 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski# setup INCLUDE variable for use by VC++ 27*b1cdbd2cSJim Jagielski.IF "$(GUI)$(COM)"=="WNTMSC" 28*b1cdbd2cSJim Jagielski.IF "$(EXT_USE_STLPORT)"=="" 29*b1cdbd2cSJim JagielskiINCLUDE!:=. $(subst,/stl, $(SOLARINC)) 30*b1cdbd2cSJim Jagielski.ELSE # "$(EXT_USE_STLPORT)"=="" 31*b1cdbd2cSJim JagielskiINCLUDE!:=. $(SOLARINC) 32*b1cdbd2cSJim Jagielski.ENDIF # "$(EXT_USE_STLPORT)"=="" 33*b1cdbd2cSJim JagielskiINCLUDE!:=$(INCLUDE:s/ -I/;/) 34*b1cdbd2cSJim Jagielski.EXPORT : INCLUDE 35*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)$(COM)"=="WNTMSC" 36*b1cdbd2cSJim Jagielski 37*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 38*b1cdbd2cSJim JagielskiLDFLAGS!:=$(EXTRA_LINKFLAGS) $(LDFLAGS) 39*b1cdbd2cSJim Jagielski.EXPORT : LDFLAGS 40*b1cdbd2cSJim Jagielski.ENDIF 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" 43*b1cdbd2cSJim JagielskiPATH!:=.:$(SOLARBINDIR:^"/cygdrive/":s/://):$(PATH) 44*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)"=="WNT" 45*b1cdbd2cSJim JagielskiPATH!:=.$(PATH_SEPERATOR)$(SOLARBINDIR)$(PATH_SEPERATOR)$(PATH) 46*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"=="WNT" 47*b1cdbd2cSJim Jagielski.EXPORT : PATH 48*b1cdbd2cSJim Jagielski 49*b1cdbd2cSJim Jagielski#override 50*b1cdbd2cSJim JagielskiPACKAGE_DIR=$(MISC)/build 51*b1cdbd2cSJim JagielskiABS_PACKAGE_DIR:=$(MAKEDIR)/$(MISC)/build 52*b1cdbd2cSJim Jagielski 53*b1cdbd2cSJim Jagielski#MUST match with PACKAGE_DIR 54*b1cdbd2cSJim JagielskiBACK_PATH=../../../ 55*b1cdbd2cSJim Jagielski#MUST match with reference (currently MISC) 56*b1cdbd2cSJim JagielskiMBACK_PATH=../../ 57*b1cdbd2cSJim Jagielski.IF "$(TARFILE_IS_FLAT)" != "" 58*b1cdbd2cSJim Jagielskifake_root_dir=/$(TARFILE_NAME) 59*b1cdbd2cSJim Jagielski#MUST match fake_root_dir in directory levels 60*b1cdbd2cSJim Jagielskifake_back=../ 61*b1cdbd2cSJim Jagielski.ENDIF "$(TARFILE_IS_FLAT)" != "" 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim JagielskiTARFILE_LOCATION*=$(BACK_PATH)$(fake_back)download 64*b1cdbd2cSJim JagielskiTARFILE_LOCATION2=$(eq,$(BACK_PATH)$(fake_back)download,$(TARFILE_LOCATION) $(PRJ)/download $(TARFILE_LOCATION)) 65*b1cdbd2cSJim Jagielski 66*b1cdbd2cSJim JagielskiP_CONFIGURE_DIR=$(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$(CONFIGURE_DIR) 67*b1cdbd2cSJim JagielskiP_BUILD_DIR=$(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$(BUILD_DIR) 68*b1cdbd2cSJim JagielskiP_INSTALL_DIR=$(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$(BUILD_DIR) 69*b1cdbd2cSJim JagielskiP_INSTALL_TARGET_DIR=$(MISC)/install 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski.IF "$(PATCH_FILES)"=="none" || "$(PATCH_FILES)"=="" 72*b1cdbd2cSJim JagielskiNEW_PATCH_FILE_NAME:=$(TARFILE_NAME) 73*b1cdbd2cSJim Jagielski.ELSE # "$(PATCH_FILES)"=="none" || "$(PATCH_FILES)"=="" 74*b1cdbd2cSJim JagielskiNEW_PATCH_FILE_NAME:=$(TARFILE_NAME)-newpatch-rename_me.patch 75*b1cdbd2cSJim JagielskiPATCH_FILE_DEP:=$(PRJ)/$(PATH_IN_MODULE)/{$(PATCH_FILES)} 76*b1cdbd2cSJim Jagielski.ENDIF # "$(PATCH_FILES)"=="none" || "$(PATCH_FILES)"=="" 77*b1cdbd2cSJim Jagielski 78*b1cdbd2cSJim Jagielskiunzip_quiet_switch:=-qq 79*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)"=="TRUE" 80*b1cdbd2cSJim Jagielskitar_verbose_switch=v 81*b1cdbd2cSJim Jagielskiunzip_quiet_switch:= 82*b1cdbd2cSJim Jagielski.ENDIF # "$(VERBOSE)"=="TRUE" 83*b1cdbd2cSJim Jagielski 84*b1cdbd2cSJim Jagielski.IF "$(ADDITIONAL_FILES)"!="" 85*b1cdbd2cSJim JagielskiP_ADDITIONAL_FILES=$(foreach,i,$(ADDITIONAL_FILES) $(MISC)/$(TARFILE_ROOTDIR)/$i) 86*b1cdbd2cSJim JagielskiT_ADDITIONAL_FILES=$(foreach,i,$(ADDITIONAL_FILES) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) 87*b1cdbd2cSJim Jagielski.ENDIF # "$(ADDITIONAL_FILES)"!="" 88*b1cdbd2cSJim Jagielski 89*b1cdbd2cSJim JagielskiEXTRPATH*=OOO 90*b1cdbd2cSJim Jagielski 91*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"=="" 92*b1cdbd2cSJim Jagielski 93*b1cdbd2cSJim JagielskiALLTAR : \ 94*b1cdbd2cSJim Jagielski $(PACKAGE_DIR)/$(UNTAR_FLAG_FILE) \ 95*b1cdbd2cSJim Jagielski $(PACKAGE_DIR)/$(BUILD_FLAG_FILE) \ 96*b1cdbd2cSJim Jagielski $(PACKAGE_DIR)/$(INSTALL_FLAG_FILE) \ 97*b1cdbd2cSJim Jagielski $(PACKAGE_DIR)/$(CONFIGURE_FLAG_FILE) \ 98*b1cdbd2cSJim Jagielski $(PACKAGE_DIR)/$(ADD_FILES_FLAG_FILE) \ 99*b1cdbd2cSJim Jagielski $(PACKAGE_DIR)/$(PATCH_FLAG_FILE) \ 100*b1cdbd2cSJim Jagielski $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE) 101*b1cdbd2cSJim Jagielski 102*b1cdbd2cSJim Jagielskiclean: 103*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(P_BUILD_DIR) && $(BUILD_ACTION) $(BUILD_FLAGS) clean 104*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RM) $(PACKAGE_DIR)/$(BUILD_FLAG_FILE) 105*b1cdbd2cSJim Jagielski 106*b1cdbd2cSJim Jagielski$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.tar.bz2 107*b1cdbd2cSJim Jagielski @-$(RM) $@ 108*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 109*b1cdbd2cSJim Jagielski @noop $(assign UNPACKCMD := sh -c "bzip2 -cd $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.bz2 $(TARFILE_FILTER) | $(GNUTAR) -x$(tar_verbose_switch)f - ") 110*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)"=="UNX" 111*b1cdbd2cSJim Jagielski @noop $(assign UNPACKCMD := bzip2 -cd $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.bz2 $(TARFILE_FILTER) | $(GNUTAR) -x$(tar_verbose_switch)f - ) 112*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"=="UNX" 113*b1cdbd2cSJim Jagielski @$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH) 114*b1cdbd2cSJim Jagielski @$(RENAME) $@.$(INPATH) $@ 115*b1cdbd2cSJim Jagielski 116*b1cdbd2cSJim Jagielski$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.tar.Z 117*b1cdbd2cSJim Jagielski @-$(RM) $@ 118*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 119*b1cdbd2cSJim Jagielski @noop $(assign UNPACKCMD := sh -c "uncompress -c $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.Z | $(GNUTAR) -x$(tar_verbose_switch)f - ") 120*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)"=="UNX" 121*b1cdbd2cSJim Jagielski @noop $(assign UNPACKCMD := uncompress -c $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.Z | $(GNUTAR) -x$(tar_verbose_switch)f - ) 122*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"=="UNX" 123*b1cdbd2cSJim Jagielski @$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH) 124*b1cdbd2cSJim Jagielski @$(RENAME) $@.$(INPATH) $@ 125*b1cdbd2cSJim Jagielski 126*b1cdbd2cSJim Jagielski$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.tar.gz 127*b1cdbd2cSJim Jagielski @-$(RM) $@ 128*b1cdbd2cSJim Jagielski @noop $(assign UNPACKCMD := gzip -d -c $(subst,\,/ $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.gz) $(TARFILE_FILTER) | $(GNUTAR) -x$(tar_verbose_switch)f - ) 129*b1cdbd2cSJim Jagielski @$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH) 130*b1cdbd2cSJim Jagielski @$(RENAME) $@.$(INPATH) $@ 131*b1cdbd2cSJim Jagielski 132*b1cdbd2cSJim Jagielski$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.tgz 133*b1cdbd2cSJim Jagielski @-$(RM) $@ 134*b1cdbd2cSJim Jagielski @noop $(assign UNPACKCMD := gzip -d -c $(subst,\,/ $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tgz) $(TARFILE_FILTER) | $(GNUTAR) -x$(tar_verbose_switch)f - ) 135*b1cdbd2cSJim Jagielski @$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH) 136*b1cdbd2cSJim Jagielski @$(RENAME) $@.$(INPATH) $@ 137*b1cdbd2cSJim Jagielski 138*b1cdbd2cSJim Jagielski$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.tar 139*b1cdbd2cSJim Jagielski @-$(RM) $@ 140*b1cdbd2cSJim Jagielski @noop $(assign UNPACKCMD := $(GNUTAR) -x$(tar_verbose_switch)f $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar) 141*b1cdbd2cSJim Jagielski @$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH) 142*b1cdbd2cSJim Jagielski @$(RENAME) $@.$(INPATH) $@ 143*b1cdbd2cSJim Jagielski 144*b1cdbd2cSJim Jagielski$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.zip 145*b1cdbd2cSJim Jagielski @-$(RM) $@ 146*b1cdbd2cSJim Jagielski @noop $(assign UNPACKCMD := unzip $(unzip_quiet_switch) -o $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).zip) 147*b1cdbd2cSJim Jagielski @$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH) 148*b1cdbd2cSJim Jagielski @$(RENAME) $@.$(INPATH) $@ 149*b1cdbd2cSJim Jagielski 150*b1cdbd2cSJim Jagielski$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.jar 151*b1cdbd2cSJim Jagielski @-$(RM) $@ 152*b1cdbd2cSJim Jagielski.IF "$(OS)"=="SOLARIS" 153*b1cdbd2cSJim Jagielski @noop $(assign UNPACKCMD := jar xf $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).jar) 154*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="SOLARIS" 155*b1cdbd2cSJim Jagielski @noop $(assign UNPACKCMD := unzip $(unzip_quiet_switch) -o $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).jar) 156*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="SOLARIS" 157*b1cdbd2cSJim Jagielski @$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH) 158*b1cdbd2cSJim Jagielski @$(RENAME) $@.$(INPATH) $@ 159*b1cdbd2cSJim Jagielski 160*b1cdbd2cSJim Jagielski#do unpack 161*b1cdbd2cSJim Jagielski$(PACKAGE_DIR)/$(UNTAR_FLAG_FILE) : $(PRJ)/$(ROUT)/misc/$(TARFILE_MD5)-$(TARFILE_NAME).unpack $(PATCH_FILE_DEP) 162*b1cdbd2cSJim Jagielski $(IFDIREXIST) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR) $(THEN) echo "moving" && $(RENAME:s/+//) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)_removeme $(FI) 163*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-rm -rf $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)_removeme 164*b1cdbd2cSJim Jagielski @-$(MKDIRHIER) $(PACKAGE_DIR)$(fake_root_dir) 165*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(PACKAGE_DIR)$(fake_root_dir) && ( $(shell @$(TYPE) $(PRJ)/$(ROUT)/misc/$(TARFILE_MD5)-$(TARFILE_NAME).unpack)) && $(TOUCH) $(UNTAR_FLAG_FILE) 166*b1cdbd2cSJim Jagielski @echo make writeable... 167*b1cdbd2cSJim Jagielski @cd $(PACKAGE_DIR) && chmod -R +rw $(TARFILE_ROOTDIR) && $(TOUCH) $(UNTAR_FLAG_FILE) 168*b1cdbd2cSJim Jagielski @cd $(PACKAGE_DIR) && find $(TARFILE_ROOTDIR) -type d -exec chmod a+x {{}} \; 169*b1cdbd2cSJim Jagielski 170*b1cdbd2cSJim Jagielski#add new files to patch 171*b1cdbd2cSJim Jagielski$(PACKAGE_DIR)/$(ADD_FILES_FLAG_FILE) : $(PACKAGE_DIR)/$(UNTAR_FLAG_FILE) $(T_ADDITIONAL_FILES:+".dummy") 172*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" 173*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 174*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)"=="WNT" 175*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 176*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"=="WNT" 177*b1cdbd2cSJim Jagielski 178*b1cdbd2cSJim Jagielski#patch 179*b1cdbd2cSJim Jagielski$(PACKAGE_DIR)/$(PATCH_FLAG_FILE) : $(PACKAGE_DIR)/$(ADD_FILES_FLAG_FILE) 180*b1cdbd2cSJim Jagielski.IF "$(PATCH_FILES)"=="none" || "$(PATCH_FILES)"=="" 181*b1cdbd2cSJim Jagielski @echo no patch needed... 182*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TOUCH) $@ 183*b1cdbd2cSJim Jagielski.ELSE # "$(PATCH_FILES)"=="none" || "$(PATCH_FILES)"=="" 184*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" 185*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(PACKAGE_DIR) && $(TYPE:s/+//) $(BACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | patch --binary $(PATCHFLAGS) -p2 && $(TOUCH) $(PATCH_FLAG_FILE) 186*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)"=="WNT" 187*b1cdbd2cSJim Jagielski.IF "$(BSCLIENT)"=="TRUE" 188*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(PACKAGE_DIR) && $(TYPE) $(BACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | $(GNUPATCH) -f $(PATCHFLAGS) -p2 && $(TOUCH) $(PATCH_FLAG_FILE) 189*b1cdbd2cSJim Jagielski.ELSE # "$(BSCLIENT)"!="" 190*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(PACKAGE_DIR) && $(TYPE) $(BACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | $(GNUPATCH) --binary $(PATCHFLAGS) -p2 && $(TOUCH) $(PATCH_FLAG_FILE) 191*b1cdbd2cSJim Jagielski.ENDIF # "$(BSCLIENT)"!="" 192*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"=="WNT" 193*b1cdbd2cSJim Jagielski.ENDIF # "$(PATCH_FILES)"=="none" || "$(PATCH_FILES)"=="" 194*b1cdbd2cSJim Jagielski.IF "$(T_ADDITIONAL_FILES)"!="" 195*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" 196*b1cdbd2cSJim Jagielski# Native W32 tools generate only filedates with even seconds, cygwin also with odd seconds 197*b1cdbd2cSJim Jagielski $(DELAY) 2 198*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"=="WNT" 199*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TOUCH) $(PACKAGE_DIR)/$(PATCH_FLAG_FILE) 200*b1cdbd2cSJim Jagielski.ENDIF # "$(T_ADDITIONAL_FILES)"!="" 201*b1cdbd2cSJim Jagielski 202*b1cdbd2cSJim Jagielski.IF "$(CONVERTFILES)"!="" 203*b1cdbd2cSJim Jagielski$(MISC)/$(TARGET)_convert_unx_flag : $(PACKAGE_DIR)/$(UNTAR_FLAG_FILE) 204*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(CONVERT) unix $(foreach,i,$(CONVERTFILES) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) && $(TOUCH) $(MISC)/$(TARGET)_convert_unx_flag 205*b1cdbd2cSJim Jagielski 206*b1cdbd2cSJim Jagielski$(PACKAGE_DIR)/$(PATCH_FLAG_FILE) : $(MISC)/$(TARGET)_convert_unx_flag 207*b1cdbd2cSJim Jagielski 208*b1cdbd2cSJim Jagielski$(MISC)/$(TARGET)_convert_dos_flag : $(PACKAGE_DIR)/$(PATCH_FLAG_FILE) 209*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(CONVERT) dos $(foreach,i,$(CONVERTFILES) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) && $(TOUCH) $(MISC)/$(TARGET)_convert_dos_flag 210*b1cdbd2cSJim Jagielski 211*b1cdbd2cSJim Jagielski$(PACKAGE_DIR)/$(CONFIGURE_FLAG_FILE) : $(MISC)/$(TARGET)_convert_dos_flag 212*b1cdbd2cSJim Jagielski 213*b1cdbd2cSJim Jagielskipatch : $(MISC)/$(TARGET)_convert_dos_flag 214*b1cdbd2cSJim Jagielski 215*b1cdbd2cSJim Jagielski.ENDIF # "$(CONVERTFILES)"!="" 216*b1cdbd2cSJim Jagielski 217*b1cdbd2cSJim Jagielski.IF "$(OS)"=="OS2" 218*b1cdbd2cSJim Jagielski# YD do not trigger bash for scripts! 219*b1cdbd2cSJim JagielskiCONFIG_SHELL=sh.exe 220*b1cdbd2cSJim Jagielski.EXPORT: CONFIG_SHELL 221*b1cdbd2cSJim Jagielski.ENDIF 222*b1cdbd2cSJim Jagielski 223*b1cdbd2cSJim Jagielski$(PACKAGE_DIR)/$(CONFIGURE_FLAG_FILE) : $(PACKAGE_DIR)/$(PATCH_FLAG_FILE) 224*b1cdbd2cSJim Jagielski @@-$(RM) $@ 225*b1cdbd2cSJim Jagielski.IF "$(CONFIGURE_ACTION)" == "none" || "$(CONFIGURE_ACTION)"=="" 226*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TOUCH) $(PACKAGE_DIR)/$(CONFIGURE_FLAG_FILE) 227*b1cdbd2cSJim Jagielski.ELSE # "$(CONFIGURE_ACTION)"=="none" || "$(CONFIGURE_ACTION)"=="" 228*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(MKDIR) $(P_CONFIGURE_DIR) 229*b1cdbd2cSJim Jagielski.IF "$(OS)"=="OS2" 230*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(P_CONFIGURE_DIR) && sh -c "$(CONFIGURE_ACTION:s!\!/!) $(CONFIGURE_FLAGS:s!\!/!)" && $(TOUCH) $(CONFIGURE_FLAG_FILE) 231*b1cdbd2cSJim Jagielski.ELSE 232*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(P_CONFIGURE_DIR) && $(CONFIGURE_ACTION) $(CONFIGURE_FLAGS) && $(TOUCH) $(CONFIGURE_FLAG_FILE) 233*b1cdbd2cSJim Jagielski.ENDIF 234*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)mv $(P_CONFIGURE_DIR)/$(CONFIGURE_FLAG_FILE) $(PACKAGE_DIR)/$(CONFIGURE_FLAG_FILE) 235*b1cdbd2cSJim Jagielski.ENDIF # "$(CONFIGURE_ACTION)"=="none" || "$(CONFIGURE_ACTION)"=="" 236*b1cdbd2cSJim Jagielski 237*b1cdbd2cSJim Jagielski 238*b1cdbd2cSJim Jagielski$(PACKAGE_DIR)/$(BUILD_FLAG_FILE) : $(PACKAGE_DIR)/$(CONFIGURE_FLAG_FILE) 239*b1cdbd2cSJim Jagielski @@-$(RM) $@ 240*b1cdbd2cSJim Jagielski.IF "$(eq,x$(BUILD_ACTION:s/none//)x,xx true false)"=="true" 241*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TOUCH) $(PACKAGE_DIR)/$(BUILD_FLAG_FILE) 242*b1cdbd2cSJim Jagielski.ELSE # "$(eq,x$(BUILD_ACTION:s/none//)x,xx true false)"=="true" 243*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(MKDIR) $(P_BUILD_DIR) 244*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(P_BUILD_DIR) && $(BUILD_ACTION) $(BUILD_FLAGS) && $(TOUCH) $(ABS_PACKAGE_DIR)/$(BUILD_FLAG_FILE) 245*b1cdbd2cSJim Jagielski.ENDIF # "$(eq,x$(BUILD_ACTION:s/none//)x,xx true false)"=="true" 246*b1cdbd2cSJim Jagielski 247*b1cdbd2cSJim Jagielski$(PACKAGE_DIR)/$(INSTALL_FLAG_FILE) : $(PACKAGE_DIR)/$(BUILD_FLAG_FILE) 248*b1cdbd2cSJim Jagielski @@-$(RM) $@ 249*b1cdbd2cSJim Jagielski.IF "$(INSTALL_ACTION)"=="none" || "$(INSTALL_ACTION)"=="" 250*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TOUCH) $(PACKAGE_DIR)/$(INSTALL_FLAG_FILE) 251*b1cdbd2cSJim Jagielski.ELSE # "$(INSTALL_ACTION)"=="none" || "$(INSTALL_ACTION)"=="" 252*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(MKDIR) $(P_INSTALL_DIR) 253*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(MKDIR) $(P_INSTALL_TARGET_DIR) 254*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(P_INSTALL_DIR) && $(INSTALL_ACTION) $(INSTALL_FLAGS) && $(TOUCH) $(INSTALL_FLAG_FILE) 255*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)mv $(P_INSTALL_DIR)/$(INSTALL_FLAG_FILE) $(PACKAGE_DIR)/$(INSTALL_FLAG_FILE) 256*b1cdbd2cSJim Jagielski.ENDIF # "$(INSTALL_ACTION)"=="none" || "$(INSTALL_ACTION)"=="" 257*b1cdbd2cSJim Jagielski 258*b1cdbd2cSJim Jagielski$(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE) : $(PACKAGE_DIR)/$(INSTALL_FLAG_FILE) 259*b1cdbd2cSJim Jagielski.IF "$(OUT2LIB)"!="" 260*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2LIB) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(LB) 261*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 262*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl extshl \ 263*b1cdbd2cSJim Jagielski $(EXTRPATH) \ 264*b1cdbd2cSJim Jagielski $(shell ls $(foreach,j,$(OUT2LIB) $(LB)/$(j:f)) | \ 265*b1cdbd2cSJim Jagielski (grep -v '\.a$$' || test $$? = 1)) 266*b1cdbd2cSJim Jagielski.ENDIF 267*b1cdbd2cSJim Jagielski.ENDIF # "$(OUT2LIB)"!="" 268*b1cdbd2cSJim Jagielski.IF "$(OUT2INC)"!="" 269*b1cdbd2cSJim Jagielski.IF "$(OUT2INC_SUBDIR)"!="" 270*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(MKDIRHIER) $(INCCOM)/$(OUT2INC_SUBDIR) 271*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2INC) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(INCCOM)/$(OUT2INC_SUBDIR) 272*b1cdbd2cSJim Jagielski.ELSE # "$(OUT2INC_SUBDIR)"!="" 273*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2INC) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(INCCOM) 274*b1cdbd2cSJim Jagielski.ENDIF # "$(OUT2INC_SUBDIR)"!="" 275*b1cdbd2cSJim Jagielski.ENDIF # "$(OUT2INC)"!="" 276*b1cdbd2cSJim Jagielski.IF "$(OUTDIR2INC)"!="" 277*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(COPY) $(DEREFERENCE) $(COPYRECURSE) $(foreach,i,$(OUTDIR2INC) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(INCCOM) 278*b1cdbd2cSJim Jagielski.ENDIF # "$(OUTDIR2INC)"!="" 279*b1cdbd2cSJim Jagielski.IF "$(OUT2BIN)"!="" 280*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2BIN) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(BIN) 281*b1cdbd2cSJim Jagielski.IF "$(GUI)$(COM)$(COMEX)"=="WNTMSC12" 282*b1cdbd2cSJim Jagielski @noop $(foreach,j,$(foreach,k,$(OUT2BIN) \ 283*b1cdbd2cSJim Jagielski $(shell -ls -1 $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$k | $(GREP) .dll)) \ 284*b1cdbd2cSJim Jagielski $(shell @$(IFEXIST) $(j).manifest $(THEN) mt.exe \ 285*b1cdbd2cSJim Jagielski -manifest $(j).manifest -outputresource:$(BIN)/$(j:f)$(EMQ);2 $(FI))) 286*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)$(COM)$(COMEX)"=="WNTMSC12" 287*b1cdbd2cSJim Jagielski.ENDIF # "$(OUT2BIN)"!="" 288*b1cdbd2cSJim Jagielski.IF "$(OUT2CLASS)"!="" 289*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2CLASS) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(CLASSDIR) 290*b1cdbd2cSJim Jagielski.ENDIF # "$(OUT2BIN)"!="" 291*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TOUCH) $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE) 292*b1cdbd2cSJim Jagielski 293*b1cdbd2cSJim Jagielski$(MISC)/$(TARFILE_ROOTDIR).done : $(MISC)/$(TARFILE_MD5)-$(TARFILE_NAME).unpack $(PATCH_FILES) 294*b1cdbd2cSJim Jagielski @-mv $(MISC)/$(TARFILE_ROOTDIR) $(MISC)/$(TARFILE_ROOTDIR).old 295*b1cdbd2cSJim Jagielski @-rm -rf $(MISC)/$(TARFILE_ROOTDIR).old 296*b1cdbd2cSJim Jagielski @-$(MKDIRHIER) $(MISC)$(fake_root_dir) 297*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(MISC)$(fake_root_dir) && $(subst,$(BACK_PATH),$(MBACK_PATH) $(shell @$(TYPE) $(PRJ)/$(ROUT)/misc/$(TARFILE_MD5)-$(TARFILE_NAME).unpack)) 298*b1cdbd2cSJim Jagielski.IF "$(P_ADDITIONAL_FILES)"!="" 299*b1cdbd2cSJim Jagielski noop $(foreach,i,$(P_ADDITIONAL_FILES) $(shell echo dummy > $i)) 300*b1cdbd2cSJim Jagielski.ENDIF "$(P_ADDITIONAL_FILES)"!="" 301*b1cdbd2cSJim Jagielski.IF "$(PATCH_FILES)"!="none" && "$(PATCH_FILES)"!="" 302*b1cdbd2cSJim Jagielski.IF "$(CONVERTFILES)"!="" 303*b1cdbd2cSJim Jagielski $(CONVERT) unix $(foreach,i,$(CONVERTFILES) $(MISC)/$(TARFILE_ROOTDIR)/$i) 304*b1cdbd2cSJim Jagielski.ENDIF # "$(CONVERTFILES)"!="" 305*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" 306*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(MISC) && $(TYPE:s/+//) $(MBACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | patch --binary $(PATCHFLAGS) -p2 307*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)"=="WNT" 308*b1cdbd2cSJim Jagielski.IF "$(BSCLIENT)"=="TRUE" 309*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(MISC) && $(TYPE) $(MBACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | $(GNUPATCH) -f $(PATCHFLAGS) -p2 310*b1cdbd2cSJim Jagielski.ELSE # "$(BSCLIENT)"!="" 311*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(MISC) && $(TYPE) $(MBACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | $(GNUPATCH) --binary $(PATCHFLAGS) -p2 312*b1cdbd2cSJim Jagielski.ENDIF # "$(BSCLIENT)"!="" 313*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"=="WNT" 314*b1cdbd2cSJim Jagielski.IF "$(CONVERTFILES)"!="" 315*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(CONVERT) dos $(foreach,i,$(CONVERTFILES) $(MISC)/$(TARFILE_ROOTDIR)/$i) 316*b1cdbd2cSJim Jagielski.ENDIF # "$(CONVERTFILES)"!="" 317*b1cdbd2cSJim Jagielski.ENDIF # "$(PATCH_FILES)"!="none" && "$(PATCH_FILES)"!=" 318*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 319*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TOUCH) $@ 320*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"=="UNX" 321*b1cdbd2cSJim Jagielski 322*b1cdbd2cSJim Jagielski.IF "$(T_ADDITIONAL_FILES)"!="" 323*b1cdbd2cSJim Jagielski$(T_ADDITIONAL_FILES:+".dummy") : $(PACKAGE_DIR)/$(UNTAR_FLAG_FILE) 324*b1cdbd2cSJim Jagielski @-$(MKDIRHIER) $(@:d) 325*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-echo dummy > $@ 326*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(TOUCH) $@ 327*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-echo dummy > $(@:d)$(@:b) 328*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(TOUCH) $(@:d)$(@:b) 329*b1cdbd2cSJim Jagielski.ENDIF "$(T_ADDITIONAL_FILES)"!="" 330*b1cdbd2cSJim Jagielski 331*b1cdbd2cSJim Jagielskicreate_patch : $(MISC)/$(TARFILE_ROOTDIR).done $(PACKAGE_DIR)/$(PATCH_FLAG_FILE) 332*b1cdbd2cSJim Jagielski @@-$(MKDIRHIER) $(PRJ)/$(NEW_PATCH_FILE_NAME:d) 333*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(NEW_PATCH_FILE_NAME:f).tmp 334*b1cdbd2cSJim Jagielski @@-$(RM) $(PRJ)/$(PATH_IN_MODULE)/$(NEW_PATCH_FILE_NAME).bak 335*b1cdbd2cSJim Jagielski#ignore returncode of 1 (indicates differences...) 336*b1cdbd2cSJim Jagielski# hard coded again to get the same directory level as before. quite ugly... 337*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-cd $(PRJ)/$(ROUT) && diff -ru misc/$(TARFILE_ROOTDIR) misc/build/$(TARFILE_ROOTDIR) | $(PERL) $(SOLARENV)/bin/cleandiff.pl | tr -d "\015" > misc/$(NEW_PATCH_FILE_NAME:f).tmp 338*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-mv $(PRJ)/$(PATH_IN_MODULE)/$(NEW_PATCH_FILE_NAME) $(PRJ)/$(PATH_IN_MODULE)/$(NEW_PATCH_FILE_NAME).bak 339*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(TOUCH) $(PRJ)/$(PATH_IN_MODULE)/$(NEW_PATCH_FILE_NAME).bak 340*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/patch_sanitizer.pl $(PRJ)/$(PATH_IN_MODULE)/$(NEW_PATCH_FILE_NAME).bak $(MISC)/$(NEW_PATCH_FILE_NAME:f).tmp $(PRJ)/$(PATH_IN_MODULE)/$(NEW_PATCH_FILE_NAME) 341*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(NEW_PATCH_FILE_NAME:f).tmp $(PRJ)/$(PATH_IN_MODULE)/$(NEW_PATCH_FILE_NAME).bak 342*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 343*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)dmake $(MAKEMACROS) patch 344*b1cdbd2cSJim Jagielski.ELSE 345*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(MAKECMD) $(MAKEMACROS) patch 346*b1cdbd2cSJim Jagielski.ENDIF 347*b1cdbd2cSJim Jagielski @echo still some problems with win32 generated patches... 348*b1cdbd2cSJim Jagielski @echo $(USQ)find your new changes in $(NEW_PATCH_FILE_NAME). don't forget to move/rename that patch and insert it in your makefiles PATCH_FILES to activate.$(USQ) 349*b1cdbd2cSJim Jagielski 350*b1cdbd2cSJim Jagielskicreate_clean : $(PACKAGE_DIR)/$(UNTAR_FLAG_FILE) 351*b1cdbd2cSJim Jagielski @echo done 352*b1cdbd2cSJim Jagielski 353*b1cdbd2cSJim Jagielskipatch : $(PACKAGE_DIR)/$(PATCH_FLAG_FILE) 354*b1cdbd2cSJim Jagielski @echo done 355*b1cdbd2cSJim Jagielski 356*b1cdbd2cSJim Jagielski.ENDIF # "$(L10N_framework)"=="" 357