Skip to content
Snippets Groups Projects
Makefile 1.38 KiB
Newer Older
  • Learn to ignore specific revisions
  • Christian Pointner's avatar
    Christian Pointner committed
    ##
    
    Christian Pointner's avatar
    Christian Pointner committed
    ##  tank, Import and Playlist Daemon for Aura project
    ##  Copyright (C) 2017-2020 Christian Pointner <equinox@helsinki.at>
    
    Christian Pointner's avatar
    Christian Pointner committed
    ##
    
    Christian Pointner's avatar
    Christian Pointner committed
    ##  This program is free software: you can redistribute it and/or modify
    ##  it under the terms of the GNU Affero General Public License as
    ##  published by the Free Software Foundation, either version 3 of the
    ##  License, or (at your option) any later version.
    
    Christian Pointner's avatar
    Christian Pointner committed
    ##
    
    Christian Pointner's avatar
    Christian Pointner committed
    ##  This program is distributed in the hope that it will be useful,
    
    Christian Pointner's avatar
    Christian Pointner committed
    ##  but WITHOUT ANY WARRANTY; without even the implied warranty of
    ##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    Christian Pointner's avatar
    Christian Pointner committed
    ##  GNU Affero General Public License for more details.
    
    Christian Pointner's avatar
    Christian Pointner committed
    ##
    
    Christian Pointner's avatar
    Christian Pointner committed
    ##  You should have received a copy of the GNU Affero General Public License
    ##  along with this program.  If not, see <https://www.gnu.org/licenses/>.
    
    Christian Pointner's avatar
    Christian Pointner committed
    ##
    
    GOCMD := go
    ifdef GOROOT
    GOCMD = $(GOROOT)/bin/go
    endif
    
    
    SWAG := swag
    ifdef GOPATH
    SWAG = $(GOPATH)/bin/swag
    endif
    
    SWAG_ARGS := -d api/v1/ -g api.go
    
    Christian Pointner's avatar
    Christian Pointner committed
    EXECUTEABLE := tank
    
    all: build
    
    .PHONY: vet format ui build clean distclean
    
    	$(GOCMD) vet ./...
    
    Christian Pointner's avatar
    Christian Pointner committed
    
    format:
    
    	$(GOCMD) fmt ./...
    
    	$(GOCMD) generate ./ui
    
    fmt-api-docs:
    
    robwa's avatar
    robwa committed
    	$(SWAG) fmt $(SWAG_ARGS)
    
    
    api-docs:
    	$(SWAG) init $(SWAG_ARGS) --pd -o api/docs
    
    build: ui
    
    	$(GOCMD) build -o $(EXECUTEABLE) ./cmd/tank
    
    dev:
    	$(GOCMD) build -o $(EXECUTEABLE) -tags=dev ./cmd/tank
    
    
    Christian Pointner's avatar
    Christian Pointner committed
    clean:
    	rm -f $(EXECUTEABLE)
    
    
    distclean: clean
    	rm -f ui/assets_vfsdata.go