#*=====================================================================*/
#*    serrano/prgm/project/hop/weblets/hyphenator-api/Makefile         */
#*    -------------------------------------------------------------    */
#*    Author      :  Manuel Serrano                                    */
#*    Creation    :  Fri Jan 20 14:35:57 2006                          */
#*    Last change :  Wed May 26 14:17:28 2010 (serrano)                */
#*    Copyright   :  2006-10 Manuel Serrano                            */
#*    -------------------------------------------------------------    */
#*    Generic Makefile to build Hop weblets.                           */
#*=====================================================================*/
## run "make" to build the .hz file

#*---------------------------------------------------------------------*/
#*    Weblet description                                               */
#*---------------------------------------------------------------------*/
HZ=hyphenator-api
VERSION=1.2.0
CATEGORY=office
LICENSE=LGPL v3

MINHOP=2.1.0
MAXHOP=
HOST=http://hop.inria.fr
WEBLETHOME=$(HOST)/hop/weblets/homepage?weblet=$(HZ)
DOWNLOAD=$(HOST)/hop/weblets/download?weblet=$(HZ)-$(VERSION).hz

CLIENT_SOURCES=hyphenator-api.hss Hyphenator.js patterns 
SOURCES=$(CLIENT_SOURCES) hyphenator-api.hop config.hop.in hyphenator-api.scm
DASHBOARDPNG=

FILES=$(SOURCES) \
  etc/logo.png etc/favicon.png etc/$(HZ).wiki.in etc/weblet.info.in \
  etc/homepage/01-homepage.wiki etc/homepage/01-homepage.png \
  etc/doc.png etc/prefs.png \
  $(DASHBOARDPNG) \
  Makefile

HOPREPOSITORY=$$HOME/prgm/project/hop/repository

#*---------------------------------------------------------------------*/
#*    Common configuration                                             */
#*---------------------------------------------------------------------*/
OBJECTS=$(SOURCES:%.in=%)
PUBLISHER=http://hop.inria.fr/hop/weblets/synclist
DATE=$(shell date +'%d %B %Y')
AFILE=bglafile
BTAGS=bgltags

#*---------------------------------------------------------------------*/
#*    SUFFIXES                                                         */
#*---------------------------------------------------------------------*/
.SUFFIXES: .hz .wiki .hop .info

#*---------------------------------------------------------------------*/
#*    Specific rules                                                   */
#*---------------------------------------------------------------------*/
hz: $(HOPREPOSITORY)/$(HZ)-$(VERSION).hz

$(HOPREPOSITORY)/$(HZ)-$(VERSION).hz: .afile .etags \
                                      $(OBJECTS) \
                                      $(FILES) \
                                      etc/weblet.info \
                                      etc/$(HZ).wiki \
                                      etc/logo.png
	mkdir -p $(HOPREPOSITORY) && \
	(cd ..; tar cvfz $@ --exclude='$(HZ)/private' --exclude='*~' $(^:%=$(HZ)/%))

etc/weblet.info: etc/weblet.info.in Makefile
	cat $< | sed -e "s|@HZ@|$(HZ)|" \
                     -e "s|@TITLE@|$(TITLE)|" \
                     -e "s|@VERSION@|$(VERSION)|" \
                     -e "s|@MINHOP@|$(MINHOP)|" \
                     -e "s|@MAXHOP@|$(MAXHOP)|" \
                     -e "s|@PUBLISHER@|$(PUBLISHER)|" \
                     -e "s|@DATE@|$(DATE)|" \
                     -e "s|@HOME@|$(WEBLETHOME)|" \
                     -e "s|@DOWNLOAD@|$(DOWNLOAD)|" \
                     -e "s|@LICENSE@|$(LICENSE)|" \
                     -e "s|@CATEGORY@|$(CATEGORY)|" > $@

%.wiki: %.wiki.in Makefile
	cat $< | sed -e "s|@VERSION@|$(VERSION)|" \
                     -e "s|@MINHOP@|$(MINHOP)|" \
                     -e "s|@HZ@|$(HZ)|" \
                     -e "s|@MAXHOP@|$(MAXHOP)|" \
                     -e "s|@HOST@|$(HOST)|" \
                     -e "s|@DATE@|$(DATE)|" \
                     -e "s|@PUBLISHER@|$(PUBLISHER)|" \
                     -e "s|@TITLE@|$(TITLE)|" \
                     -e "s|@HOME@|$(WEBLETHOME)|" \
                     -e "s|@DOWNLOAD@|$(DOWNLOAD)|" \
                     -e "s|@LICENSE@|$(LICENSE)|" \
                     -e "s|@CATEGORY@|$(CATEGORY)|" > $@

config.hop: config.hop.in Makefile
	cat $< | sed -e "s|@VERSION@|$(VERSION)|" \
                     -e "s|@TITLE@|$(TITLE)|" \
                     -e "s|@MINHOP@|$(MINHOP)|" \
                     -e "s|@DATE@|$(DATE)|" \
                     -e "s|@HOST@|$(HOST)|" \
                     -e "s|@URL@|$(URL)|" \
                     -e "s|@REPOSITORY@|$(PUBLICREPOSITORY)|" \
                     -e "s|@HOME@|$(WEBLETHOME)|" \
                     -e "s|@DOWNLOAD@|$(DOWNLOAD)|" \
                     -e "s|@LICENSE@|$(LICENSE)|" \
                     -e "s|@CATEGORY@|$(CATEGORY)|" > $@

.afile: $(filter %.scm %.hop %.sch, $(OBJECTS))
	$(AFILE) -w -suffix hop $^ -o $@

.etags: $(filter %.scm %.hop %.sch, $(OBJECTS))
	$(BTAGS) --ignore-error -suffix hop --define-fun define-service $^ -o $@

.hop:
	echo -n "(" > $@
	for p in $(CLIENT_SOURCES:%.in=%); do \
          echo -n "\"$$p\" " >> $@; \
        done
	echo ")" >> $@

clean:
	/bin/rm -f etc/weblet.info
	/bin/rm -f .afile .etags .hop

getsources: 
	@echo $(filter %.scm %.hop %.sch, $(FILES))
