35 lines
780 B
Makefile
35 lines
780 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
|
|
|
|
# start debugger with target
|
|
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
|