# dkopp makefile 

PROGRAM = dkopp
VERSION = 5.7
SOURCE = $(PROGRAM)-$(VERSION).cc

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

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

BINDIR = $(PREFIX)/bin
DATADIR = $(PREFIX)/share/$(PROGRAM)
DOCDIR = $(PREFIX)/share/doc/$(PROGRAM)
MANDIR = $(PREFIX)/share/man/man1
ICONDIR = $(DATADIR)/icons
DESKTOP = $(DATADIR)/kornelix-$(PROGRAM).desktop

$(PROGRAM): $(PROGRAM).o zfuncs.o
	$(CXX) $(LFLAGS) -o $(PROGRAM) $(PROGRAM).o zfuncs.o

$(PROGRAM).o: $(SOURCE)
	$(CXX) $(CFLAGS) -o $(PROGRAM).o $(SOURCE)		\
	  -D "DATADIR=\"$(DATADIR)\"" -D "DOCDIR=\"$(DOCDIR)\""

zfuncs.o: zfuncs.cc
	$(CXX) $(CFLAGS) zfuncs.cc	\
	  -D "DATADIR=\"$(DATADIR)\"" -D "DOCDIR=\"$(DOCDIR)\"" -D "BINDIR=\"$(BINDIR)\""

install: $(PROGRAM)
	mkdir -p $(DESTDIR)$(DOCDIR)
	mkdir -p $(DESTDIR)$(BINDIR)
	mkdir -p $(DESTDIR)$(DATADIR)
	mkdir -p $(DESTDIR)$(ICONDIR)
	mkdir -p $(DESTDIR)$(MANDIR)
	cp -f -R doc/* $(DESTDIR)$(DOCDIR)
	cp -f icons/* $(DESTDIR)$(ICONDIR)
	cp -f $(PROGRAM) $(DESTDIR)$(BINDIR)
	@ echo use make menu to install desktop menu
	@ echo use make manpage to install man page

menu:
	cp -f desktop $(DESTDIR)$(DESKTOP)
	echo Exec=$(DESTDIR)$(BINDIR)/$(PROGRAM) >> $(DESTDIR)$(DESKTOP)
	echo Icon=$(DESTDIR)$(ICONDIR)/$(PROGRAM).png >> $(DESTDIR)$(DESKTOP)
	xdg-desktop-menu install $(DESTDIR)$(DESKTOP)

manpage:
	cp -f doc/$(PROGRAM).man $(PROGRAM).1
	gzip -f -9 $(PROGRAM).1
	cp -f $(PROGRAM).1.gz $(DESTDIR)$(MANDIR)
	rm -f $(PROGRAM).1.gz

uninstall:
	xdg-desktop-menu uninstall $(DESTDIR)$(DESKTOP)
	rm -f $(DESTDIR)$(BINDIR)/$(PROGRAM)
	rm -R -f $(DESTDIR)$(DOCDIR)
	rm -R -f $(DESTDIR)$(DATADIR)

clean: 
	rm -f $(PROGRAM)
	rm -f *.o

