CFLAGS += -Wall -Werror -O2 -g -fstack-protector-all -D_FORTIFY_SOURCE=2
CFLAGS += -DUSE_OPENSSL -DUSE_NICKSERV
LFLAGS += -lssl -lcrypto -lcrypt
#CFLAGS += -DUSE_SYSTEMD
#LFLAGS += -lsystemd
PREFIX ?= /usr/local

VERSION ?= $(shell git rev-parse --short --verify HEAD)
ifneq ($(VERSION),)
    CFLAGS += -DIRCD_VERSION="$(VERSION)"
endif

NAME = ircd
CC = LANG=C g++
SOURCES = $(wildcard *.cpp)
HEADERS = $(wildcard *.hpp)
OBJECTS = $(SOURCES:%.cpp=%.o)

$(NAME): $(OBJECTS) Makefile
    $(CC) -o $@ $(OBJECTS) $(LFLAGS)

%.o: %.cpp $(HEADERS) Makefile
    $(CC) -c $(CFLAGS) $< -o $@

.PHONY: install
install: $(NAME)
    @install -v -t "$(DESTDIR)$(PREFIX)/bin" $(^)

.PHONY: clean
clean:
    rm -f $(OBJECTS) $(NAME)