CGO_CFLAGS:=-I$(CURDIR)/vendor/libucl/include CGO_LDFLAGS:=-L$(CURDIR)/vendor/libucl LIBUCL_NAME=libucl.a TEST?=./... # Windows-only ifeq ($(OS), Windows_NT) # The Libucl library is named libucl.dll LIBUCL_NAME=libucl.dll # Add the current directory on the path so the DLL is available. export PATH := $(CURDIR):$(PATH) endif export CGO_CFLAGS CGO_LDFLAGS PATH default: test dev: libucl @sh -c "$(CURDIR)/scripts/build.sh" libucl: vendor/libucl/$(LIBUCL_NAME) test: libucl TF_ACC= go test $(TEST) $(TESTARGS) -timeout=10s testacc: libucl @if [ "$(TEST)" = "./..." ]; then \ echo "ERROR: Set TEST to a specific package"; \ exit 1; \ fi TF_ACC=1 go test $(TEST) -v $(TESTARGS) testrace: libucl go test -race $(TEST) $(TESTARGS) updatedeps: go get -u -v ./... vendor/libucl/libucl.a: vendor/libucl cd vendor/libucl && \ cmake cmake/ && \ make vendor/libucl/libucl.dll: vendor/libucl cd vendor/libucl && \ $(MAKE) -f Makefile.w32 && \ cp .obj/libucl.dll . && \ cp libucl.dll $(CURDIR) vendor/libucl: rm -rf vendor/libucl mkdir -p vendor/libucl git clone https://github.com/vstakhov/libucl.git vendor/libucl clean: rm -rf vendor .PHONY: clean default libucl test updatedeps