#!/usr/bin/make -f # This file is in the public domain. # You may freely use, modify, distribute, and relicense it. PACKAGE = golang libexecdir := /usr/lib/go datadir := /usr/share/go bindir := /bin build clean install binary-arch binary-indep binary: +dh --parallel $(opt_no_act) $@ override_dh_auto_clean: rm -rf bin rm -f debian/*+ rm -f debian/build.stamp : NEEDSWORK: update src/pkg/Makefile. #cd src/pkg && $(GOBIN)/gomake exp/ogle.clean rm -f src/pkg/Make.deps rm -f test/pass.out test/run.out test/times.out override_dh_auto_build: debian/build.stamp override_dh_auto_test: : # $(no_check) || { cd src && bash ./run.bash --no-rebuild; } override_dh_compress: dh_compress -Xusr/share/doc/golang-doc/html -Xusr/share/doc/golang-doc/godoc override_dh_auto_install: for cmd in a c g l; do ln -s $(GOPREFIX)$$cmd $(CURDIR)$(bindir)/golang-$$cmd; done # remove RUNPATH from go binaries for cmd in goyacc ebnflint godoc govet gofmt goinstall cgo; do chrpath -d $(CURDIR)$(bindir)/$$cmd; done override_dh_install: dh_install --fail-missing for f in $$(find src/cmd -name doc.go ; find src/pkg -name \*.go); do \ install -D -m 0644 $$f debian/golang-src/$(datadir)/$$f; \ done make -f debian/native-symlinks.mk override_dh_strip: dh_strip -X".a" -Xgoinstall -Xgodoc -Xgoyacc -Xbin/cgo -Xebnflint -Xgofmt -Xgovet debian/build.stamp: rm -f debian/build.stamp mkdir -p $(GOBIN) +cd src && bash ./make.bash >debian/build.stamp opt_no_act = no_check = ! : ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) $(warning no support for disabling optimization) endif ifneq (,$(findstring n,$(MAKEFLAGS))) opt_no_act = --no-act endif ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) no_check = : endif GOROOT := $(CURDIR) GOROOT_FINAL := $(libexecdir) GOBIN := $(CURDIR)$(bindir) GOARM := DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null) DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null) DEB_BUILD_ARCH_OS := $(shell dpkg-architecture -qDEB_BUILD_ARCH_OS 2>/dev/null) DEB_BUILD_ARCH_CPU := $(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null) ifeq ($(DEB_BUILD_ARCH_OS), kfreebsd) GOHOSTOS := freebsd else ifeq ($(DEB_BUILD_ARCH_OS), linux) GOHOSTOS := linux else $(error unrecongized build host kernel $(DEB_BUILD_ARCH_OS)!) endif ifeq ($(DEB_HOST_ARCH_OS), kfreebsd) GOOS := freebsd else ifeq ($(DEB_HOST_ARCH_OS), linux) GOOS := linux else $(error unrecognized kernel $(DEB_HOST_ARCH_OS)!) endif ifeq ($(DEB_BUILD_ARCH_CPU), i386) GOHOSTARCH := 386 else ifeq ($(DEB_BUILD_ARCH_CPU), amd64) GOHOSTARCH := amd64 else ifeq ($(DEB_BUILD_ARCH_CPU), arm) GOHOSTARCH := arm else ifeq ($(DEB_BUILD_ARCH_CPU), armhf) GOHOSTARCH := arm else $(error unrecognized build host instruction set $(DEB_HOST_ARCH_CPU)!) endif ifeq ($(DEB_HOST_ARCH_CPU), i386) GOARCH := 386 GOPREFIX := 8 else ifeq ($(DEB_HOST_ARCH_CPU), amd64) GOARCH := amd64 GOPREFIX := 6 else ifeq ($(DEB_HOST_ARCH_CPU), arm) GOARCH := arm GOARM := 5 GOPREFIX := 5 else ifeq ($(DEB_HOST_ARCH_CPU), armhf) GOARCH := arm GOARM := 6 GOPREFIX := 5 else $(error unrecognized instruction set $(DEB_HOST_ARCH_CPU)!) endif export GOROOT GOROOT_FINAL GOOS GOARCH GOARM GOBIN GOHOSTARCH GOHOSTOS REPO = https://go.googlecode.com/hg/ REV = release get-orig-source: mkdir debian-orig-source -set -e; cd debian-orig-source; \ hg clone -r"$(REV)" "$(REPO)" go; \ ( \ cd go; \ VERSION=$$( \ hg identify -t -r"$(REV)" | \ perl -e '<> =~ /release\.(\d+)-(\d+)-(\d+)/; print "$$1.$$2.$$3"' \ ); \ hg archive -ttgz -p"google-go-$$VERSION/" -r"$(REV)" -X'.hg*' -X'doc/talks/go_talk-20091030.pdf' \ ../../google-go_$$VERSION.orig.tar.gz; \ ) rm -fr debian-orig-source .PHONY: build clean install binary-arch binary-indep binary