TARGETS	= $(OBJDIR)clint.log $(OBJDIR)fixme.log $(OBJDIR)htmllint.log $(OBJDIR)plugins$(EXEEXT) $(OBJDIR)tests.log $(OBJDIR)vfs$(EXEEXT) $(OBJDIR)xmllint.log
OBJDIR	=
PREFIX	= /usr/local
DESTDIR	=
BINDIR	= $(PREFIX)/bin
SBINDIR	= $(PREFIX)/sbin
CC	= cc
CPPFLAGSF= -I ../include
CPPFLAGS=
CFLAGSF	= `pkg-config --cflags libDesktop`
CFLAGS	= -W -Wall -g -O2 -fPIE -D_FORTIFY_SOURCE=2 -fstack-protector
LDFLAGSF= `pkg-config --libs libDesktop`
LDFLAGS	= -pie -Wl,-z,relro -Wl,-z,now
EXEEXT	=
RM	= rm -f
LN	= ln -f
MKDIR	= mkdir -m 0755 -p
INSTALL	= install


all: $(OBJDIR)plugins$(EXEEXT) $(OBJDIR)vfs$(EXEEXT)

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

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

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

plugins_OBJS = $(OBJDIR)plugins.o
plugins_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
plugins_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -ldl

$(OBJDIR)plugins$(EXEEXT): $(plugins_OBJS)
	$(CC) -o $(OBJDIR)plugins$(EXEEXT) $(plugins_OBJS) $(plugins_LDFLAGS)

$(OBJDIR)tests.log: pkgconfig.sh $(OBJDIR)plugins$(EXEEXT) $(OBJDIR)vfs$(EXEEXT) tests.sh
	./tests.sh -P "$(PREFIX)" -- "$(OBJDIR)tests.log"

vfs_OBJS = $(OBJDIR)vfs.o
vfs_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
vfs_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -L$(OBJDIR)../src/lib -Wl,-rpath,../src -lBrowser

$(OBJDIR)vfs$(EXEEXT): $(vfs_OBJS)
	$(CC) -o $(OBJDIR)vfs$(EXEEXT) $(vfs_OBJS) $(vfs_LDFLAGS)

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

$(OBJDIR)plugins.o: plugins.c
	$(CC) $(plugins_CFLAGS) -o $(OBJDIR)plugins.o -c plugins.c

$(OBJDIR)vfs.o: vfs.c
	$(CC) $(vfs_CFLAGS) -o $(OBJDIR)vfs.o -c vfs.c

clean:
	$(RM) -- $(plugins_OBJS) $(vfs_OBJS)
	./clint.sh -c -P "$(PREFIX)" -- "$(OBJDIR)clint.log"
	./fixme.sh -c -P "$(PREFIX)" -- "$(OBJDIR)fixme.log"
	./htmllint.sh -c -P "$(PREFIX)" -- "$(OBJDIR)htmllint.log"
	./tests.sh -c -P "$(PREFIX)" -- "$(OBJDIR)tests.log"
	./xmllint.sh -c -P "$(PREFIX)" -- "$(OBJDIR)xmllint.log"

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

install: all

uninstall:

.PHONY: all clean distclean install uninstall
