#!/bin/bash # Copyright 2016 The Kubernetes Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. set -o errexit set -o nounset set -o pipefail readonly red=$(tput setaf 1) readonly reset=$(tput sgr0) KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../.. ALL_TARGETS=$(make -C "${KUBE_ROOT}" PRINT_HELP=y -rpn | sed -n -e '/^$/ { n ; /^[^ .#][^ ]*:/ { s/:.*$// ; p ; } ; }' | sort) CMD_TARGETS=$(ls -l "${KUBE_ROOT}/cmd" |awk '/^d/ {print $NF}') PLUGIN_CMD_TARGETS=$(ls -l "${KUBE_ROOT}/plugin/cmd" |awk '/^d/ {print $NF}') CMD_FLAG=false PLUGIN_CMD_FLAG=false echo "--------------------------------------------------------------------------------" for tar in $ALL_TARGETS; do for cmdtar in $CMD_TARGETS; do if [ $tar = $cmdtar ]; then if [ $CMD_FLAG = true ]; then continue 2; fi echo -e "${red}${CMD_TARGETS}${reset}" make -C "${KUBE_ROOT}" $tar PRINT_HELP=y echo "---------------------------------------------------------------------------------" CMD_FLAG=true continue 2 fi done for plugincmdtar in $PLUGIN_CMD_TARGETS; do if [ $tar = $plugincmdtar ]; then if [ $PLUGIN_CMD_FLAG = true ]; then continue 2; fi echo -e "${red}${PLUGIN_CMD_TARGETS}${reset}" make -C "${KUBE_ROOT}" $tar PRINT_HELP=y echo "---------------------------------------------------------------------------------" PLUGIN_CMD_FLAG=true continue 2 fi done echo -e "${red}${tar}${reset}" make -C "${KUBE_ROOT}" $tar PRINT_HELP=y echo "---------------------------------------------------------------------------------" done