include ../../Config.mk
include ../languages.mk
ifeq ($(PP_FEAT_IMAGE_BUTTONS), 1)
ifneq ($(PP_OEM),belkin) # Belkin image buttons are rendered in a different way
include button_info.mk
include pp_buttons.txt
endif
endif

default:	all

RM		= rm -f

CUT		= cut

ifeq ($(PP_FEAT_IMAGE_BUTTONS), 1)
ifneq ($(PP_OEM),belkin) # Belkin image buttons are rendered in a different way
GIMP		= gimp
GIMPFLAGS	= --console-messages --no-interface
GOUT		= ./button_$$bname.$$lang.gif
GSTRING_START	= "(begin (nn-pp-rc1button-init)"
GSTRING_END	= ")"
GSTRING_ADD	= " (nn-pp-rc1button-add \"$$tstring\" \"$(GOUT)\")"
GSTRING_BUTTON	= "(nn-pp-rc1buttons \"$(FONT)\" '$(TCOLOR) $(TEXT_OPACITY) $(SHADOW) $(SHADOW_OPACITY) $(SCALING) \"_button_left.gif\" \"_button_middle.gif\" \"_button_right.gif\")"
GSTRING_EXIT	= "(gimp-quit 0)"
endif
endif

JAVAC		= $(PP_JAVA_HOME)/bin/javac
JAVACFLAGS	=
JAVA		= $(PP_JAVA_HOME)/bin/java

MSGFMT		= msgfmt
MSGFMTFLAGS	=
MSGFMTJAVAFLAGS	= -j -d . -l $$lang -r Lang

WEBINSTALLDIR	= $(DESTDIR)/lib/webpages

clean:
	$(RM) Translator.class
	for lang in $(GIFLANGUAGES); do                                       \
	    $(RM) $$lang.po;                                                  \
	    $(RM) Lang_$$lang.class;                                          \
	    $(RM) button*.$$lang.gif;                                         \
	done
	
Translator.class: Translator.java
	$(JAVAC) $(JAVACFLAGS) $<

javafiles:
	for lang in $(GIFLANGUAGES); do                                       \
	    cp ../$$lang.po .;                                                \
	    JAVAC=$(JAVAC) $(MSGFMT) $(MSGFMTFLAGS) $(MSGFMTJAVAFLAGS) $$lang.po;            \
	done

giffiles:
ifeq ($(PP_FEAT_IMAGE_BUTTONS), 1)
ifneq ($(PP_OEM),belkin) # Belkin image buttons are rendered in a different way
	for button in left middle right; do                                   \
	    test -f $(OEMDIR)/button_$${button}.gif                           \
	     && ln -sf $(OEMDIR)/button_$${button}.gif _button_$${button}.gif \
	     || ln -sf button_$${button}.gif _button_$${button}.gif;          \
	done
	gstring=`echo $(GSTRING_START)`;                                      \
	for lang in $(GIFLANGUAGES); do                                       \
	    for buttonstring in $(STRINGS); do                                \
	        ostring=`echo $$buttonstring | $(CUT) -f1 -d"|"`;             \
	        tstring=`$(JAVA) Translator $$lang "$$ostring"`               \
	        bname=`echo $$buttonstring | $(CUT) -f2 -d"|"`;               \
	        gstring=`echo -n $$gstring; echo $(GSTRING_ADD)`;             \
	    done;                                                             \
	done;                                                                 \
	gstring=`echo -n $$gstring; echo $(GSTRING_BUTTON)`;                  \
	gstring=`echo -n $$gstring; echo $(GSTRING_END)`;                     \
	GIMP2_DIRECTORY="$(PWD)/gimp" $(GIMP) $(GIMPFLAGS) --batch "$$gstring" $(GSTRING_EXIT) 2>&1 | tee gimp.log
	grep -q "^batch command: executed successfully.$$" gimp.log
endif
endif

all:	Translator.class javafiles giffiles

install: all
ifeq ($(PP_FEAT_IMAGE_BUTTONS), 1)
ifneq ($(PP_OEM),belkin) # Belkin image buttons are rendered in a different way
	$(INSTALL) -d -m 755 $(WEBINSTALLDIR)
	for lang in $(GIFLANGUAGES); do                                       \
	    $(INSTALL) -m 644 button*.$$lang.gif $(WEBINSTALLDIR);               \
	done
endif
endif
