TARGETS	= $(OBJDIR)database$(EXEEXT)
OBJDIR	=
PREFIX	= /usr/local
DESTDIR	=
BINDIR	= $(PREFIX)/bin
SBINDIR	= $(PREFIX)/sbin
CC	= cc
CPPFLAGSF= -I ../include
CPPFLAGS=
CFLAGSF	= `pkg-config --cflags libSystem`
CFLAGS	= -W -Wall -g -O2 -pedantic -fPIE -D_FORTIFY_SOURCE=2 -fstack-protector-all
LDFLAGSF= `pkg-config --libs libSystem` -L$(OBJDIR)../src -Wl,-rpath,../src -lDatabase
LDFLAGS	= -pie -Wl,-z,relro -Wl,-z,now
EXEEXT	=
RM	= rm -f
LN	= ln -f
MKDIR	= mkdir -m 0755 -p
INSTALL	= install


all: $(TARGETS)

database_OBJS = $(OBJDIR)database.o
database_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
database_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)database$(EXEEXT): $(database_OBJS)
	$(CC) -o $(OBJDIR)database$(EXEEXT) $(database_OBJS) $(database_LDFLAGS)

$(OBJDIR)database.o: database.c ../include/Database.h ../include/Database/database.h ../include/Database/engine.h ../include/Database/statement.h
	$(CC) $(database_CFLAGS) -o $(OBJDIR)database.o -c database.c

clean:
	$(RM) -- $(database_OBJS)

distclean: clean
	$(RM) -- $(TARGETS)

install: all
	$(MKDIR) $(DESTDIR)$(BINDIR)
	$(INSTALL) -m 0755 $(OBJDIR)database$(EXEEXT) $(DESTDIR)$(BINDIR)/database$(EXEEXT)

uninstall:
	$(RM) -- $(DESTDIR)$(BINDIR)/database$(EXEEXT)

.PHONY: all clean distclean install uninstall
