# fotoxx makefile 

PROGRAM = fotoxx
VERSION = $(PROGRAM)-11.05.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
DATADIR = $(SHAREDIR)/data
ICONDIR = $(SHAREDIR)/icons
LOCALESDIR = $(SHAREDIR)/locales
DOCDIR = $(PREFIX)/share/doc/fotoxx
MANDIR = $(PREFIX)/share/man/man1
MENUFILE1 = $(DATADIR)/desktop
MENUFILE2 = $(PREFIX)/share/applications/kornelix-fotoxx.desktop

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

fotoxx: fotoxx.o fotoxx_area.o fotoxx_info.o fotoxx_edit.o zfuncs.o
	$(CXX) $(LDFLAGS) fotoxx.o fotoxx_area.o fotoxx_info.o fotoxx_edit.o zfuncs.o \
	                    $(LIBS) -ltiff -o fotoxx 
	@ ./dependencies.sh

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

fotoxx_area.o: fotoxx_area.cc fotoxx.h
	$(CXX) $(CFLAGS) fotoxx_area.cc

fotoxx_info.o: fotoxx_info.cc fotoxx.h
	$(CXX) $(CFLAGS) fotoxx_info.cc

fotoxx_edit.o: fotoxx_edit.cc fotoxx.h
	$(CXX) $(CFLAGS) fotoxx_edit.cc

zfuncs.o: zfuncs.cc
	$(CXX) $(CFLAGS) zfuncs.cc

install: fotoxx
	mkdir -p  $(DESTDIR)$(BINDIR)
	mkdir -p  $(DESTDIR)$(DATADIR)
	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  data/* $(DESTDIR)$(DATADIR)
	cp -f  icons/* $(DESTDIR)$(ICONDIR)
	cp -f -R  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
	echo Exec=/usr/bin/$(PROGRAM) >> $(DESTDIR)$(MENUFILE1)
	echo Icon=/usr/share/$(PROGRAM)/icons/$(PROGRAM).png >> $(DESTDIR)$(MENUFILE1)
	cp $(DESTDIR)$(MENUFILE1) $(DESTDIR)$(MENUFILE2)
	@ echo "*** use make menu to install the desktop menu"

menu:
	xdg-desktop-menu install $(PREFIX)/share/applications/kornelix-fotoxx.desktop

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 $(MENUFILE2)
	rm -f  $(MENUFILE2)

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


