istio.io/istio@v0.0.0-20240520182934-d79c90f27776/Makefile (about)

     1  # WARNING: DO NOT EDIT, THIS FILE IS PROBABLY A COPY
     2  #
     3  # The original version of this file is located in the https://github.com/istio/common-files repo.
     4  # If you're looking at this file in a different repo and want to make a change, please go to the
     5  # common-files repo, make the change there and check it in. Then come back to this repo and run
     6  # "make update-common".
     7  
     8  # Copyright Istio Authors
     9  #
    10  # Licensed under the Apache License, Version 2.0 (the "License");
    11  # you may not use this file except in compliance with the License.
    12  # You may obtain a copy of the License at
    13  #
    14  #    http://www.apache.org/licenses/LICENSE-2.0
    15  #
    16  # Unless required by applicable law or agreed to in writing, software
    17  # distributed under the License is distributed on an "AS IS" BASIS,
    18  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    19  # See the License for the specific language governing permissions and
    20  # limitations under the License.
    21  
    22  SHELL := /bin/bash
    23  
    24  # allow optional per-repo overrides
    25  -include Makefile.overrides.mk
    26  
    27  # Set the environment variable BUILD_WITH_CONTAINER to use a container
    28  # to build the repo. The only dependencies in this mode are to have make and
    29  # docker. If you'd rather build with a local tool chain instead, you'll need to
    30  # figure out all the tools you need in your environment to make that work.
    31  export BUILD_WITH_CONTAINER ?= 0
    32  
    33  ifeq ($(BUILD_WITH_CONTAINER),1)
    34  
    35  # An export free of arguments in a Makefile places all variables in the Makefile into the
    36  # environment. This is needed to allow overrides from Makefile.overrides.mk.
    37  export
    38  
    39  RUN = ./common/scripts/run.sh
    40  
    41  MAKE_DOCKER = $(RUN) make --no-print-directory -e -f Makefile.core.mk
    42  
    43  %:
    44  	@$(MAKE_DOCKER) $@
    45  
    46  default:
    47  	@$(MAKE_DOCKER)
    48  
    49  shell:
    50  	@$(RUN) /bin/bash
    51  
    52  .PHONY: default shell
    53  
    54  else
    55  
    56  # If we are not in build container, we need a workaround to get environment properly set
    57  # Write to file, then include
    58  $(shell mkdir -p out)
    59  $(shell $(shell pwd)/common/scripts/setup_env.sh envfile > out/.env)
    60  include out/.env
    61  # An export free of arguments in a Makefile places all variables in the Makefile into the
    62  # environment. This behavior may be surprising to many that use shell often, which simply
    63  # displays the existing environment
    64  export
    65  
    66  export GOBIN ?= $(GOPATH)/bin
    67  include Makefile.core.mk
    68  
    69  endif