Makefile: build static binaries only
This replaces the older way which just does the following: go install . and go test -v . Instead, `make` and `make test` will now build TinyGo statically linked against LLVM, so that `go install` and `go test -v` should be used manually.
Этот коммит содержится в:
родитель
2a0a7722f9
коммит
6c63a0d6e7
3 изменённых файлов: 7 добавлений и 14 удалений
|
@ -87,7 +87,7 @@ commands:
|
|||
- go-cache-{{ checksum "Gopkg.lock" }}
|
||||
- dep
|
||||
- run: go install .
|
||||
- run: make test
|
||||
- run: go test -v
|
||||
- run: make gen-device -j4
|
||||
- smoketest
|
||||
- save_cache:
|
||||
|
@ -162,7 +162,7 @@ commands:
|
|||
- dep
|
||||
- run:
|
||||
name: "Test TinyGo"
|
||||
command: make static-test
|
||||
command: make test
|
||||
- run:
|
||||
name: "Build TinyGo release"
|
||||
command: |
|
||||
|
@ -227,7 +227,7 @@ commands:
|
|||
command: dep ensure --vendor-only
|
||||
- run:
|
||||
name: "Test TinyGo"
|
||||
command: make static-test
|
||||
command: make test
|
||||
- run:
|
||||
name: "Build TinyGo release"
|
||||
command: |
|
||||
|
|
|
@ -92,7 +92,7 @@ Now that you have a working version of LLVM, build TinyGo using it. You need to
|
|||
specify the directories to the LLVM build directory and to the Clang and LLD source.
|
||||
|
||||
cd $HOME/go/src/github.com/tinygo-org/tinygo
|
||||
make static LLVM_BUILDDIR=$HOME/src/llvm-build CLANG_SRC=$HOME/src/llvm/tools/clang LLD_SRC=$HOME/src/llvm/tools/lld
|
||||
make LLVM_BUILDDIR=$HOME/src/llvm-build CLANG_SRC=$HOME/src/llvm/tools/clang LLD_SRC=$HOME/src/llvm/tools/lld
|
||||
|
||||
## Verify TinyGo
|
||||
|
||||
|
|
13
Makefile
13
Makefile
|
@ -3,7 +3,7 @@
|
|||
all: tinygo
|
||||
tinygo: build/tinygo
|
||||
|
||||
.PHONY: all tinygo llvm-build llvm-source static run-test clean fmt gen-device gen-device-nrf gen-device-avr
|
||||
.PHONY: all tinygo build/tinygo test llvm-build llvm-source clean fmt gen-device gen-device-nrf gen-device-avr
|
||||
|
||||
# Default build and source directories, as created by `make llvm-build`.
|
||||
LLVM_BUILDDIR ?= llvm-build
|
||||
|
@ -38,9 +38,6 @@ fmt:
|
|||
fmt-check:
|
||||
@unformatted=$$(gofmt -l $(FMT_PATHS)); [ -z "$$unformatted" ] && exit 0; echo "Unformatted:"; for fn in $$unformatted; do echo " $$fn"; done; exit 1
|
||||
|
||||
test:
|
||||
@go test -v .
|
||||
|
||||
gen-device: gen-device-avr gen-device-nrf gen-device-sam gen-device-stm32
|
||||
|
||||
gen-device-avr:
|
||||
|
@ -81,17 +78,13 @@ llvm-build: llvm-build/build.ninja
|
|||
|
||||
# Build the Go compiler.
|
||||
build/tinygo:
|
||||
@mkdir -p build
|
||||
go build -o build/tinygo .
|
||||
|
||||
static:
|
||||
@if [ ! -f llvm-build/bin/llvm-config ]; then echo "Fetch and build LLVM first by running:\n make llvm-source\n make llvm-build"; exit 1; fi
|
||||
CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" go build -o build/tinygo -tags byollvm .
|
||||
|
||||
static-test:
|
||||
test:
|
||||
CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" go test -v -tags byollvm .
|
||||
|
||||
release: static gen-device
|
||||
release: build/tinygo gen-device
|
||||
@mkdir -p build/release/tinygo/bin
|
||||
@mkdir -p build/release/tinygo/lib/CMSIS/CMSIS
|
||||
@mkdir -p build/release/tinygo/lib/compiler-rt/lib
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче