guru/sys-cluster/mpi-benchmarks/files/mpi-benchmarks-2021.3-makefile.patch
Alessandro Barbieri 13ba05d11b
sys-cluster/mpi-benchmarks: fix build with mpich
Closes: https://bugs.gentoo.org/850334
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
2022-06-10 05:58:04 +02:00

143 lines
3.5 KiB
Diff

--- a/src_c/Makefile
+++ b/src_c/Makefile
@@ -106,10 +106,10 @@
-mkdir -p $@
$(BINARY): $(OBJ)
- $(CC) $(LDFLAGS) $^ -o $@
+ $(CC) $(CFLAGS) -fPIE $(LDFLAGS) $^ -o $@
$(BUILDDIR)/%.o: %.c
- $(CC) $(CFLAGS) -D$(TARGET) -DIMB2018 -c $< -o $@
+ $(CC) $(CFLAGS) -fPIC -D$(TARGET) -DIMB2018 -c $< -o $@
clean:
rm -rf $(BUILDDIR) $(OBJ) $(BINARY)
--- a/src_c/P2P/Makefile
+++ b/src_c/P2P/Makefile
@@ -50,11 +50,11 @@
TARGET=P2P
BINARY:=IMB-P2P
-override CFLAGS += -O3 -Wall -Wextra -pedantic -Wno-long-long
+override CFLAGS += -Wall -Wextra -pedantic -Wno-long-long
override LDFLAGS += -lm
ifeq ($(origin CC),default)
-CC=mpiicc
+CC=mpicc
endif
all: $(BINARY)
@@ -72,10 +72,10 @@
IMB_OBJ = $(IMB_SRC:.c=.o)
$(BINARY): $(IMB_OBJ)
- $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
+ $(CC) $(CFLAGS) -fPIE -o $@ $^ $(LDFLAGS)
%.o: %.c
- $(CC) $(CFLAGS) -c -o $@ $<
+ $(CC) $(CFLAGS) -fPIC -c -o $@ $<
clean:
rm -f $(IMB_OBJ) $(BINARY)
--- a/src_cpp/Makefile
+++ b/src_cpp/Makefile
@@ -49,11 +49,7 @@
all: announce
-ifdef WITH_YAML_CPP
-all: libyaml-cpp.a
-else
all:
-endif
ifndef TARGET
TARGET=example
@@ -71,14 +67,14 @@
endif
ifeq ($(origin CC),default)
-CC=mpiicc
+CC ?= mpicc
endif
ifeq ($(origin CXX),default)
-CXX=mpiicpc
+CXX ?= mpicxx
endif
override CPPFLAGS += -I.
-override CFLAGS += -g -O0 -Wall -Wno-long-long
-override CXXFLAGS += -g -O0 -Wall -Wextra -pedantic -Wno-long-long
+override CFLAGS += -g -Wall -Wno-long-long
+override CXXFLAGS += -g -Wall -Wextra -pedantic -Wno-long-long
ifdef WITH_OPENMP
override CFLAGS += -fopenmp
override CXXFLAGS += -fopenmp
@@ -103,7 +99,7 @@
all: $(BINARY)
ifdef WITH_YAML_CPP
-override CPPFLAGS += -Iyamlcpp/include -Iyamlcpp/test
+override CPPFLAGS += -I/usr/include/yaml-cpp
YAMLCPP_SRC = yamlcpp/src/aliasmanager.cpp \
yamlcpp/src/binary.cpp \
yamlcpp/src/conversion.cpp \
@@ -140,8 +136,6 @@
yamlcpp/test/old-api/parsertests.cpp \
yamlcpp/test/old-api/spectests.cpp
-YAMLCPP_OBJ = $(YAMLCPP_SRC:.cpp=.o)
-YAMLCPP_TEST_OBJ = $(YAMLCPP_TEST_SRC:.cpp=.o)
endif
IMB_SRC = imb.cpp args_parser.cpp args_parser_utests.cpp scope.cpp
@@ -160,14 +154,7 @@
scope.h
ifdef WITH_YAML_CPP
-libyaml-cpp.a: $(YAMLCPP_OBJ)
- ar qc $@ $^
- ranlib $@
-
-yamltest: $(YAMLCPP_TEST_OBJ) libyaml-cpp.a
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^
-
-YAML_CPP_LIB = libyaml-cpp.a
+YAML_CPP_LIB = -lyaml-cpp
YAML_TEST = yamltest
override CPPFLAGS += -DWITH_YAML_CPP
endif
@@ -176,25 +163,21 @@
@if test "$(ANNOUNCE)" -eq "1"; then echo "NOTE: Building target: $(TARGET), binary name: $(BINARY)"; fi
@if test "$(ANNOUNCE)" -eq "1"; then echo "NOTE: Use make TARGET=<DIR_NAME> to select a target suite"; fi
-$(BINARY): $(IMB_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ) $(YAML_CPP_LIB)
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
+$(BINARY): $(IMB_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ)
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIE -o $@ $^ $(LDFLAGS) $(YAML_CPP_LIB)
%.o: %.cpp
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -c -o $@ $<
%.o: %.c
- $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+ $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -c -o $@ $<
clean: announce
- rm -f $(IMB_OBJ) $(YAMLCPP_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ) $(BINARY) $(YAML_CPP_LIB) $(YAML_TEST)
+ rm -f $(IMB_OBJ) $(YAMLCPP_OBJ) $(BECHMARK_SUITE_OBJ) $(ADDITIONAL_OBJ) $(BINARY)
$(BECHMARK_SUITE_OBJ): $(HEADERS) Makefile
$(IMB_OBJ): $(HEADERS) Makefile
-ifdef WITH_YAML_CPP
-$(YAMLCPP_OBJ): Makefile
-endif
-
.PHONY: announce clean all