TARGETS	= $(OBJDIR)clint.log $(OBJDIR)fixme.log $(OBJDIR)pylint.log $(OBJDIR)shlint.log $(OBJDIR)sqlite2$(EXEEXT) $(OBJDIR)sqlite2.db $(OBJDIR)sqlite3$(EXEEXT) $(OBJDIR)sqlite3.db $(OBJDIR)tests.log
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 -lDatabase
LDFLAGS	= -pie
EXEEXT	=
RM	= rm -f
LN	= ln -f
MKDIR	= mkdir -m 0755 -p
INSTALL	= install


all: $(OBJDIR)sqlite2$(EXEEXT) $(OBJDIR)sqlite2.db $(OBJDIR)sqlite3$(EXEEXT) $(OBJDIR)sqlite3.db

$(OBJDIR)clint.log: clint.sh $(OBJDIR)../src/libDatabase.a
	./clint.sh -P "$(PREFIX)" -- "$(OBJDIR)clint.log"

$(OBJDIR)fixme.log: fixme.sh $(OBJDIR)../src/libDatabase.a
	./fixme.sh -P "$(PREFIX)" -- "$(OBJDIR)fixme.log"

$(OBJDIR)pylint.log: pylint.sh
	./pylint.sh -P "$(PREFIX)" -- "$(OBJDIR)pylint.log"

$(OBJDIR)shlint.log: shlint.sh
	./shlint.sh -P "$(PREFIX)" -- "$(OBJDIR)shlint.log"

sqlite2_OBJS = $(OBJDIR)sqlite2.o
sqlite2_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
sqlite2_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)sqlite2$(EXEEXT): $(sqlite2_OBJS) $(OBJDIR)sqlite2.db
	$(CC) -o $(OBJDIR)sqlite2$(EXEEXT) $(sqlite2_OBJS) $(sqlite2_LDFLAGS)

$(OBJDIR)sqlite2.db: sqlite2.sql
	./database.sh -P "$(PREFIX)" -- "$(OBJDIR)sqlite2.db"

sqlite3_OBJS = $(OBJDIR)sqlite3.o
sqlite3_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
sqlite3_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)sqlite3$(EXEEXT): $(sqlite3_OBJS) $(OBJDIR)sqlite3.db
	$(CC) -o $(OBJDIR)sqlite3$(EXEEXT) $(sqlite3_OBJS) $(sqlite3_LDFLAGS)

$(OBJDIR)sqlite3.db: sqlite3.sql
	./database.sh -P "$(PREFIX)" -- "$(OBJDIR)sqlite3.db"

$(OBJDIR)tests.log: pkgconfig.sh python.sh $(OBJDIR)sqlite3$(SOEXT) tests.sh
	./tests.sh -P "$(PREFIX)" -- "$(OBJDIR)tests.log"

$(OBJDIR)sqlite2.o: sqlite2.c
	$(CC) $(sqlite2_CFLAGS) -o $(OBJDIR)sqlite2.o -c sqlite2.c

$(OBJDIR)sqlite3.o: sqlite3.c
	$(CC) $(sqlite3_CFLAGS) -o $(OBJDIR)sqlite3.o -c sqlite3.c

clean:
	$(RM) -- $(sqlite2_OBJS) $(sqlite3_OBJS)
	./clint.sh -c -P "$(PREFIX)" -- "$(OBJDIR)clint.log"
	./fixme.sh -c -P "$(PREFIX)" -- "$(OBJDIR)fixme.log"
	./pylint.sh -c -P "$(PREFIX)" -- "$(OBJDIR)pylint.log"
	./shlint.sh -c -P "$(PREFIX)" -- "$(OBJDIR)shlint.log"
	./database.sh -c -P "$(PREFIX)" -- "$(OBJDIR)sqlite2.db"
	./database.sh -c -P "$(PREFIX)" -- "$(OBJDIR)sqlite3.db"
	./tests.sh -c -P "$(PREFIX)" -- "$(OBJDIR)tests.log"

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

install: all

uninstall:

.PHONY: all clean distclean install uninstall
