--- Makefile.orig 2026-10-07 00:49:32 UTC +++ Makefile @@ -24,7 +24,8 @@ CXX ?= g++ BIN_TARGET := ${TARGET} CXX ?= g++ -CXXFLAGS := -std=c++11 -pthread -g -O3 -MD -MP -I. -I${DIR_INC} $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir)) $(HWY_CFLAGS) $(ISAL_CFLAGS) $(DEFLATE_CFLAGS) ${CXXFLAGS} +CXXFLAGS ?= -g -O3 -MD -MP +CXXFLAGS += -std=c++11 -pthread -I. -I${DIR_INC} $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir)) $(HWY_CFLAGS) $(ISAL_CFLAGS) $(DEFLATE_CFLAGS) LIBS := -lisal -ldeflate -lhwy -lpthread PKG_LDFLAGS := $(HWY_LIBS) $(ISAL_LIBS) $(DEFLATE_LIBS) @@ -38,7 +39,10 @@ $(foreach lib,isal deflate hwy,\ $(eval STATIC_LIBS += $(call FIND_STATIC,$(lib))),\ $(eval DYNAMIC_LIBS += -l$(lib)))) -ifeq ($(UNAME_S),Linux) +ifeq ($(UNAME_S),FreeBSD) + # Respect linker flags and use shared libraries. + LD_FLAGS := $(LDFLAGS) $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir)) $(PKG_LDFLAGS) $(LIBS) +else ifeq ($(UNAME_S),Linux) ifeq ($(DYNAMIC_LIBS),) # All .a found: fully static binary (default for Linux) LD_FLAGS := $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir)) $(PKG_LDFLAGS) -static -Wl,--no-as-needed -pthread $(LIBS) $(LD_FLAGS) @@ -72,8 +76,8 @@ install: @rm -f $(TARGET) install: - mkdir -p $(BINDIR) - install $(TARGET) $(BINDIR)/$(TARGET) + mkdir -p $(DESTDIR)$(BINDIR) + install $(TARGET) $(DESTDIR)$(BINDIR)/$(TARGET) @echo "Installed." -include $(OBJ:.o=.d)