| 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 |