112 lines
2.7 KiB
Makefile
112 lines
2.7 KiB
Makefile
REPO=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
|
REPO_GOPATH=$(REPO)/go
|
|
MINIFY=$(REPO_GOPATH)/bin/minify
|
|
STATIC_DIR=$(REPO)/contrib/static
|
|
JS=$(STATIC_DIR)/nntpchan.js
|
|
MINER_JS=$(STATIC_DIR)/miner-js.js
|
|
CONTRIB_JS=$(REPO)/contrib/js/contrib
|
|
LOCAL_JS=$(REPO)/contrib/js/nntpchan
|
|
VENDOR_JS=$(REPO)/contrib/js/vendor
|
|
SRND_DIR=$(REPO)/contrib/backends/srndv2
|
|
NNTPCHAND_DIR=$(REPO)/contrib/backends/nntpchand
|
|
NNTPCHAN_DAEMON_DIR=$(REPO)/contrib/backends/nntpchan-daemon
|
|
SRND=$(REPO)/srndv2
|
|
NNTPCHAND=$(REPO)/nntpchand
|
|
NNTPD=$(REPO)/nntpd
|
|
|
|
GOROOT=$(shell go env GOROOT)
|
|
GO=$(GOROOT)/bin/go
|
|
|
|
GOPHERJS_GOROOT ?= $(GOROOT)
|
|
GOPHERJS_GO = $(GOPHERJS_GOROOT)/bin/go
|
|
|
|
GOPHERJS_GOPATH=$(REPO)/gopherjs_go
|
|
GOPHERJS=$(GOPHERJS_GOPATH)/bin/gopherjs
|
|
|
|
all: clean build
|
|
|
|
build: js srnd
|
|
|
|
full: clean full-build
|
|
|
|
full-build: srnd beta native
|
|
|
|
js: $(JS)
|
|
|
|
srnd: $(SRND)
|
|
|
|
$(MINIFY):
|
|
GOPATH=$(REPO_GOPATH) $(GO) get -v github.com/tdewolff/minify/cmd/minify
|
|
|
|
$(GOPHERJS):
|
|
GOROOT=$(GOPHERJS_GOROOT) GOPATH=$(GOPHERJS_GOPATH) $(GOPHERJS_GO) get -v github.com/gopherjs/gopherjs
|
|
|
|
js-deps: $(MINIFY)
|
|
|
|
$(MINER_JS): $(GOPHERJS) $(MINIFY)
|
|
rm -rf $(GOPHERJS_GOPATH)/pkg/
|
|
cp -rf $(SRND_DIR)/src/github.com $(GOPHERJS_GOPATH)/src/
|
|
GOROOT=$(GOPHERJS_GOROOT) GOPATH=$(GOPHERJS_GOPATH) $(GOPHERJS) -m -v build github.com/ZiRo-/cuckgo/miner_js -o miner.js
|
|
$(MINIFY) --mime=text/javascript > $(STATIC_DIR)/miner-js.js < miner.js
|
|
rm -f miner.js.map miner.js
|
|
|
|
$(JS): js-deps
|
|
rm -f $(JS)
|
|
for f in $(CONTRIB_JS)/*.js ; do $(MINIFY) --mime=text/javascript >> $(JS) < $$f ; done
|
|
$(MINIFY) --mime=text/javascript >> $(JS) < $(REPO)/contrib/js/entry.js
|
|
for f in $(LOCAL_JS)/*.js ; do $(MINIFY) --mime=text/javascript >> $(JS) < $$f ; done
|
|
for f in $(VENDOR_JS)/*.js ; do $(MINIFY) --mime=text/javascript >> $(JS) < $$f ; done
|
|
|
|
|
|
$(SRND):
|
|
GOROOT=$(GOROOT) $(MAKE) -C $(SRND_DIR)
|
|
cp $(SRND_DIR)/srndv2 $(SRND)
|
|
|
|
beta: $(NNTPCHAND)
|
|
|
|
$(NNTPCHAND):
|
|
GOROOT=$(GOROOT) $(MAKE) -C $(NNTPCHAND_DIR)
|
|
cp $(NNTPCHAND_DIR)/nntpchand $(NNTPCHAND)
|
|
|
|
native: $(NNTPD)
|
|
|
|
$(NNTPD):
|
|
$(MAKE) -C $(NNTPCHAN_DAEMON_DIR)
|
|
cp $(NNTPCHAN_DAEMON_DIR)/nntpd $(NNTPD)
|
|
|
|
test: test-srnd
|
|
|
|
test-full: test-srnd test-beta test-native
|
|
|
|
test-srnd:
|
|
GOROOT=$(GOROOT) $(MAKE) -C $(SRND_DIR) test
|
|
|
|
test-beta:
|
|
GOROOT=$(GOROOT) $(MAKE) -C $(NNTPCHAND_DIR) test
|
|
|
|
test-native:
|
|
GOROOT=$(GOROOT) $(MAKE) -C $(NNTPCHAN_DAEMON_DIR) test
|
|
|
|
|
|
clean: clean-srnd clean-js
|
|
|
|
clean-full: clean clean-beta clean-native clean-js
|
|
|
|
clean-srnd:
|
|
rm -f $(SRND)
|
|
GOROOT=$(GOROOT) $(MAKE) -C $(SRND_DIR) clean
|
|
|
|
clean-js:
|
|
rm -f $(JS) $(MINER_JS)
|
|
|
|
clean-beta:
|
|
rm -f $(NNTPCHAND)
|
|
GOROOT=$(GOROOT) $(MAKE) -C $(NNTPCHAND_DIR) clean
|
|
|
|
clean-native:
|
|
rm -f $(NNTPD)
|
|
$(MAKE) -C $(NNTPCHAN_DAEMON_DIR) clean
|
|
|
|
distclean: clean
|
|
rm -rf $(REPO_GOPATH)
|