project = fencer source = $(shell find src/ -type f -name *.c) libraries = -lSDL2 -lSDL2_image $(shell xml2-config --cflags --libs) includes = -Iinclude -Isrc args_debug = -Wall -g3 args_package = -g0 # build from source build: cc $(source) $(args_debug) -o bin/$(project) $(libraries) $(includes) 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) p: package # clean up build directories clean: rm -rf $(project) rm -f bin/$(project) c: clean