# fotoxx makefile 

VERSION = 12.01.2.cc

# defaults for parameters that may be pre-defined
CXXFLAGS ?= -O3 -g -Wall
LDFLAGS ?= -O3 -g -Wall -rdynamic
PREFIX ?= /usr

# target install directories
BINDIR = $(PREFIX)/bin
SHAREDIR = $(PREFIX)/share/fotoxx
ICONDIR = $(SHAREDIR)/icons
LOCALESDIR = $(SHAREDIR)/locales
DOCDIR = $(PREFIX)/share/doc/fotoxx
MANDIR = $(PREFIX)/share/man/man1
MENUFILE = $(PREFIX)/share/applications/kornelix-fotoxx.desktop

CFLAGS = $(CXXFLAGS) -c `pkg-config --cflags gtk+-2.0`
LIBS = `pkg-config --libs gtk+-2.0`

fotoxx:  fotoxx.o f.file.o f.tools.o f.select.o f.info.o f.retouch.o \
         f.transform.o f.art.o f.comp.o f.navi.o zfuncs.o 
	$(CXX) $(LDFLAGS) -o fotoxx fotoxx.o f.file.o f.tools.o f.select.o f.info.o \
         f.retouch.o f.transform.o f.art.o f.comp.o f.navi.o zfuncs.o \
         $(LIBS) -ltiff 
	@ ./dependencies.sh

fotoxx.o: fotoxx-$(VERSION) fotoxx.h
	$(CXX) $(CFLAGS) -o fotoxx.o fotoxx-$(VERSION)

f.file.o: f.file.cc fotoxx.h
	$(CXX) $(CFLAGS) f.file.cc

f.tools.o: f.tools.cc fotoxx.h
	$(CXX) $(CFLAGS) f.tools.cc

f.select.o: f.select.cc fotoxx.h
	$(CXX) $(CFLAGS) f.select.cc

f.info.o: f.info.cc fotoxx.h
	$(CXX) $(CFLAGS) f.info.cc

f.retouch.o: f.retouch.cc fotoxx.h
	$(CXX) $(CFLAGS) f.retouch.cc

f.transform.o: f.transform.cc fotoxx.h
	$(CXX) $(CFLAGS) f.transform.cc

f.art.o: f.art.cc fotoxx.h
	$(CXX) $(CFLAGS) f.art.cc

f.comp.o: f.comp.cc fotoxx.h
	$(CXX) $(CFLAGS) f.comp.cc

f.navi.o: f.navi.cc fotoxx.h
	$(CXX) $(CFLAGS) f.navi.cc

zfuncs.o: zfuncs.cc
	$(CXX) $(CFLAGS) zfuncs.cc -D PREFIX=\"$(PREFIX)\"

install: fotoxx
	mkdir -p  $(DESTDIR)$(BINDIR)
	mkdir -p  $(DESTDIR)$(ICONDIR)
	mkdir -p  $(DESTDIR)$(LOCALESDIR)
	mkdir -p  $(DESTDIR)$(DOCDIR)
	mkdir -p  $(DESTDIR)$(MANDIR)
	mkdir -p  $(DESTDIR)$(PREFIX)/share/applications
	cp -f  fotoxx $(DESTDIR)$(BINDIR)
	cp -f  icons/* $(DESTDIR)$(ICONDIR)
	cp -f  locales/* $(DESTDIR)$(LOCALESDIR)
	cp -f -R  doc/* $(DESTDIR)$(DOCDIR)
	# man page
	cp -f doc/fotoxx.man fotoxx.1
	gzip -f -9 fotoxx.1
	cp fotoxx.1.gz $(DESTDIR)$(MANDIR)
	rm -f fotoxx.1.gz
	# menu (desktop) file
	cp -f desktop $(DESTDIR)$(MENUFILE)
	xdg-desktop-menu install $(DESTDIR)$(MENUFILE)

uninstall:
	rm -f  $(DESTDIR)$(BINDIR)/fotoxx
	rm -R -f  $(DESTDIR)$(SHAREDIR)
	rm -R -f  $(DESTDIR)$(DOCDIR)
	rm -f  $(DESTDIR)$(MANDIR)/fotoxx.1.gz
	xdg-desktop-menu uninstall $(DESTDIR)$(MENUFILE)
	rm -f  $(DESTDIR)$(MENUFILE)

clean: 
	rm -f  fotoxx
	rm -f  *.o


