# cpuclock make file

# defaults for parameters that may be pre-defined
# do not use compiler optimizations: -O0
CXXFLAGS += -Wall -g -rdynamic -O0  -Wno-format-truncation -Wno-stringop-truncation
CXXFLAGS += -fpermissive -Wno-write-strings

PKG_CONFIG ?= pkg-config

CFLAGS = $(CXXFLAGS) $(CPPFLAGS) -c                \
   `$(PKG_CONFIG) --cflags gtk+-3.0`               \
   -I/usr/include/cogl/                            \
   -I/usr/include/json-glib-1.0/

LIBS = `pkg-config --libs gtk+-3.0` -lpthread 

cpuclock: cpuclock.o zfuncs.o
	$(CXX) $(LDFLAGS) -o cpuclock cpuclock.o zfuncs.o $(LIBS)         \

cpuclock.o: cpuclock.cc
	$(CXX) $(CFLAGS) -o cpuclock.o cpuclock.cc     \

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

# install application files in standard locations
PREFIX ?= /usr/local
BINDIR = $(PREFIX)/bin
MENUDIR = $(PREFIX)/share/applications
DOCDIR = $(PREFIX)/share/doc/cpuclock
MANDIR = $(PREFIX)/share/man/man1
DATADIR = $(PREFIX)/share/cpuclock
ICONDIR = $(PREFIX)/share/icons
METAINFODIR = $(PREFIX)/share/metainfo
                                         
install: cpuclock uninstall
	mkdir -p  $(DESTDIR)$(BINDIR)
	mkdir -p  $(DESTDIR)$(MENUDIR)
	mkdir -p  $(DESTDIR)$(DOCDIR)
	mkdir -p  $(DESTDIR)$(MANDIR)
	mkdir -p  $(DESTDIR)$(DATADIR)
	mkdir -p  $(DESTDIR)$(ICONDIR)

	cp -f cpuclock $(DESTDIR)$(BINDIR)
	cp -f cpuclock.desktop $(DESTDIR)$(MENUDIR)
	cp -f -R  doc/* $(DESTDIR)$(DOCDIR)
	gzip -fk -9 man/cpuclock.man
	mv -f man/cpuclock.man.gz $(DESTDIR)$(MANDIR)/cpuclock.1.gz
	cp -f -R  data $(DESTDIR)$(DATADIR)
	cp -f -R  images $(DESTDIR)$(DATADIR)
	cp -f cpuclock.png $(DESTDIR)$(ICONDIR)

uninstall:
	rm -f     $(DESTDIR)$(BINDIR)/cpuclock*
	rm -f     $(DESTDIR)$(MENUDIR)/cpuclock*
	rm -f -R  $(DESTDIR)$(DOCDIR)
	rm -f     $(DESTDIR)$(MANDIR)/cpuclock*
	rm -f -R  $(DESTDIR)$(DATADIR)
	rm -f     $(DESTDIR)$(ICONDIR)/cpuclock*

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

