# ukopp makefile 

PROGRAM = ukopp
VERSION = 3.8
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)
ICONDIR = $(DATADIR)/icons
DESKTOP = $(DATADIR)/kornelix-$(PROGRAM).desktop
DOCDIR = $(PREFIX)/share/doc/$(PROGRAM)

$(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)
	cp -f -R doc/* $(DESTDIR)$(DOCDIR)
	cp -f icons/* $(DESTDIR)$(ICONDIR)
	cp -f $(PROGRAM) $(DESTDIR)$(BINDIR)
	@ echo use make menu to install desktop menu

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)

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


