53 lines
		
	
	
		
			No EOL
		
	
	
		
			891 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			No EOL
		
	
	
		
			891 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # Go parameters
 | |
| GOCMD = go
 | |
| GOBUILD = $(GOCMD) build
 | |
| GOCLEAN = $(GOCMD) clean
 | |
| GOTEST = $(GOCMD) test
 | |
| GOGET = $(GOCMD) get
 | |
| 
 | |
| # SQLite database filename
 | |
| DB_FILE = db.sqlite3
 | |
| 
 | |
| # Directory containing migration SQL scripts
 | |
| MIGRATIONS_DIR = migrations
 | |
| 
 | |
| # Build target
 | |
| build:
 | |
| 	$(GOBUILD) -o bin/server cmd/*.go
 | |
| 
 | |
| # Run target
 | |
| run: build
 | |
| 	./bin/server
 | |
| 
 | |
| watch: build
 | |
| 	watchexec -w . -r make run
 | |
| 
 | |
| # Clean target
 | |
| clean:
 | |
| 	$(GOCLEAN)
 | |
| 	rm -rf bin
 | |
| 	rm -f db.sqlite3
 | |
| 
 | |
| # Test target
 | |
| test:
 | |
| 	$(GOTEST) ./...
 | |
| 
 | |
| # Get dependencies target
 | |
| deps:
 | |
| 	$(GOGET) -v ./...
 | |
| 
 | |
| # Update dependencies target
 | |
| update:
 | |
| 	$(GOGET) -u -v ./...
 | |
| 	$(GOCMD) mod tidy
 | |
| 
 | |
| # Migration target
 | |
| migrate:
 | |
| 	@echo "Migrating database $(DB_FILE) using SQL scripts in $(MIGRATIONS_DIR)"
 | |
| 	@for file in $(wildcard $(MIGRATIONS_DIR)/*.sql); do \
 | |
| 		echo "Applying migration: $$file"; \
 | |
| 		sqlite3 $(DB_FILE) < $$file; \
 | |
| 	done
 | |
| 
 | |
| # Default target
 | |
| default: build	 | 
