--- 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)
