TARGETS	= $(OBJDIR)backup$(SOEXT) $(OBJDIR)cvs$(SOEXT) $(OBJDIR)dirtree$(SOEXT) $(OBJDIR)favorites$(SOEXT) $(OBJDIR)git$(SOEXT) $(OBJDIR)make$(SOEXT) $(OBJDIR)places$(SOEXT) $(OBJDIR)preview$(SOEXT) $(OBJDIR)properties$(SOEXT) $(OBJDIR)selection$(SOEXT) $(OBJDIR)subversion$(SOEXT) $(OBJDIR)template$(SOEXT) $(OBJDIR)trash$(SOEXT) $(OBJDIR)undelete$(SOEXT) $(OBJDIR)volumes$(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`
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)

backup_OBJS = $(OBJDIR)backup.o
backup_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
backup_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)backup$(SOEXT): $(backup_OBJS)
	$(CCSHARED) -o $(OBJDIR)backup$(SOEXT) $(backup_OBJS) $(backup_LDFLAGS)

cvs_OBJS = $(OBJDIR)cvs.o
cvs_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
cvs_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)cvs$(SOEXT): $(cvs_OBJS)
	$(CCSHARED) -o $(OBJDIR)cvs$(SOEXT) $(cvs_OBJS) $(cvs_LDFLAGS)

dirtree_OBJS = $(OBJDIR)dirtree.o
dirtree_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
dirtree_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -L$(OBJDIR)../lib -Wl,-rpath,$(LIBDIR) -lBrowser

$(OBJDIR)dirtree$(SOEXT): $(dirtree_OBJS)
	$(CCSHARED) -o $(OBJDIR)dirtree$(SOEXT) $(dirtree_OBJS) $(dirtree_LDFLAGS)

favorites_OBJS = $(OBJDIR)favorites.o
favorites_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
favorites_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -L$(OBJDIR)../lib -Wl,-rpath,$(LIBDIR) -lBrowser

$(OBJDIR)favorites$(SOEXT): $(favorites_OBJS)
	$(CCSHARED) -o $(OBJDIR)favorites$(SOEXT) $(favorites_OBJS) $(favorites_LDFLAGS)

git_OBJS = $(OBJDIR)git.o
git_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
git_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)git$(SOEXT): $(git_OBJS)
	$(CCSHARED) -o $(OBJDIR)git$(SOEXT) $(git_OBJS) $(git_LDFLAGS)

make_OBJS = $(OBJDIR)make.o
make_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
make_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)make$(SOEXT): $(make_OBJS)
	$(CCSHARED) -o $(OBJDIR)make$(SOEXT) $(make_OBJS) $(make_LDFLAGS)

places_OBJS = $(OBJDIR)places.o
places_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
places_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)places$(SOEXT): $(places_OBJS)
	$(CCSHARED) -o $(OBJDIR)places$(SOEXT) $(places_OBJS) $(places_LDFLAGS)

preview_OBJS = $(OBJDIR)preview.o
preview_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
preview_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)preview$(SOEXT): $(preview_OBJS)
	$(CCSHARED) -o $(OBJDIR)preview$(SOEXT) $(preview_OBJS) $(preview_LDFLAGS)

properties_OBJS = $(OBJDIR)properties.o
properties_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
properties_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)properties$(SOEXT): $(properties_OBJS)
	$(CCSHARED) -o $(OBJDIR)properties$(SOEXT) $(properties_OBJS) $(properties_LDFLAGS)

selection_OBJS = $(OBJDIR)selection.o
selection_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
selection_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)selection$(SOEXT): $(selection_OBJS)
	$(CCSHARED) -o $(OBJDIR)selection$(SOEXT) $(selection_OBJS) $(selection_LDFLAGS)

subversion_OBJS = $(OBJDIR)subversion.o
subversion_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
subversion_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)subversion$(SOEXT): $(subversion_OBJS)
	$(CCSHARED) -o $(OBJDIR)subversion$(SOEXT) $(subversion_OBJS) $(subversion_LDFLAGS)

template_OBJS = $(OBJDIR)template.o
template_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
template_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)template$(SOEXT): $(template_OBJS)
	$(CCSHARED) -o $(OBJDIR)template$(SOEXT) $(template_OBJS) $(template_LDFLAGS)

trash_OBJS = $(OBJDIR)trash.o
trash_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
trash_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)trash$(SOEXT): $(trash_OBJS)
	$(CCSHARED) -o $(OBJDIR)trash$(SOEXT) $(trash_OBJS) $(trash_LDFLAGS)

undelete_OBJS = $(OBJDIR)undelete.o
undelete_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
undelete_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)

$(OBJDIR)undelete$(SOEXT): $(undelete_OBJS)
	$(CCSHARED) -o $(OBJDIR)undelete$(SOEXT) $(undelete_OBJS) $(undelete_LDFLAGS)

volumes_OBJS = $(OBJDIR)volumes.o
volumes_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
volumes_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -L$(OBJDIR)../lib -Wl,-rpath,$(LIBDIR) -lBrowser

$(OBJDIR)volumes$(SOEXT): $(volumes_OBJS)
	$(CCSHARED) -o $(OBJDIR)volumes$(SOEXT) $(volumes_OBJS) $(volumes_LDFLAGS)

$(OBJDIR)backup.o: backup.c trash.c ../../include/Browser.h
	$(CC) $(backup_CFLAGS) -o $(OBJDIR)backup.o -c backup.c

$(OBJDIR)cvs.o: cvs.c common.c ../../include/Browser.h
	$(CC) $(cvs_CFLAGS) -o $(OBJDIR)cvs.o -c cvs.c

$(OBJDIR)dirtree.o: dirtree.c ../../include/Browser.h
	$(CC) $(dirtree_CFLAGS) -o $(OBJDIR)dirtree.o -c dirtree.c

$(OBJDIR)favorites.o: favorites.c ../../include/Browser.h
	$(CC) $(favorites_CFLAGS) -o $(OBJDIR)favorites.o -c favorites.c

$(OBJDIR)git.o: git.c common.c ../../include/Browser.h
	$(CC) $(git_CFLAGS) -o $(OBJDIR)git.o -c git.c

$(OBJDIR)make.o: make.c common.c ../../include/Browser.h
	$(CC) $(make_CFLAGS) -o $(OBJDIR)make.o -c make.c

$(OBJDIR)places.o: places.c ../../include/Browser.h
	$(CC) $(places_CFLAGS) -o $(OBJDIR)places.o -c places.c

$(OBJDIR)preview.o: preview.c ../../include/Browser.h
	$(CC) $(preview_CFLAGS) -o $(OBJDIR)preview.o -c preview.c

$(OBJDIR)properties.o: properties.c ../../include/Browser.h
	$(CC) $(properties_CFLAGS) -o $(OBJDIR)properties.o -c properties.c

$(OBJDIR)selection.o: selection.c ../../include/Browser.h ../common.c
	$(CC) $(selection_CFLAGS) -o $(OBJDIR)selection.o -c selection.c

$(OBJDIR)subversion.o: subversion.c common.c ../../include/Browser.h
	$(CC) $(subversion_CFLAGS) -o $(OBJDIR)subversion.o -c subversion.c

$(OBJDIR)template.o: template.c ../../include/Browser.h
	$(CC) $(template_CFLAGS) -o $(OBJDIR)template.o -c template.c

$(OBJDIR)trash.o: trash.c ../../include/Browser.h
	$(CC) $(trash_CFLAGS) -o $(OBJDIR)trash.o -c trash.c

$(OBJDIR)undelete.o: undelete.c ../../include/Browser.h
	$(CC) $(undelete_CFLAGS) -o $(OBJDIR)undelete.o -c undelete.c

$(OBJDIR)volumes.o: volumes.c ../../include/Browser.h
	$(CC) $(volumes_CFLAGS) -o $(OBJDIR)volumes.o -c volumes.c

clean:
	$(RM) -- $(backup_OBJS) $(cvs_OBJS) $(dirtree_OBJS) $(favorites_OBJS) $(git_OBJS) $(make_OBJS) $(places_OBJS) $(preview_OBJS) $(properties_OBJS) $(selection_OBJS) $(subversion_OBJS) $(template_OBJS) $(trash_OBJS) $(undelete_OBJS) $(volumes_OBJS)

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

install: all
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)cvs$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/cvs$(SOEXT)
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)dirtree$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/dirtree$(SOEXT)
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)favorites$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/favorites$(SOEXT)
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)git$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/git$(SOEXT)
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)make$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/make$(SOEXT)
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)places$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/places$(SOEXT)
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)preview$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/preview$(SOEXT)
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)properties$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/properties$(SOEXT)
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)selection$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/selection$(SOEXT)
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)subversion$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/subversion$(SOEXT)
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)trash$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/trash$(SOEXT)
	$(MKDIR) $(DESTDIR)$(LIBDIR)/Browser/plugins
	$(INSTALL) -m 0755 $(OBJDIR)volumes$(SOEXT) $(DESTDIR)$(LIBDIR)/Browser/plugins/volumes$(SOEXT)

uninstall:
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/cvs$(SOEXT)
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/dirtree$(SOEXT)
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/favorites$(SOEXT)
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/git$(SOEXT)
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/make$(SOEXT)
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/places$(SOEXT)
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/preview$(SOEXT)
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/properties$(SOEXT)
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/selection$(SOEXT)
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/subversion$(SOEXT)
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/trash$(SOEXT)
	$(RM) -- $(DESTDIR)$(LIBDIR)/Browser/plugins/volumes$(SOEXT)

.PHONY: all clean distclean install uninstall
