2014-05-23 01:56:28 +02:00
|
|
|
CGO_CFLAGS:=-I$(CURDIR)/vendor/libucl/include
|
|
|
|
CGO_LDFLAGS:=-L$(CURDIR)/vendor/libucl
|
|
|
|
LIBUCL_NAME=libucl.a
|
|
|
|
TEST?=./...
|
2014-06-24 23:16:26 +02:00
|
|
|
TESTARGS?=-timeout=5s
|
2014-05-23 01:56:28 +02:00
|
|
|
|
2014-05-30 02:26:32 +02:00
|
|
|
# Windows-only
|
2014-05-23 01:56:28 +02:00
|
|
|
ifeq ($(OS), Windows_NT)
|
2014-05-30 02:26:32 +02:00
|
|
|
# The Libucl library is named libucl.dll
|
2014-05-23 01:56:28 +02:00
|
|
|
LIBUCL_NAME=libucl.dll
|
2014-05-30 02:26:32 +02:00
|
|
|
|
|
|
|
# Add the current directory on the path so the DLL is available.
|
|
|
|
export PATH := $(CURDIR):$(PATH)
|
2014-05-23 01:56:28 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
export CGO_CFLAGS CGO_LDFLAGS PATH
|
|
|
|
|
2014-05-24 02:00:51 +02:00
|
|
|
default: test
|
|
|
|
|
2014-06-07 05:25:17 +02:00
|
|
|
dev: libucl
|
2014-06-26 20:11:21 +02:00
|
|
|
@sh -c "$(CURDIR)/scripts/build.sh"
|
2014-06-07 05:25:17 +02:00
|
|
|
|
2014-05-23 01:56:28 +02:00
|
|
|
libucl: vendor/libucl/$(LIBUCL_NAME)
|
|
|
|
|
|
|
|
test: libucl
|
2014-06-24 23:16:26 +02:00
|
|
|
go test $(TEST) $(TESTARGS)
|
2014-05-23 01:56:28 +02:00
|
|
|
|
2014-07-01 19:04:23 +02:00
|
|
|
testrace: libucl
|
|
|
|
go test -race $(TEST) $(TESTARGS)
|
|
|
|
|
2014-06-26 19:33:39 +02:00
|
|
|
updatedeps:
|
|
|
|
go get -u -v ./...
|
|
|
|
|
2014-05-23 01:56:28 +02:00
|
|
|
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
|
|
|
|
|
2014-06-26 19:33:39 +02:00
|
|
|
.PHONY: clean default libucl test updatedeps
|