42 lines
917 B
Makefile
42 lines
917 B
Makefile
CC := cc
|
|
CFLAGS := -std=c99 -Wall -Wpedantic -Werror=implicit -Wmissing-prototypes -O2 -g -Isrc
|
|
LDFLAGS :=
|
|
|
|
GEN_SRC := $(wildcard src/gen/*.c)
|
|
GEN_OBJ := $(GEN_SRC:src/%.c=obj/%.o)
|
|
|
|
.PHONY: all clean genesis test stress godot godot-clean
|
|
all: genesis
|
|
|
|
test: bin/genesis
|
|
@bash test/run_tests.sh
|
|
|
|
stress: bin/genesis
|
|
@./bin/genesis --stress 5000
|
|
|
|
godot:
|
|
@cd godot && scons -j$$(nproc) platform=linux target=template_debug
|
|
|
|
godot-clean:
|
|
@rm -rf godot/build godot/godot-cpp/bin demo/addons/brogue_gen
|
|
|
|
genesis: bin/genesis
|
|
|
|
bin/genesis: $(GEN_OBJ) obj/genesis_main.o obj/json_emit.o
|
|
@mkdir -p bin
|
|
$(CC) $(LDFLAGS) -o $@ $^ -lm
|
|
|
|
obj/%.o: src/%.c
|
|
@mkdir -p $(dir $@)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
obj/genesis_main.o: src/genesis_main.c
|
|
@mkdir -p $(dir $@)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
obj/json_emit.o: src/json_emit.c src/json_emit.h
|
|
@mkdir -p $(dir $@)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
clean:
|
|
rm -rf obj bin
|