40 lines
		
	
	
		
			931 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			931 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| project = fencer
 | |
| source = $(shell find src/ -type f -name *.c)
 | |
| libraries = -lSDL2 -lSDL2_image -lcjson -lm
 | |
| includes = -Iinclude -Isrc
 | |
| 
 | |
| args_debug = -Wall -g3 -DVMATH_SDL=1
 | |
| args_package = -g0 -DVMATH_SDL=1
 | |
| 
 | |
| # build from source
 | |
| build:
 | |
| 	cc $(source) $(args_debug) -o bin/$(project) $(libraries) $(includes) $(CFLAGS)
 | |
| b: build
 | |
| 
 | |
| # build and run using debugger
 | |
| run: build
 | |
| 	gdb -x run.gdb -- bin/$(project)
 | |
| r: run
 | |
| 
 | |
| # same as run, but giving you a chance to configure the debugger/set breakpoints before running
 | |
| debug:
 | |
| 	gdb -- bin/$(project)
 | |
| d: debug
 | |
| 
 | |
| # package project for release
 | |
| build-package: clean-package
 | |
| 	mkdir packaged/
 | |
| 	cp -rf $(project)/ packaged/resources/
 | |
| 	# copy maps
 | |
| 	cp -rf $(project)/simplified/* packaged/resources/
 | |
| 	cc $(source) -o packaged/$(project) $(args_package) $(libraries) $(includes) $(CFLAGS)
 | |
| p: build-package
 | |
| 
 | |
| # clean up build directories
 | |
| clean:
 | |
| 	rm -f bin/$(project)
 | |
| c: clean
 | |
| 
 | |
| clean-package:
 | |
| 	rm -rf packaged
 | 
