products/sources/formale sprachen/Java/openjdk-20-36_src/make/common image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: MakeIO.gmk   Sprache: Shell

#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. 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.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

ifeq (,$(_MAKEBASE_GMK))
  $(error You must include MakeBase.gmk prior to including MakeIO.gmk)
endif

################################################################################
#
# Functions for dealing with reading and writing from makefiles. Prior to GNU
# Make 4.0, this was tricky business.
#
################################################################################


################################################################################
# ListPathsSafely can be used to print command parameters to a file. This is
# typically done if the command line length risk being too long for the
# OS/shell. In later make versions, the file function can be used for this
# purpose. For earlier versions, a more complex implementation is provided.
#
# The function ListPathsSafely can be called either directly or, more commonly
# from a recipe line. If called from a recipe, it will be executed in the
# evaluation phase of that recipe, which means that it will write to the file
# before any other line in the recipe has been run.
ifeq ($(HAS_FILE_FUNCTION), true)
  # Param 1 - Name of variable containing paths/arguments to output
  # Param 2 - File to print to
  # Param 3 - Set to true to append to file instead of overwriting
  define ListPathsSafely
    $$(call MakeDir, $$(dir $$(strip $2)))
    $$(file $$(if $$(filter true, $$(strip $3)),>>,>) \
        $$(strip $2),$$(subst $$(SPACE),$$(NEWLINE),$$(strip $$($$(strip $1)))))
  endef

else # HAS_FILE_FUNCTION = false

  $(eval compress_paths = \
      $(strip $(shell $(CAT) $(TOPDIR)/make/common/support/ListPathsSafely-pre-compress.incl)))
  compress_paths += \
      $(subst $(TOPDIR),X97, \
      $(subst $(OUTPUTDIR),X98, \
      $(subst X,X00, \
      $(subst $(SPACE),\n,$(strip $1)))))
  $(eval compress_paths += \
      $(strip $(shell $(CAT) $(TOPDIR)/make/common/support/ListPathsSafely-post-compress.incl)))

  decompress_paths=$(SED) -f $(TOPDIR)/make/common/support/ListPathsSafely-uncompress.sed \
      -e 's|X99|\\n|g' \
      -e 's|X98|$(OUTPUTDIR)|g' -e 's|X97|$(TOPDIR)|g' \
      -e 's|X00|X|g'

  ListPathsSafely_IfPrintf = \
      $(if $(word $3,$($(strip $1))), \
          $(shell $(PRINTF) -- "$(strip $(call EscapeDollar, \
              $(call compress_paths, $(wordlist $3,$4,$($(strip $1))))))\n" \
              | $(decompress_paths) >> $2))

  # Param 1 - Name of variable containing paths/arguments to output
  # Param 2 - File to print to
  # Param 3 - Set to true to append to file instead of overwriting
  define ListPathsSafely
    ifneq (,$$(word 30001,$$($$(strip $1))))
      $$(error Cannot list safely more than 30000 paths. $1 has $$(words $$($$(strip $1))) paths!)
    endif
    $$(call MakeDir, $$(dir $2))
    ifneq ($$(strip $3), true)
      $$(shell $(RM) $$(strip $2))
    endif

    $$(call ListPathsSafely_IfPrintf,$1,$2,1,250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,251,500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,501,750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,751,1000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,1001,1250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,1251,1500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,1501,1750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,1751,2000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,2001,2250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,2251,2500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,2501,2750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,2751,3000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,3001,3250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,3251,3500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,3501,3750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,3751,4000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,4001,4250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,4251,4500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,4501,4750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,4751,5000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,5001,5250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,5251,5500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,5501,5750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,5751,6000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,6001,6250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,6251,6500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,6501,6750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,6751,7000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,7001,7250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,7251,7500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,7501,7750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,7751,8000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,8001,8250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,8251,8500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,8501,8750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,8751,9000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,9001,9250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,9251,9500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,9501,9750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,9751,10000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,10001,10250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,10251,10500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,10501,10750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,10751,11000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,11001,11250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,11251,11500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,11501,11750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,11751,12000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,12001,12250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,12251,12500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,12501,12750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,12751,13000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,13001,13250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,13251,13500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,13501,13750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,13751,14000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,14001,14250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,14251,14500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,14501,14750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,14751,15000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,15001,15250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,15251,15500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,15501,15750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,15751,16000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,16001,16250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,16251,16500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,16501,16750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,16751,17000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,17001,17250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,17251,17500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,17501,17750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,17751,18000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,18001,18250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,18251,18500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,18501,18750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,18751,19000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,19001,19250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,19251,19500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,19501,19750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,19751,20000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,20001,20250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,20251,20500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,20501,20750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,20751,21000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,21001,21250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,21251,21500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,21501,21750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,21751,22000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,22001,22250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,22251,22500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,22501,22750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,22751,23000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,23001,23250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,23251,23500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,23501,23750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,23751,24000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,24001,24250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,24251,24500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,24501,24750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,24751,25000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,25001,25250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,25251,25500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,25501,25750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,25751,26000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,26001,26250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,26251,26500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,26501,26750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,26751,27000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,27001,27250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,27251,27500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,27501,27750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,27751,28000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,28001,28250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,28251,28500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,28501,28750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,28751,29000)

    $$(call ListPathsSafely_IfPrintf,$1,$2,29001,29250)
    $$(call ListPathsSafely_IfPrintf,$1,$2,29251,29500)
    $$(call ListPathsSafely_IfPrintf,$1,$2,29501,29750)
    $$(call ListPathsSafely_IfPrintf,$1,$2,29751,30000)
  endef
endif # HAS_FILE_FUNCTION

################################################################################
# Write to and read from file

# Param 1 - File to read
ReadFile = \
    $(shell $(CAT) $1)

# Param 1 - Text to write
# Param 2 - File to write to
ifeq ($(HAS_FILE_FUNCTION), true)
  WriteFile = \
      $(file >$2,$(strip $1))
else
  # Use printf to get consistent behavior on all platforms.
  WriteFile = \
      $(shell $(PRINTF) "%s" $(call ShellQuote, $1) > $2)
endif

# Param 1 - Text to write
# Param 2 - File to write to
ifeq ($(HAS_FILE_FUNCTION), true)
  AppendFile = \
      $(file >>$2,$(strip $1))
else
  # Use printf to get consistent behavior on all platforms.
  AppendFile = \
      $(shell $(PRINTF) "%s" $(call ShellQuote, $1) >> $2)
endif

¤ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.


Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.


Bot Zugriff