# Makefile JEFPreview
#
CC=gcc
CFLAGS=-Wall -g

all: jefscan jefconvert pesconvert pesscan pjutil_src.tar 
main.o: main.c Makefile pes.h 
pes.o : pes.c Makefile pes.h 
pes1.o : pes1.c Makefile pes.h 
svg.o : svg.c Makefile pes.h 
cairo.o : cairo.c Makefile pes.h 
pesscan.o: pesscan.c Makefile pes.h 
data.o : data.c Makefile pes.h 
png.o: png.c Makefile pes.h 


install: update-mime  gnome-thumbnailer update-applications jefscan  /usr/local/bin/jefconvert /usr/local/bin/pesconvert /usr/local/bin/pesview.sh /usr/local/bin/jefview.sh /usr/local/bin/pesscan   /usr/local/bin/jefscan

jefscan : JEF.o JEFColour.o jefscan.o
	$(CC) -o $@ $^ -lm -lpng -lcairo
 
jefconvert : JEF.o JEFColour.o jefconvert.o
	$(CC) -o $@ $^ -lm -lpng -lcairo

pesscan: pesscan.o pes.o data.o 
	$(CC) -o $@ $^ -lm

pjutil_src.tar: JEF.c JEFColour.h JEF.h jefscan.c Makefile JEFColour.c jefconvert.c JEF-Mime.xml JEF.thumbnailer PES-Mime.xml PES.thumbnailer readme.txt jefview.sh jefview.desktop pesview.desktop pesview.sh main.c pes.c svg.c png.c cairo.c pesscan.c data.c pes.h 
	mkdir -p pjutil_src
	cp -p -u $^ pjutil_src
	tar -cf pjutil_src.tar pjutil_src

jupdate-mime: /usr/local/bin/application-x-jeffile-thumbnailer /usr/share/mime/packages/JEF-Mime.xml /usr/share/thumbnailers/JEF.thumbnailer
	update-mime-database /usr/share/mime
	if [ -d ~/.local/share/mime/packages ]; then   \
	[ -d ~/.local/share/mime/packages/junk ] || mkdir ~/.local/share/mime/packages/junk ; \
	[ -e x-wine-extension-jef.xml ] && mv  x-wine-extension-jef.xml junk  ; \
	[ -e jef.xml ] && mv jef.xml junk  ; \
	[ -e jeffile.xml ] && mv jeffile.xml junk ; \
	update-mime-database  ~/.local/share/mime ; \
	fi 

/usr/share/thumbnailers/JEF.thumbnailer:JEF.thumbnailer
	cp JEF.thumbnailer /usr/share/thumbnailers/

/usr/share/mime/packages/JEF-Mime.xml: JEF-Mime.xml
	cp JEF-Mime.xml /usr/share/mime/packages/

/usr/share/applications/jefview.desktop: jefview.desktop
	cp jefview.desktop /usr/share/applications

/usr/share/applications/pesview.desktop: pesview.desktop
	cp pesview.desktop /usr/share/applications

/usr/local/bin/jefview.sh: jefview.sh
	cp jefview.sh /usr/local/bin 

/usr/local/bin/jefscan: jefscan
	cp jefscan /usr/local/bin 

/usr/local/bin/pesview.sh: pesview.sh
	cp pesview.sh /usr/local/bin 

/usr/local/bin/pesconvert: pesconvert 
	cp pesconvert /usr/local/bin

/usr/local/bin/pesscan: pesscan
	cp pesscan /usr/local/bin

/usr/local/bin/jefconvert: jefconvert 
	cp jefconvert /usr/local/bin

/usr/local/bin/application-x-jeffile-thumbnailer: jefconvert
	cp jefconvert /usr/local/bin/application-x-jeffile-thumbnailer

/usr/local/bin/application-x-pesfile-thumbnailer:pesconvert 
	cp pesconvert /usr/local/bin/application-x-pesfile-thumbnailer

/usr/share/mime/packages/PES-Mime.xml: PES-Mime.xml
	cp PES-Mime.xml /usr/share/mime/packages/

/usr/share/thumbnailers/PES.thumbnailer: PES.thumbnailer
	cp PES.thumbnailer /usr/share/thumbnailers/
	
update-applications: /usr/share/applications/jefview.desktop /usr/share/applications/pesview.desktop /usr/local/bin/jefview.sh /usr/local/bin/pesview.sh /usr/local/bin/pesconvert 
	update-desktop-database

pesconvert: main.o pes.o svg.o png.o cairo.o
	$(CC) -o $@ $^ -lpng -lcairo

update-mime: /usr/local/bin/application-x-jeffile-thumbnailer /usr/share/mime/packages/JEF-Mime.xml /usr/share/thumbnailers/JEF.thumbnailer /usr/share/mime/packages/PES-Mime.xml /usr/share/thumbnailers/PES.thumbnailer /usr/local/bin/application-x-pesfile-thumbnailer
	update-mime-database /usr/share/mime

gnome-thumbnailer:
	gconftool-2 --type bool -s "/desktop/gnome/thumbnailers/application@x-pesfile/enable" "true"
	gconftool-2 --type string -s "/desktop/gnome/thumbnailers/application@x-pesfile/command" "application-x-pesfile-thumbnailer -s %s %i %o"
	gconftool-2 --type bool -s "/desktop/gnome/thumbnailers/application@x-jeffile/enable" "true"
	gconftool-2 --type string -s "/desktop/gnome/thumbnailers/application@x-jeffile/command" "application-x-jeffile-thumbnailer -d 2 -s %s %i %o"

clean:
	rm -fr *.o pjutil_src.tar jefconvert jefscan pesscan pesconvert pjutil_src
