$NetBSD: patch-Makefile,v 1.2 2023/06/01 13:03:53 bacon Exp $ # Respect env --- Makefile.orig 2021-08-24 14:00:31.000000000 +0000 +++ Makefile @@ -7,6 +7,8 @@ BINDIR ?= $(PREFIX)/bin INCLUDE_DIRS ?= LIBRARY_DIRS ?= +STRIP ?= strip + SRC := $(wildcard ${DIR_SRC}/*.cpp) OBJ := $(patsubst %.cpp,${DIR_OBJ}/%.o,$(notdir ${SRC})) @@ -15,13 +17,17 @@ TARGET := fastp BIN_TARGET := ${TARGET} CXX ?= g++ -CXXFLAGS := -std=c++11 -g -O3 -I${DIR_INC} $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir)) ${CXXFLAGS} +# Optional flags that the user can override by setting CXXFLAGS in the +# env or make argument +CXXFLAGS ?= -g -O3 +# Required flags +CXXFLAGS += -std=c++11 -I${DIR_INC} $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir)) LIBS := -lz -lpthread -LD_FLAGS := $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir)) $(LIBS) $(LD_FLAGS) +LDFLAGS += $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir)) $(LIBS) ${BIN_TARGET}:${OBJ} - $(CXX) $(OBJ) -o $@ $(LD_FLAGS) + $(CXX) $(OBJ) -o $@ $(LDFLAGS) ${DIR_OBJ}/%.o:${DIR_SRC}/%.cpp make_obj_dir $(CXX) -c $< -o $@ $(CXXFLAGS) @@ -43,6 +49,12 @@ make_obj_dir: mkdir $(DIR_OBJ) ; \ fi +# Respect DESTDIR for staged installs (used by most package managers) install: - install $(TARGET) $(BINDIR)/$(TARGET) + mkdir $(DESTDIR)$(BINDIR) + install $(TARGET) $(DESTDIR)$(BINDIR)/$(TARGET) @echo "Installed." + +# Many package managers use install-strip target if debugging is not enabled +install-strip: install + $(STRIP) $(DESTDIR)$(BINDIR)/$(TARGET)