29 lines
747 B
Makefile
29 lines
747 B
Makefile
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)
|