TARGETS	= $(OBJDIR)browser$(SOEXT)
OBJDIR	=
PREFIX	= /usr/local
DESTDIR	=
LIBDIR	= $(PREFIX)/lib
CC	= cc
CPPFLAGSF= -I../../include
CPPFLAGS=
CFLAGSF	= `pkg-config --cflags libDesktop` -fPIC
CFLAGS	= -W -Wall -g -O2 -D_FORTIFY_SOURCE=2 -fstack-protector
LDFLAGSF= `pkg-config --libs libDesktop`  -L$(OBJDIR)../lib -Wl,-rpath,$(LIBDIR) -lBrowser
LDFLAGS	= -Wl,-z,relro -Wl,-z,now
EXEEXT	=
AR	= ar
ARFLAGS	= -rc
RANLIB	= ranlib
CCSHARED= $(CC) -shared
SOEXT	= .so
RM	= rm -f
LN	= ln -f
MKDIR	= mkdir -m 0755 -p
INSTALL	= install


all: $(TARGETS)

browser_OBJS = $(OBJDIR)browser.o $(OBJDIR)callbacks.o $(OBJDIR)widget.o $(OBJDIR)window.o
browser_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
browser_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)browser$(SOEXT): $(browser_OBJS)
	$(CCSHARED) -o $(OBJDIR)browser$(SOEXT) $(browser_OBJS) $(browser_LDFLAGS)

$(OBJDIR)browser.o: browser.c ../browser/browser.c ../browser/browser.h
	$(CC) $(browser_CFLAGS) -o $(OBJDIR)browser.o -c browser.c

$(OBJDIR)callbacks.o: callbacks.c ../browser/callbacks.c ../browser/callbacks.h
	$(CC) $(browser_CFLAGS) -o $(OBJDIR)callbacks.o -c callbacks.c

$(OBJDIR)widget.o: widget.c
	$(CC) $(browser_CFLAGS) -o $(OBJDIR)widget.o -c widget.c

$(OBJDIR)window.o: window.c ../browser/window.c ../browser/window.h
	$(CC) $(browser_CFLAGS) -o $(OBJDIR)window.o -c window.c

clean:
	$(RM) -- $(browser_OBJS)

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

install: all
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Desktop/widget
	$(INSTALL) -m 0755 $(OBJDIR)browser$(SOEXT) $(DESTDIR)$(LIBDIR)/Desktop/widget/browser$(SOEXT)

uninstall:
	$(RM) -- $(DESTDIR)$(LIBDIR)/Desktop/widget/browser$(SOEXT)

.PHONY: all clean distclean install uninstall
