CC=gcc
GIT_VERSION := "$(shell git describe --abbrev=4 --dirty --always --tags || cat VERSION)"
BINARY=blabouncer

ifeq ($(PREFIX),)
	PREFIX := /usr/local
endif

blabouncer: blabouncer.c functions.c sockets.c config.c replay.c logging.c message.c config.h functions.h logging.h message.h replay.h sockets.h structures.h
	$(CC) -D_DEFAULT_SOURCE -D_BSD_SOURCE -DVERSION=\"$(GIT_VERSION)\" -std=gnu99 -Wall -Wextra -lssl -lcrypto -o $(BINARY) blabouncer.c functions.c sockets.c config.c replay.c logging.c message.c

.PHONY: clean
clean:
	rm -f $(BINARY)

.PHONY: install
install: blabouncer
	install -d $(DESTDIR)$(PREFIX)/bin/
	install -m 755 blabouncer $(DESTDIR)$(PREFIX)/bin/

.PHONY: uninstall
uninstall:
	rm -f $(DESTDIR)$(PREFIX)/bin/blabouncer