CC     = cc
FPC    = fpc
CFLAGS = -std=c89 -pedantic -Wall -Wextra -O2
PREFIX = /usr/local

.PHONY: barevclient-c-libbarev barevclient-c-libbarevc barevclient-pascal clean

barevclient-c-libbarev:
	$(CC) $(CFLAGS) \
		barevclient-libbarev.c \
		-I$(PREFIX)/include \
		-L$(PREFIX)/lib -lbarev_c_api \
		-Wl,-rpath,$(PREFIX)/lib \
		-o barevclient-c-libbarev

barevclient-c-libbarevc:
	$(CC) $(CFLAGS) \
		barevclient.c \
		-I$(PREFIX)/include \
		-L$(PREFIX)/lib -lbarevc \
		-Wl,-rpath,$(PREFIX)/lib \
		-o barevclient-c-libbarevc

# set BAREV_PASCAL_DIR if not installed system wide.
barevclient-pascal:
	@if [ -n "$(BAREV_PASCAL_DIR)" ]; then \
		$(FPC) -Fu$(BAREV_PASCAL_DIR) barevclient.pas; \
	else \
		$(FPC) barevclient.pas; \
	fi
	@if [ -f barevclient ]; then mv -f barevclient barevclient-pascal; fi

clean:
	rm -f \
		barevclient-c-libbarev \
		barevclient-c-libbarevc \
		barevclient-pascal \
		barevclient \
		*.o *.ppu
