Sha256: ac8e05e6e0bec3737ffceebe8886c772d66b4e51f3800d96236ab3cdf4493ba6

Contents?: true

Size: 1.67 KB

Versions: 6

Compression:

Stored size: 1.67 KB

Contents

#!/bin/bash

cd $(cd $(dirname $0); pwd)

if [[ $1 = "-" ]]; then
    # do self build
    case `uname -s` in
        (Linux)
            os="linux"
            ;;
        (Darwin)
            os="darwin"
            ;;
        (*)
            os=""
            ;;
    esac
    case `uname -m` in
        (x86_64|amd64)
            arch="amd64"
            ;;
        (*)
            arch=""
            ;;
    esac

    TARGET=("${os} ${arch}")
else
    # cross build
    TARGET=("linux amd64"  "darwin amd64")
fi

set -e

GO_DEPS=$(ls subsystem/*.go utils.go)

makefile=`mktemp`

cat <<EOF > $makefile
# DO NOT EDIT MANUALLY
# generated by build.sh

GO_DEPS := $(echo ${GO_DEPS})

.PHONY: all build clean

all: build

EOF

TARGETS=()

for idx in $(seq 0 $((${#TARGET[@]}-1))); do
    set -- ${TARGET[$idx]}
    export var_GOOS=$1
    export var_GOARCH=$2

    for subcmd in recorder player viewer summarizer plot-formatter; do
        TARGETS+=(../lib/exec/perfmonger-${subcmd}_${var_GOOS}_${var_GOARCH})

        cat <<EOF >> $makefile

../lib/exec/perfmonger-${subcmd}_${var_GOOS}_${var_GOARCH}: cmd/perfmonger-${subcmd}/perfmonger-${subcmd}.go \$(GO_DEPS)
	cd cmd/perfmonger-${subcmd} && go build -o ../../\$@ perfmonger-$subcmd.go

EOF
    done

    # go build -o ../lib/exec/perfmonger-recorder_${var_GOOS}_${var_GOARCH} \
    #     perfmonger-recorder.go &
    # go build -o ../lib/exec/perfmonger-player_${var_GOOS}_${var_GOARCH} \
    #     perfmonger-player.go &
    # go build -o ../lib/exec/perfmonger-summarizer_${var_GOOS}_${var_GOARCH} \
    #    perfmonger-summarizer.go &

done

cat <<EOF >> $makefile

build: ${TARGETS[*]}

clean:
	rm -f ${TARGETS[*]}

EOF

mv $makefile ./Makefile

make

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
perfmonger-0.14.4 core/build.sh
perfmonger-0.14.2 core/build.sh
perfmonger-0.14.1 core/build.sh
perfmonger-0.14.0 core/build.sh
perfmonger-0.13.1 core/build.sh
perfmonger-0.12.1 core/build.sh