fencer/Makefile
2023-10-06 23:42:05 +02:00

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