30 lines
902 B
Makefile
30 lines
902 B
Makefile
# https://github.com/open-mpi/ompi/issues/5157
|
|
CPP_ARGS = -std=c++20 -O2 -Wall -Wextra -Iinclude -ggdb $(shell mpic++ --showme:compile) -DOMPI_SKIP_MPICXX
|
|
MPI_LD_ARGS = $(shell mpic++ --showme:link)
|
|
|
|
GTKMM_CPP_ARGS = $(shell pkg-config --cflags gtkmm-4.0)
|
|
GTKMM_LD_ARGS = $(shell pkg-config --libs gtkmm-4.0)
|
|
|
|
default: bin/bench bin/tabulator
|
|
|
|
clean:
|
|
rm -r obj bin
|
|
|
|
bin/bench: obj/bench/main.o obj/bench/bench_window.o obj/bench/core_widget.o obj/lib94.o
|
|
@mkdir -p $(dir $@)
|
|
g++ ${CPP_ARGS} $^ ${MPI_LD_ARGS} ${GTKMM_LD_ARGS} -o $@
|
|
|
|
bin/tabulator: obj/tabulator/tabulator.o obj/lib94.o
|
|
@mkdir -p $(dir $@)
|
|
g++ ${CPP_ARGS} $^ ${MPI_LD_ARGS} -o $@
|
|
|
|
obj/lib94.o: obj/lib94/core.o obj/lib94/executors.o obj/lib94/warrior.o
|
|
ld -r $^ -o $@
|
|
|
|
obj/bench/%.o: bench/%.cpp
|
|
@mkdir -p $(dir $@)
|
|
g++ -c ${CPP_ARGS} ${GTKMM_CPP_ARGS} $^ -o $@
|
|
|
|
obj/%.o: %.cpp
|
|
@mkdir -p $(dir $@)
|
|
g++ -c ${CPP_ARGS} $^ -o $@
|