113 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			113 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)
 | |
| 	rm -rf $(GOPHERJS_GOPATH)
 |