--- Makefile 2026-04-20 21:22:04.000000000 +0800 +++ Makefile 2026-05-13 15:20:08.000000000 +0800 @@ -2,37 +2,18 @@ # Targets: Linux, macOS, FreeBSD, OpenBSD, NetBSD UNAME_S := $(shell uname -s) +PREFIX ?= /opt/local -ifeq ($(origin CXX),default) - ifeq ($(UNAME_S),Darwin) - CXX := clang++ - else ifeq ($(UNAME_S),FreeBSD) - CXX := clang++ - else ifeq ($(UNAME_S),OpenBSD) - CXX := clang++ - else ifeq ($(UNAME_S),NetBSD) - CXX := clang++ - else - CXX := g++ - endif -endif - -CXXFLAGS = -std=c++17 -O3 -Wall -Wextra -Iinclude +CXX ?= g++ +CXXFLAGS += -std=c++17 -O3 -Wall -Wextra -Iinclude # Platform-specific flags ifeq ($(UNAME_S),Darwin) - # Homebrew curl/openssl on macOS - BREW_PREFIX := $(shell brew --prefix 2>/dev/null || echo /opt/homebrew) - CURL_PREFIX := $(BREW_PREFIX)/opt/curl - SSL_PREFIX := $(BREW_PREFIX)/opt/openssl@3 - ifneq ($(wildcard $(CURL_PREFIX)/lib/libcurl.*),) - CXXFLAGS += -I$(CURL_PREFIX)/include -I$(SSL_PREFIX)/include - LDFLAGS = -L$(CURL_PREFIX)/lib -L$(SSL_PREFIX)/lib \ + CURL_PREFIX ?= $(PREFIX) + SSL_PREFIX ?= $(PREFIX) + CXXFLAGS += -I$(CURL_PREFIX)/include -I$(SSL_PREFIX)/include -DYTFAST_MACOS + LDFLAGS = -L$(CURL_PREFIX)/lib -L$(SSL_PREFIX)/lib \ -lcurl -lssl -lcrypto -lpthread - else - LDFLAGS = -lcurl -lssl -lcrypto -lpthread - endif - CXXFLAGS += -DYTFAST_MACOS else ifeq ($(UNAME_S),FreeBSD) CXXFLAGS += -I/usr/local/include -DYTFAST_BSD LDFLAGS = -L/usr/local/lib -lcurl -lssl -lcrypto -lpthread @@ -69,7 +50,6 @@ clean: rm -f $(BIN) test/test_ytfast -PREFIX ?= /usr/local install: $(BIN) install -d $(DESTDIR)$(PREFIX)/bin install -m 755 $(BIN) $(DESTDIR)$(PREFIX)/bin/$(BIN)