-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
56 lines (43 loc) · 1.33 KB
/
Makefile
File metadata and controls
56 lines (43 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
VERSION ?= $(shell git describe --tags --always --dirty)
BUILDTIME := $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
BUILDER := $(shell echo "`git config user.name` <`git config user.email`>")
CGO_ENABLED ?= 1
MODULE_PATHS ?= "$(PWD)/nitrogen"
LDFLAGS := -X 'main.version=$(VERSION)' \
-X 'main.buildTime=$(BUILDTIME)' \
-X 'main.builder=$(BUILDER)' \
-X 'main.builtinModPaths=$(MODULE_PATHS)' \
-s -w
.PHONY: go-test nitrogen-test build modules build-tools buildc buildrun clean
all: build-tools
build-tools: buildc buildrun build buildscgi
buildrun:
go build -o bin/nitrogenrun -ldflags="$(LDFLAGS)" ./cmd/nitrogenrun/...
buildc:
go build -o bin/nitrogenc -ldflags="$(LDFLAGS)" ./cmd/nitrogenc/...
build:
go build -o bin/nitrogen -ldflags="$(LDFLAGS)" ./cmd/nitrogen/...
buildscgi:
go build -o bin/nitrogenscgi -ldflags="$(LDFLAGS)" ./cmd/nitrogenscgi/...
test: go-test nitrogen-test
go-test:
go test ./...
nitrogen-test:
./tests/run_tests.sh
clean:
rm -rf ./bin/*
rm -rf ./built-modules/*
find . -name "*.nib" -delete
modules:
ifeq ($(CGO_ENABLED),1)
rm -f ./built-modules/*
@p="$$(pwd)"; \
for m in ./modules/*; do \
cd "$$m"; \
echo "Building module $$(basename $$m).so"; \
go build -buildmode=plugin -o "../../built-modules/$$(basename $$m).so" .; \
cd "$$p"; \
done
else
@echo "CGO disabled, not building modules"
endif