|
|
@ -3,10 +3,11 @@ debug_flags := -DDEBUG -Og -ggdb -feliminate-unused-debug-symbols |
|
|
|
sanitize_flags := -fsanitize=address -fsanitize=undefined |
|
|
|
# note: -fsanitize=leak not available on at least Mac 10.12
|
|
|
|
release_flags := -DNDEBUG -O2 -s -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fpie -Wl,-pie |
|
|
|
cli_library_flags := |
|
|
|
ifeq ($(shell uname -s), Darwin) |
|
|
|
library_flags := -lncurses |
|
|
|
tui_library_flags := -lncurses |
|
|
|
else |
|
|
|
library_flags := -lncursesw |
|
|
|
tui_library_flags := -lncursesw |
|
|
|
endif |
|
|
|
common_source_files := field.c sim.c |
|
|
|
tui_source_files := $(common_source_files) tui_main.c |
|
|
@ -22,22 +23,22 @@ build/debug build/release: | build |
|
|
|
|
|
|
|
.PHONY: debug_cli |
|
|
|
debug_cli: | build/debug |
|
|
|
@cc $(basic_flags) $(debug_flags) $(sanitize_flags) $(cli_source_files) -o build/debug/orca $(library_flags) |
|
|
|
@cc $(basic_flags) $(debug_flags) $(sanitize_flags) $(cli_source_files) -o build/debug/orca $(cli_library_flags) |
|
|
|
|
|
|
|
.PHONY: debug_tui |
|
|
|
debug_tui: | build/debug |
|
|
|
@cc $(basic_flags) $(debug_flags) $(sanitize_flags) $(tui_source_files) -o build/debug/orca_tui $(library_flags) |
|
|
|
@cc $(basic_flags) $(debug_flags) $(sanitize_flags) $(tui_source_files) -o build/debug/orca_tui $(tui_library_flags) |
|
|
|
|
|
|
|
.PHONY: debug |
|
|
|
debug: debug_cli |
|
|
|
|
|
|
|
.PHONY: release_cli |
|
|
|
release_cli: | build/release |
|
|
|
@cc $(basic_flags) $(release_flags) $(cli_source_files) -o build/release/orca $(library_flags) |
|
|
|
@cc $(basic_flags) $(release_flags) $(cli_source_files) -o build/release/orca $(cli_library_flags) |
|
|
|
|
|
|
|
.PHONY: release_tui |
|
|
|
release_tui: | build/release |
|
|
|
@cc $(basic_flags) $(release_flags) $(tui_source_files) -o build/release/orca_tui $(library_flags) |
|
|
|
@cc $(basic_flags) $(release_flags) $(tui_source_files) -o build/release/orca_tui $(tui_library_flags) |
|
|
|
|
|
|
|
.PHONY: release |
|
|
|
release: release_cli |
|
|
|