From 21b6d8cd5e7c5ba67bc432fe38899f46f4ce3d73 Mon Sep 17 00:00:00 2001 From: TrStans606 <100236022+TrStans606@users.noreply.github.com> Date: Thu, 30 Oct 2025 16:29:38 -0400 Subject: [PATCH 1/3] Change library target to build shared library Updated library target to create shared library (.so) instead of static library (.a). --- Makefile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a6923cf..32a14be 100644 --- a/Makefile +++ b/Makefile @@ -71,13 +71,16 @@ $(BUILD_FOLDER)/%.o: $(SOURCE_FILES) $(HEADER_FILES) ################################################## -library: $(OBJECT_FILES) +library: $(RELEASE_FOLDER)/$(PROJECT_NAME).so mkdir -p $(RELEASE_FOLDER) - ar rvs $(RELEASE_FOLDER)/$(PROJECT_NAME).a $(OBJECT_FILES) rm -rf $(RELEASE_FOLDER)/$(INCLUDE_FOLDER) cp --parents $(HEADER_FILES) $(RELEASE_FOLDER) mv $(RELEASE_FOLDER)/$(SOURCE_FOLDER)/ $(RELEASE_FOLDER)/$(INCLUDE_FOLDER) +$(RELEASE_FOLDER)/$(PROJECT_NAME).so: $(OBJECT_FILES) + mkdir -p $(RELEASE_FOLDER) + $(CC) $(LD_FLAGS_LIB) -o $@ $(OBJECT_FILES) $(LIB_DEPS) + ################################################## clean: From d86adeb9d485e869f8c6ae33a48778789b35387d Mon Sep 17 00:00:00 2001 From: TrStans606 <100236022+TrStans606@users.noreply.github.com> Date: Fri, 31 Oct 2025 09:58:55 -0400 Subject: [PATCH 2/3] Add support for building shared library --- Makefile | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 32a14be..d672744 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,7 @@ # (c) 2018 Claude Barthels, ETH Zurich # # Call 'make library' to build the library +# Call 'make library-shared'to build dynamic library # Call 'make examples' to build the examples # Call 'make all' to build everything # @@ -60,7 +61,7 @@ BUILD_DIRECTORIES = $(patsubst $(SOURCE_FOLDER)/%,$(BUILD_FOLDER)/%,$(SOURCE_DIR ################################################## -all: library examples +all: library examples library-shared ################################################## @@ -68,10 +69,18 @@ $(BUILD_FOLDER)/%.o: $(SOURCE_FILES) $(HEADER_FILES) mkdir -p $(BUILD_FOLDER) mkdir -p $(BUILD_DIRECTORIES) $(CC) $(CC_FLAGS) -c $(SOURCE_FOLDER)/$*.cpp -I $(SOURCE_FOLDER) -o $(BUILD_FOLDER)/$*.o +################################################## + +library: $(OBJECT_FILES) + mkdir -p $(RELEASE_FOLDER) + ar rvs $(RELEASE_FOLDER)/$(PROJECT_NAME).a $(OBJECT_FILES) + rm -rf $(RELEASE_FOLDER)/$(INCLUDE_FOLDER) + cp --parents $(HEADER_FILES) $(RELEASE_FOLDER) + mv $(RELEASE_FOLDER)/$(SOURCE_FOLDER)/ $(RELEASE_FOLDER)/$(INCLUDE_FOLDER) ################################################## -library: $(RELEASE_FOLDER)/$(PROJECT_NAME).so +library-shared: $(RELEASE_FOLDER)/$(PROJECT_NAME).so mkdir -p $(RELEASE_FOLDER) rm -rf $(RELEASE_FOLDER)/$(INCLUDE_FOLDER) cp --parents $(HEADER_FILES) $(RELEASE_FOLDER) From a80b4e104f101ca99db177107566e2f019db5052 Mon Sep 17 00:00:00 2001 From: TrStans606 <100236022+TrStans606@users.noreply.github.com> Date: Fri, 31 Oct 2025 10:09:05 -0400 Subject: [PATCH 3/3] Update compiler flags and add shared library option --- Makefile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index d672744..b110219 100644 --- a/Makefile +++ b/Makefile @@ -13,9 +13,11 @@ PROJECT_NAME = libinfinity ################################################## -CC = g++ -CC_FLAGS = -O3 -std=c++0x -LD_FLAGS = -linfinity -libverbs +CC = g++ +CC_FLAGS = -O3 -std=c++11 -fPIC +LD_FLAGS = -linfinity -libverbs +LD_FLAGS_LIB = -shared +LIB_DEPS = -libverbs ##################################################