51 lines
1001 B
Makefile
51 lines
1001 B
Makefile
CGO_CFLAGS:=-I$(CURDIR)/vendor/libucl/include
|
|
CGO_LDFLAGS:=-L$(CURDIR)/vendor/libucl
|
|
LIBUCL_NAME=libucl.a
|
|
TEST?=./...
|
|
TESTARGS?=-timeout=5s
|
|
|
|
# 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
|
|
go test $(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
|