TARGETS	= $(OBJDIR)libDesktop.a $(OBJDIR)libDesktop$(SOEXT).0.0 $(OBJDIR)libDesktop$(SOEXT).0 $(OBJDIR)libDesktop$(SOEXT)
OBJDIR	=
PREFIX	= /usr/local
DESTDIR	=
LIBDIR	= $(PREFIX)/lib
CC	= cc
CPPFLAGSF= -I ../include
CPPFLAGS=
CFLAGSF	= `pkg-config --cflags libSystem gtk+-3.0 x11` -fPIC
CFLAGS	= -W -Wall -g -O2 -D_FORTIFY_SOURCE=2 -fstack-protector
LDFLAGSF= `pkg-config --libs libSystem gtk+-3.0 x11`
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)

libDesktop_OBJS = $(OBJDIR)about.o $(OBJDIR)accel.o $(OBJDIR)compat.o $(OBJDIR)help.o $(OBJDIR)menubar.o $(OBJDIR)message.o $(OBJDIR)mime.o $(OBJDIR)mimehandler.o $(OBJDIR)toolbar.o $(OBJDIR)widget.o
libDesktop_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
libDesktop_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)libDesktop.a: $(libDesktop_OBJS)
	$(AR) $(ARFLAGS) $(OBJDIR)libDesktop.a $(libDesktop_OBJS)
	$(RANLIB) $(OBJDIR)libDesktop.a

$(OBJDIR)libDesktop$(SOEXT).0.0: $(libDesktop_OBJS)
	$(CCSHARED) -o $(OBJDIR)libDesktop$(SOEXT).0.0 -Wl,-soname,libDesktop$(SOEXT).0 $(libDesktop_OBJS) $(libDesktop_LDFLAGS)

$(OBJDIR)libDesktop$(SOEXT).0: $(OBJDIR)libDesktop$(SOEXT).0.0
	$(LN) -s -- libDesktop$(SOEXT).0.0 $(OBJDIR)libDesktop$(SOEXT).0

$(OBJDIR)libDesktop$(SOEXT): $(OBJDIR)libDesktop$(SOEXT).0.0
	$(LN) -s -- libDesktop$(SOEXT).0.0 $(OBJDIR)libDesktop$(SOEXT)

$(OBJDIR)about.o: about.c
	$(CC) $(libDesktop_CFLAGS) -o $(OBJDIR)about.o -c about.c

$(OBJDIR)accel.o: accel.c
	$(CC) $(libDesktop_CFLAGS) -o $(OBJDIR)accel.o -c accel.c

$(OBJDIR)compat.o: compat.c
	$(CC) $(libDesktop_CFLAGS) -o $(OBJDIR)compat.o -c compat.c

$(OBJDIR)help.o: help.c ../config.h
	$(CC) $(libDesktop_CFLAGS) -o $(OBJDIR)help.o -c help.c

$(OBJDIR)menubar.o: menubar.c
	$(CC) $(libDesktop_CFLAGS) -o $(OBJDIR)menubar.o -c menubar.c

$(OBJDIR)message.o: message.c
	$(CC) $(libDesktop_CFLAGS) -o $(OBJDIR)message.o -c message.c

$(OBJDIR)mime.o: mime.c mimehandler.h ../config.h
	$(CC) $(libDesktop_CFLAGS) -o $(OBJDIR)mime.o -c mime.c

$(OBJDIR)mimehandler.o: mimehandler.c mimehandler.h ../config.h
	$(CC) $(libDesktop_CFLAGS) -o $(OBJDIR)mimehandler.o -c mimehandler.c

$(OBJDIR)toolbar.o: toolbar.c
	$(CC) $(libDesktop_CFLAGS) -o $(OBJDIR)toolbar.o -c toolbar.c

$(OBJDIR)widget.o: widget.c ../config.h
	$(CC) $(libDesktop_CFLAGS) -o $(OBJDIR)widget.o -c widget.c

clean:
	$(RM) -- $(libDesktop_OBJS)

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

install: all
	$(MKDIR) $(DESTDIR)$(PREFIX)/lib
	$(INSTALL) -m 0644 $(OBJDIR)libDesktop.a $(DESTDIR)$(PREFIX)/lib/libDesktop.a
	$(INSTALL) -m 0755 $(OBJDIR)libDesktop$(SOEXT).0.0 $(DESTDIR)$(PREFIX)/lib/libDesktop$(SOEXT).0.0
	$(LN) -s -- libDesktop$(SOEXT).0.0 $(DESTDIR)$(PREFIX)/lib/libDesktop$(SOEXT).0
	$(LN) -s -- libDesktop$(SOEXT).0.0 $(DESTDIR)$(PREFIX)/lib/libDesktop$(SOEXT)

uninstall:
	$(RM) -- $(DESTDIR)$(PREFIX)/lib/libDesktop.a
	$(RM) -- $(DESTDIR)$(PREFIX)/lib/libDesktop$(SOEXT).0.0
	$(RM) -- $(DESTDIR)$(PREFIX)/lib/libDesktop$(SOEXT).0
	$(RM) -- $(DESTDIR)$(PREFIX)/lib/libDesktop$(SOEXT)

.PHONY: all clean distclean install uninstall
