mirror of
				https://github.com/taigrr/wtf
				synced 2025-01-18 04:03:14 -08:00 
			
		
		
		
	This is to avoid conflict with the venerable 'wtf' acronym utility found here https://sourceforge.net/projects/bsdwtf/
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| .PHONY: contrib_check dependencies install run size test
 | |
| 
 | |
| # detect GOPATH if not set
 | |
| ifndef $(GOPATH)
 | |
| 		$(info GOPATH is not set, autodetecting..)
 | |
| 		TESTPATH := $(dir $(abspath ../../..))
 | |
| 		DIRS := bin pkg src
 | |
| 		# create a ; separated line of tests and pass it to shell
 | |
| 		MISSING_DIRS := $(shell $(foreach entry,$(DIRS),test -d "$(TESTPATH)$(entry)" || echo "$(entry)";))
 | |
| 		ifeq ($(MISSING_DIRS),)
 | |
| 				$(info Found GOPATH: $(TESTPATH))
 | |
| 				export GOPATH := $(TESTPATH)
 | |
| 		else
 | |
| 				$(info ..missing dirs "$(MISSING_DIRS)" in "$(TESTDIR)")
 | |
| 				$(info GOPATH autodetection failed)
 | |
| 		endif
 | |
| endif
 | |
| 
 | |
| # Set go modules to on and use GoCenter for immutable modules
 | |
| export GO111MODULE = on
 | |
| export GOPROXY = https://gocenter.io
 | |
| 
 | |
| build:
 | |
| 	go build -o bin/wtfutil
 | |
| 
 | |
| contrib_check:
 | |
| 	npx all-contributors-cli check
 | |
| 
 | |
| install:
 | |
| 	@go clean
 | |
| 	@go install -ldflags="-s -w -X main.version=$(shell git describe --always --abbrev=6) -X main.date=$(shell date +%FT%T%z)"
 | |
| 	@mv ~/go/bin/wtf ~/go/bin/wtfutil
 | |
| 	@which wtfutil || echo "Could not find wtfutil in PATH" && exit 0
 | |
| 
 | |
| lint:
 | |
| 	structcheck ./...
 | |
| 	varcheck ./...
 | |
| 
 | |
| run: build
 | |
| 	bin/wtfutil
 | |
| 
 | |
| size:
 | |
| 	loc --exclude _sample_configs/ _site/ docs/ Makefile *.md
 | |
| 
 | |
| test: build
 | |
| 	go test ./...
 | |
| 
 | |
| uninstall:
 | |
| 	@rm ~/go/bin/wtfutil
 |