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 ugdb -xrun.gdb -- bin/$(project) r: run # same as run, but giving you a chance to configure the debugger/set breakpoints before running debug: build ugdb -- bin/$(project) d: debug # package project for release package: clean mkdir $(project) cp -r resources/ $(project)/resources/ cc $(source) -o $(project)/$(project) $(args_package) $(libraries) $(includes) $(CFLAGS) p: package # clean up build directories clean: rm -rf $(project) rm -f bin/$(project) c: clean