--- Makefile.orig	2026-08-31 12:27:34 UTC
+++ Makefile
@@ -23,9 +23,11 @@ GCC_SUFFIX =
 INC =
 GCC_PREFIX = $(shell dirname `which gcc`)
 GCC_SUFFIX =
-CC = $(GCC_PREFIX)/gcc$(GCC_SUFFIX)
-CPP = $(GCC_PREFIX)/g++$(GCC_SUFFIX)
-CXX = $(CPP)
+CC ?= $(GCC_PREFIX)/gcc$(GCC_SUFFIX)
+CPP ?= $(GCC_PREFIX)/g++$(GCC_SUFFIX)
+CXX ?= $(CPP)
+INSTALL ?= install
+
 HEADERS = $(wildcard *.h)
 BOWTIE_MM = 1
 BOWTIE_SHARED_MEM = 0
@@ -171,40 +173,9 @@ VERSION = $(shell cat VERSION)
 SEARCH_FRAGMENTS = $(wildcard search_*_phase*.c)
 VERSION = $(shell cat VERSION)
 
-# Convert BITS=?? to a -m flag
-BITS=32
-ifeq (x86_64,$(shell uname -m))
-BITS=64
-endif
-# ARM is 64-bit (aarch64/arm64) and does not take x86 -m32/-m64 flags; the ABI
-# is fixed by the toolchain target, so leave BITS_FLAG empty below.
-ifeq (1,$(ARM))
-BITS=arm
-endif
-# msys will always be 32 bit so look at the cpu arch instead.
-ifneq (,$(findstring AMD64,$(PROCESSOR_ARCHITEW6432)))
-	ifeq (1,$(MINGW))
-		BITS=64
-	endif
-endif
-BITS_FLAG =
-
-ifeq (32,$(BITS))
-	BITS_FLAG = -m32
-endif
-
-ifeq (64,$(BITS))
-	BITS_FLAG = -m64
-endif
-ifeq (1,$(ARM))
-	SSE_FLAG =
-else
-	SSE_FLAG = -msse2
-endif
-
 DEBUG_FLAGS    = -O0 -g3 $(BITS_FLAG) $(SSE_FLAG)
 DEBUG_DEFS     = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\""
-RELEASE_FLAGS  = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3
+RELEASE_FLAGS  = $(CXXFLAGS)
 RELEASE_DEFS   = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\""
 NOASSERT_FLAGS = -DNDEBUG
 FILE_FLAGS     = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
@@ -581,6 +552,20 @@ MANUAL: MANUAL.markdown
 
 MANUAL: MANUAL.markdown
 	perl doc/strip_markdown.pl < $^ > $@
+
+# Install per filesystem hierarchy standard:
+# https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
+
+.PHONY: install
+install:
+	mkdir -p ${DESTDIR}${PREFIX}/bin
+	${INSTALL} -c -s ${HISAT2_BIN_LIST} ${DESTDIR}${PREFIX}/bin
+	${INSTALL} -c hisat2 hisat2-build hisat2-inspect \
+		${DESTDIR}${PREFIX}/bin
+
+	mkdir -p ${DESTDIR}${PREFIX}/libexec/hisat2
+	${INSTALL} -c scripts/*.sh scripts/*.pl scripts/*.py *.py \
+		${DESTDIR}${PREFIX}/libexec/hisat2
 
 .PHONY: clean
 clean:
