master
mk 24 lines 699 Bytes
Raw
1 include mk/header.mk
2
3 $(d)_plugins:=
4 $(d)_plugins_so:=$(addsuffix .so,$($(d)_plugins))
5 $(d)_plugins_main:=$(addsuffix /main/main.go,$($(d)_plugins))
6
7
8 $($(d)_plugins_main): d:=$(d)
9 $($(d)_plugins_main):
10 $(d)/gen_main.sh "$(dir $@).." "$(call go-pkg-name,$(dir $@)/..)"
11 $(GOCC) fmt $@ >/dev/null
12
13 $($(d)_plugins_so): %.so : %/main/main.go
14 $($(d)_plugins_so): $$(DEPS_GO) ALWAYS
15 $(GOCC) build -buildmode=plugin -pkgdir "$(GOPATH)/pkg/linux_amd64_dynlink" $(go-flags-with-tags) -o "$@" "$(call go-pkg-name,$(basename $@))/main"
16 chmod +x "$@"
17
18 CLEAN += $($(d)_plugins_so)
19 CLEAN += $(foreach main_dir,$($(d)_plugins_main),$(dir $(main_dir)))
20
21 build_plugins: $($(d)_plugins_so)
22
23
24 include mk/footer.mk