CXX ?= g++ PKG_CONFIG ?= pkg-config PREFIX ?= /usr/local TARGET := binaryconverter SRC := src/binaryconverter.cpp BUILD_DIR := build BIN := $(BUILD_DIR)/$(TARGET) CXXFLAGS ?= -O3 -DNDEBUG -march=native CPPFLAGS += -std=c++17 -Wall -Wextra -Wpedantic -D_FILE_OFFSET_BITS=64 LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto 2>/dev/null) LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto 2>/dev/null) LDLIBS += $(if $(LIBCRYPTO_LIBS),$(LIBCRYPTO_LIBS),-lcrypto) .PHONY: all clean install all: $(BIN) $(BIN): $(SRC) @mkdir -p $(BUILD_DIR) $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LIBCRYPTO_CFLAGS) -o $@ $< $(LDFLAGS) $(LDLIBS) install: $(BIN) install -Dm755 $(BIN) "$(DESTDIR)$(PREFIX)/bin/$(TARGET)" clean: rm -rf $(BUILD_DIR)