#*********************************************************************#
#                                                                     #
#                                Htmlc                                #
#                                                                     #
#            Pierre Weis, projet Cristal, INRIA Rocquencourt          #
#                                                                     #
#  Copyright 2000 Institut National de Recherche en Informatique et   #
#  en Automatique.  Distributed only by permission.                   #
#                                                                     #
#*********************************************************************#

# $Id: Makefile,v 1.12 2004/09/22 14:06:13 weis Exp $

include ../config/Makefile

# Makefile to generate the HTML files of a WEB site from their sources
# in another directory.

# Usage:
#
# Initialization:
#  create an empty file named .Makefile.auto in the same directory,
#  fill in the SRC, PACKAGE, and FILES variables below,
#  type make auto to initialize the Makefile included rules.

# Site maintenance (or creation):
#  make (or make all) will rebuild the whole thing
#  make clean will remove all the generated files

# Sources files directory
SRC=../doc_src

# Prefix before regular names
PACKAGE=htmlc

# The list of files for this part of the Web site
FILES=index.htm fra.htm eng.htm
MANFILES=$(PACKAGE).$(MANEXT)

######## This part of the Makefile should automatically handle the
######## generation of object files for the list $(FILES)

# Automatic generation of rules to handle $(FILES)
# Rules are written into auxiliary file $(AUTO) that is included at
# the end of this Makefile.
AUTO=.Makefile.auto

all:: auto expand $(FILES) $(MANFILES)

auto: $(AUTO)

expand:
	cd $(SRC); $(MAKE)

clean:: $(AUTO)
	cd $(SRC); $(MAKE) clean
	$(RM) $(FILES) $(MANFILES)

install: $(FILES) $(MANFILES)
	install -m 444 $(MANFILES) $(MANDIR)

#  Note: make auto regenerates the rules into file .Makefile.auto
# (handled automatically). .Makefile.auto depends upon this Makefile,
# since any addition to the Makefile may leads to the recompilation of
# the rules. Hence,
# make clean all
# will recompute rules and the set of files again.
$(AUTO) : Makefile

$(AUTO) :
	/bin/rm -f $(AUTO)
	echo $(FILES)
	for i in $(FILES); do \
	  j=`basename $$i .htm`; \
	  echo $$j; \
	  echo $$i:: $(SRC)/$(PACKAGE)-$$j.htm >> $(AUTO); \
	  echo "	cp -p $(SRC)/$(PACKAGE)-$$j.htm $$j.htm" >> $(AUTO); \
	  echo "	chmod ug+w $$j.htm " >> $(AUTO); \
	  echo $(SRC)/$(PACKAGE)-$$j.htm: >> $(AUTO); \
	  echo "	cd $(SRC); $(MAKE) $(PACKAGE)-$$j.htm " >> $(AUTO); \
	  echo >> $(AUTO); \
	done
	for i in $(MANFILES); do \
	  j=`basename $$i .$(MANEXT)`; \
	  echo $$j; \
	  echo $$i:: $(SRC)/$$j.$(MANEXT) >> $(AUTO); \
	  echo "	cp -p $(SRC)/$$j.$(MANEXT) $$j.$(MANEXT)" >> $(AUTO); \
	  echo "	chmod ug+w $$j.$(MANEXT) " >> $(AUTO); \
	  echo $(SRC)/$$j.$(MANEXT): >> $(AUTO); \
	  echo "	cd $(SRC); $(MAKE) $$j.$(MANEXT) " >> $(AUTO); \
	  echo >> $(AUTO); \
	done

include $(AUTO)
