# Automatic FrenchPro style files installation for Unix & LaTeX
#
# Vous n'avez pas besoin d'etre "root" ou super-utilisateur pour installer
# FrenchPro a l'essai sur votre compte. Toute installation avec "root"
# necessitera une licence site. Placez le dossier "french" dans ~/texmf/source/
# pour une installation perso ou sinon, pour un site, dans un endroit du 
# genre : /usr/local/texmf-local/source/
# A la fin de l'installation $PATH est eventuellement a modifier pour
# acceder aux differentes commandes (frtex, frlatex, ... et/ou FrenchPro).
#
# Ce fichier contient presque toute la mcanique d'installation de FrenchPro.
# Vous n'avez pas, a priori, a modifier ce fichier (toutes les variables
# peuvent etre introduites a l'appel de la commande "make").
# Ce fichier s'utilise avec GNU "make"/"gmake" ; il suffit de taper :
# "gmake -f GNUmakefile" (l'indication du nom de fichier est normalement
# inutile car c'est le nom par defaut).
#
# Si vous n'avez pas de commande GNU "make" vous avez forcement une commande
# make dans votre systeme (sauf avec MacOs X ou il faut aller chercher 
# "gnumake" dans les outils complmentaires). 
# La procedure a suivre quand on n'a pas de GNU make est alors de recopier
# "makefile.gen" en "makefile" et d'adapter ce "makefile" a votre 
# environnement systeme.
#
# La variable $LANG est utilisee par defaut pour les messages console ;
# si necessaire choisir LANG=fr pour avoir les messages en francais :
#  "gmake -f GNUmakefile LANG=fr"
#
# L'installation est realisee par defaut dans la hierarchie $TEXMFLOCAL
# sinon dans $TEXMFHOME ou enfin dans $TEXMFMAIN. Si vous n'avez pas 
# autorite pour ecrire dans les fichiers necessaires alors $TEXMFHOME
# sera choisi. C'est la variable $DESTDIR qui vous indiquera le choix 
# realise ; a vous de voir si c'est le bon et sinon de modifier cette 
# variable (il vous sera demand confirmation).
#
# Avec l'option NONSTOP=nonstop l'installation complete est realisee sans
# intervention de votre part ; les formats frtex, frlatex, frpdftex, 
# frpdflatex, fretex et frelatex seront automatiquement crees.
#
# Attention : 
#       -  par dfaut FrenchPro suppose que vous avez install
# TeXLive 2004 ou suprieur ; si ce n'est pas le cas vous pouvez coder
# TL2004="NO". A noter que depuis TeXLive 2003 le moteur utilise pour 
# realiser le format LaTeX est base sur eTeX (et non plus TeX) ; si ce
# n'est pas ce que vous voulez il suffit de coder TL2003="NO" a 
# l'appel de GNUmakefile.
#
# Pour d'autres informations essayer "make help"/"gmake help".
#
# Bonne installation.
#
#                                        Bernard GAULLE
#                                    (email: frenchprobg -CHEZ- free.fr)
#                                ma derniere revision date du 2007/04/04
########################################################################
#
# This file "GNUmakefile" will generate a "makefile.gen" file for
# further installation steps from file "Makefile.in".
# If you don't have the GNU make command, please then 
# copy "makefile.gen" as "makefile" for any modification.
# "GNUmakefile" is usually the default file name for GNU make
# but you should be more confident if you type it in.
#
# So, please, you should type in: "gmake -f GNUmakefile"
#
# $LANG environnement variable is used to select the language
# for messages (either set to "en" [English] or "fr" [French]).
#
# Depending of authorization files will be installed in the $TEXMFLOCAL 
# hierarchy (otherwise $TEXMFHOME or $TEXMFMAIN); so if you have 
# running "gmake" as well as teTeX/TeXLive, just type "gmake -f GNUmakefile" 
# and the first step will be done automatically for you. You will be
# asked then to type in few other commands for the last steps.
#   
########################################################################
#   Start of customization section
########################################################################
MAXLOGS=YES# Keep all logs in GNUmakefile.log
#SHELL=/bin/sh# The usual shell for makefile.
SEP=:# the usual unix field separator
DVNF=/dev/null# The usual null file.
DNF=/dev/null# Our cumulative null file.
LNS=ln -s# The usual unix link fashion.

CODEC="LC_CTYPE=${LCCTYPE}"# This is like our codec.
XPWD=$(shell $(SHELL) -ec "pwd")# This is where we are.
WHOAMI=$(shell $(SHELL) -ec "whoami")# This is the login name.
UMASK=$(shell $(SHELL) -ec "umask")# May explain few pb.
ISshOK=$(shell $(SHELL) -ec "type echo >>${DNF} && echo YES || echo ")
EMPTY=

ifneq ($(WHOAMI),$(EMPTY))
LOGINNAME="login=$(WHOAMI)"
endif

#
# 0) Choose your language for messages (if not set in your environnement)
#LANG=fr# for French
#LANG=en# for English
#    Set your OS to Windows if compatible, defaultly any Unix is assumed.
#OS=Windows#
#    Try to authorize blank in file/dircetory names, except for Windows.
EB=sed -e "s/ /\\\\ /g"# Put an escape to protect blank.
#
# Defaults : hyconfig and kbconfig configurators are used.
# 1) Choose your input encoding for kbconfig (i.e. the keyboard package):
#    decmulti, ansinew, ascii, cp850, next, applemac, latin1, latin9, utf8
ifeq ($(FOR),MAC)#
OSTYPE=darwin_forced#
else
OSTYPE=$(shell $(SHELL) -ec 'echo "$$OSTYPE" | \
                           sed -e "s/darwin.*/darwin/"')#
endif
VID="'$$$$'"# "$" is system dependend variable id for unix shell.
ifeq ($(FOR),PC)#
  OS=Windows_forced#
endif
SUPERUSERD=su ; #
SUPERUSERF=exit ; #

#LCCTYPE=iso_latin_15# ISO-Latin-9 for the C library.
LCCTYPE=$(shell ${SHELL} -ec "echo '$(LC_CTYPE)' | \
                     sed -e 's!_.*!!' -e 's!@.*!!'")
ifeq ($(LCCTYPE),)
LCCTYPE=$${LC_CTYPE}
endif
ifeq ($(LCCTYPE),)# To decode LCCTYPE from, e.g., LANG=fr_FR.UTF8
LCCTYPE=$(shell ${SHELL} -ec "echo '$(LANG)' | \
                     sed -e 's!^.*[.]!!' | tr [:upper:] [:lower:]")
endif

ifeq ($(OSTYPE),darwin)#
   ifneq (${INITID},xe)# If not XeTeX wanted.
     IENCODING=applemac# applemac is the default for MacOs X   
   else
     IENCODING=utf8# utf8 is the default for XeTeX
     EXTENDEDMODE=NO# XeTeX don t generate .efmt
   endif
   THEOSTYPE=${OSTYPE}
   CODEC="OSTYPE=${OSTYPE}"
   SUPERUSERD=sudo #
   SUPERUSERF=#
   ifeq ($(WHOAMI),root)
        IsItRoot=YES
	CMDO=sudo # do it with sudo cmd.
   endif
else
   ifeq ("$(LCCTYPE)","utf8")
     IENCODING=utf8#   Unicode new French encoding default for Unix
   else
     IENCODING=latin9# ISO-Latin-9 is the default French encoding for Unix
   endif
   AUTREOS=$(shell $(SHELL) -ec 'echo "${OS}" | sed -e "s/_.*//"')#
   ifneq ($(OSTYPE),)
   THEOSTYPE=${OSTYPE}
   endif
   ifeq ($(OS),windows)
	AUTREOS=Windows#
   endif
   ifeq ($(OS),WINDOWS)
	AUTREOS=Windows#
   endif
   ifeq (${OS},Windows)#
	AUTREOS=Windows#
   endif
   ifeq (${AUTREOS},Windows)#
	IENCODING=ansinew#   ansinew is the default French encoding for Windows
	SEP=\;# the usual windows field separator, not unix command sep.
	DVNF=${XPWD}/devnull
	DNF=${XPWD}/devnull
	LNS=${SHELL} ${XPWD}/bin/lns
	CODEC="OS=${OS}"
	LFADD=${LF} ${MAKENAME2} ${LFARG} >>${DNF}
	EB=cat -# No escape-blank.
        THEOSTYPE=${AUTREOS}
        VID=#
   endif
endif
ifeq ($(WHOAMI),root)
TYPEL=site# This is a site installation.
MODEL=${MODI}
else # use usual teTeX/TeXLive script
TSYS=
endif

PWDWC=$(shell $(SHELL) -ec 'echo "${XPWD}" | wc -w')
MYPWD=$(shell $(SHELL) -ec 'echo "${XPWD}" | ${EB}')

# Don't know why i don't obtain below all tokens such as "fr_FR"
#ifeq (${LC_CTYPE},)
#CODEC=$(shell  $(SHELL) -ec 'locale 2>>${DNF}| grep "LC_CTYPE="')
#endif

# 2) Choose your installation pgm and attributes
# Either cp, install BSD or install SYSTEM V:
# On SYSTEM V you could have to give also your usersname and group id.
INSTALLOPT=-c#
#INTERACTIVE=-i# for the "cp" commands
#INSTALLCMD=cp
#INSTALLCMD=/usr/ucb/install ${INSTALLOPT}# for SOLARIS 7
#INSTALLCMD=/usr/bin/installbsd ${INSTALLOPT}# on AIX 4.1! 
#INSTALLCMD=/etc/install# on HP-UX
ifeq (${AUTREOS},Windows)#
INSTALLCMD=install ${INSTALLOPT}#
endif
ifeq (${INSTALLCMD},)
INSTALLCMD=$(shell ${SHELL} -ec "type install | sed -n 's/install is //p'") \
           ${INSTALLOPT}
endif
ifeq (${INSTALLCMD},)
INSTALLCMD=$(shell ${SHELL} -ec "type installbsd | \
					      sed -n 's/installbsd is //p'") \
           ${INSTALLOPT}
endif
ifeq (${INSTALLCMD},)
INSTALLCMD=/usr/bin/install ${INSTALLOPT}#
endif

CAT=cat#
CP=${INSTALLCMD}#
MODBIN=-m 755# chmod for binaries.
MODTXT=-m 644# chmod for textual files.

MOD4ME=gu+rx # chmod i need for installing my own files.
ifeq (${AUTREOS},Windows)#
MOD4ME=ogu+rx # chmod i need for installing my own files under Windows.
endif

INTERACTIVE=#

# Let's see if we have MiKTeX (in fact initexmf)
VISMiKTeX=$(shell $(SHELL) -ec 'initexmf --version 2>>${DNF}\
           | grep "MiKTeX" >>${DNF} && echo YES || echo ')
ISMiKTeX=${VISMiKTeX}
ENGINE=TeX#
EXTINI=.ini# extension for intex files (e.g: frpdflatex.fpi)
ifeq (${ISMiKTeX},YES)# case MiKTeX forced thru arg.
  ENGINE=MiKTeX#
  ANORM=@${ECHO} 
# MikTeX 2.5 or higher is supposed installed, if not code MIKTEX25="NO".
  ifeq (${MIKTEX25},NO)# was not eTeX before MikTeX 2.5 (09/2006)
       EXTENDEDMODE=NO
       TL2004=NO
       EXTINI=.ini
  else # Now we must change extension bec. config files have the same name.
       EXTINI=.fpi# new extension for intex files (e.g: frpdflatex.fpi)
  endif
  ifneq (${VISMiKTeX},YES)
  ANORM=@${ECHO} ${E1H} ; ${ECHO} ${E46} ; ${ECHO} ${E47} ; exit 1 
  endif
endif
ifneq (${ISMiKTeX},YES)
# Let's see if we have teTeX (in fact kpsewhich)
VISteTeX=$(shell $(SHELL) -ec "kpsewhich -h 2>>${DNF} >>${DNF} \
                              && echo YES || echo ")
ISteTeX=${VISteTeX}
KPSL=kpsewhich.log
endif
ifeq (${ISteTeX},YES)# case teTeX forced thru arg.
  ENGINE=teTeX/TeXLive#
  ANORM=@${ECHO} 
  ifneq (${VISteTeX},YES)
  ANORM=@${ECHO} ${E1H} ; ${ECHO} ${E46} ; ${ECHO} ${E47} ; exit 1 
  endif
endif
# Let's see if we have mkdirhier
ISITmkdirhier=$(shell $(SHELL) -ec "\
                      mkdirhier tst 2>>${DNF} && echo YES || echo ")
# Let's see if we have lex and flex
ISITlex=$(shell $(SHELL) -ec "lex -h 2>>${DNF} >>${DNF} && echo YES || echo ")
ISITflex=$(shell $(SHELL) -ec "flex -h 2>>${DNF} >>${DNF} && echo YES || echo ")

# Let's see if we have gawk
ISITgawk=$(shell $(SHELL) -ec "gawk 2>>${DNF} >>${DNF} && echo YES || echo ")
ifeq ($(ISITgawk),YES)
    AWK=gawk
else
    AWK=awk
endif

# Default environnement variable ALLTEXPATH can be set to /usr/local/...
# to define TEXMFMAIN and BINDIR directory (no teTeX engine)
SRCROOT=$(shell $(SHELL) -ec 'echo "${ALLTEXPATH}" | ${EB}')#Save it ...

BSR=sed 's!\\!/!g'

# $TEXMFMAIN is the root directory for your TeX site
# (usually TEXMFMAIN=/usr/local/share/texmf).
# The makefile will try below for a teTeX engine to guess which tey are.
# With teTeX we have to clean a little its TEXMF variable:
MYTEXMF=$(shell $(SHELL) -ec 'echo "${TEXMF}" | ${EB}')

ifeq ($(ISteTeX),YES)
TEXMFLOCAL=$(shell kpsewhich --expand-var '$$TEXMFLOCAL' | ${BSR} | ${EB})
HOMETEXMF=$(shell kpsewhich --expand-var '$$HOMETEXMF'   | ${BSR} | ${EB})
THT=HOMETEXMF
  ifndef ($(HOMETEXMF))# Test teTeX Fedora core 4, TeXLive 2005, Ubuntu 10
# User's trees:
HOMETEXMF=$(shell kpsewhich --expand-var '$$TEXMFHOME'   | ${BSR} | ${EB})
THT=TEXMFHOME
HOMETREE=${HOMETEXMF}
    ifneq (${IsItRoot},YES)
#TMFCONFIG=$(shell kpsewhich --expand-var '$$TEXMFCONFIG' | ${BSR} | ${EB})
TMFVAR=$(shell kpsewhich --expand-var '$$TEXMFVAR'        | ${BSR} | ${EB})
TSYS=
    else
# Site's trees:
TMFCONFIG=$(shell kpsewhich --expand-var '$$TEXMFSYSCONFIG' \
                                                         | ${BSR} | ${EB})
TEXMFVAR=$(shell kpsewhich --expand-var '$$TEXMFVAR'     | ${BSR} | ${EB})
TMFVAR=$(shell kpsewhich --expand-var '$$TEXMFSYSVAR'    | ${BSR} | ${EB})
# teTeX/TeXLive root scripts should end with:
TSYS=-sys
    endif                                                         
  endif
TEXMFMAIN=$(shell kpsewhich --expand-var '$$TEXMFMAIN'   | ${BSR} | ${EB})
MYTEXMF=$(shell kpsewhich --expand-var '$$TEXMF'         | ${BSR} | ${EB})
ISIT227TCX=$(shell $(SHELL) -ec "test -f '${TEXMFMAIN}/web2c/cp227.tcx' >>${DNF} && echo YES || echo ")
endif

# With teTeX you should have an environment $TEXMFLOCAL allready set or
# $HOMTEXMF (if no $TEXMFLOCAL) or at least $TEXMFMAIN to inform 
# the makefile where to move the french files.
# Destination can be set via $DESTDIR variable, otherwise the order
# of choice is: 1- TEXMFLOCAL 2- HOMETEXMF 3- TEXMFMAIN
ALLTEXPATH=${TEXMFLOCAL}
ifneq ($(DESTDIR),$(EMPTY))
ALLTEXPATH=${DESTDIR}
endif
ATP=${ALLTEXPATH}
ATPWC=$(shell $(SHELL) -ec 'echo "${ATP}" | wc -w')

MYFMTUTILCNF= fr???.ini# for msg 312 MiKTeX
ifeq ($(ISteTeX),YES)
CommonTeX=YES
ENGINE=teTeX/TeXLive
HOMEWEB2C=${HOMETEXMF}/web2c
HOMETEXMFCNF=${HOMEWEB2C}/texmf.cnf
NWF=--format='web2c files'
REALTEXMFCNF=$(shell kpsewhich texmf.cnf                 | ${BSR} | ${EB})
ifeq (${REALTEXMFCNF},)
REALTEXMFCNF=$(shell kpsewhich ${NWF} texmf.cnf          | ${BSR} | ${EB})
endif
MYTEXMFCNF=${REALTEXMFCNF}
REALFMTUTILCNF=$(shell kpsewhich fmtutil.cnf             | ${BSR} | ${EB})
ifeq (${REALFMTUTILCNF},)
REALFMTUTILCNF=$(shell kpsewhich ${NWF} fmtutil.cnf      | ${BSR} | ${EB})
endif
MYFMTUTILCNF=${REALFMTUTILCNF}
# The following will not provide the real path to pdftex.cfg.
#REALPDFTEXCFG=$(shell kpsewhich pdftex.cfg               | ${BSR} | ${EB})
#    ifneq ($(REALPDFTEXCFG),${EMPTY})
#      COPYPDFTEXCFG=${CP} ${MODTXT} ${REALPDFTEXCFG} pdftex.cfg
#      DELPDFTEXCFG=${RM} pdftex.cfg
#    endif
HOMEFMTUTILCNF=${HOMEWEB2C}/fmtutil.cnf
HFCexists=$(shell ${SHELL} -ec \
	"test -f '${HOMEFMTUTILCNF}' >>${DNF} && echo YES || echo ")
#MYFRLDAT=$(shell kpsewhich frlicense.dat                 | ${BSR} | ${EB})
endif
#
LSLSR=ls -l ${ATP}/ls-R# check for ls-R
LSLSRD=ls -ld ${ATP}#

ifeq (${ISMiKTeX},YES)
	CommonTeX=YES
	ENGINE=MiKTeX
	TEXMFLOCAL=$(shell initexmf --report | grep "root \#0:  -ld  " | \
	             sed 's!root \#0:  -ld  !!g' | ${BSR})
	TEXMFMAIN=$(shell initexmf --report | grep "root \#1:  i-d  " | \
	             sed 's!root \#1:  i-d  !!g' | ${BSR})
	TEXMFWAIN=$(shell initexmf --report | grep "root \#0:  ild  " | \
	             sed 's!root \#0:  ild  !!g' | ${BSR})
	MYTEXMF=${TEXMFMAIN}
	ifeq (${MYTEXMF},$(EMPTY))
		TEXMFMAIN=${TEXMFWAIN}
		MYTEXMF=${TEXMFWAIN}
	endif
	ifeq (${TEXMFLOCAL},$(EMPTY))
		TEXMFLOCAL=${TEXMFWAIN}
	endif
	MYFMTINIDIR=${TEXMFLOCAL}/miktex/config
	MYFMTINI=formats.ini
	MYCNFINIDIR=${TEXMFLOCAL}/miktex/config
	ifeq (${VISMiKTeX},YES)
	MYFMTINI=formatsfp.ini
	MYMIKTEXDIR=${MYPWD}/miktex
	MYCNFINIDIR=${MYMIKTEXDIR}/config
	MYFMTINIDIR=${MYMIKTEXDIR}/config
	MIKTEXFMTDIR=${TEXMFLOCAL}/miktex/config
	MIKTEXCNFDIR=${TEXMFLOCAL}/miktex/config
	endif
#INUTILIS ?	CNFINIDIR=${TEXMFLOCAL}/miktex/config
       ifeq (${MIKTEX25},NO)
	     MYCNFINIP=miktex.ini
	     MYCNFINIL=miktex.ini
	     MYCNFINIS=miktex.ini
	else
	     MYCNFINIP=${PFMTNAME}.ini
	     MYCNFINIL=${LFMTNAME}.ini
	     MYCNFINIS=${PFMTNAME}.ini, ${LFMTNAME}.ini
	endif
	M2122=(${ECHO} ${E21}; ${ECHO} ${E22};\
	       exit 1)
else
	M2122=(${ECHO} ${E21}; ${ECHO} ${E22};\
	       ${LSLSRD}/ ; ${LSLSRD}/ >>${MYPWD}/${THELOG} ;\
	       ${LSLSR}; ${LSLSR} >>${MYPWD}/${THELOG};\
	       ${LSLSRD}/tex/ ; ${LSLSRD}/tex/ >>${MYPWD}/${THELOG};\
	       ${LSLSRD}/tex/fptry.tex ; ${LSLSRD}/tex/fptry.tex >>${MYPWD}/${THELOG};\
               ${ECHO} ${E23}; exit 1)
endif
#
ifeq ($(ATP),$(EMPTY))
	ATP=${TEXMFLOCAL}
endif

WriteAble=$(shell ${SHELL} -ec \
			"test -w '${ATP}' >>${DNF} && echo YES || echo ")
   ifneq (${WriteAble},YES)
	ATP=
   endif
#
ifeq ($(ATP),$(EMPTY))
	ATP=${HOMETEXMF}
	WriteAble=$(shell ${SHELL} -ec \
			"test -w '${ATP}' >>${DNF} && echo YES || echo ")
   ifneq (${WriteAble},YES)
     ATP=
   endif
endif

ifeq ($(ATP),$(EMPTY))
	ATP=${TEXMFMAIN}
endif

# For site installation, avoid to modify TEXMFMAIN CNFs but TEXMFLOCAL ones.
# (if any CNF chosen is in TEXMFMAIN put both in TEXMFLOCAL)
GOw2c=${ECHO} ""
ifeq ($(ISteTeX),YES)
  ifeq (${WHOAMI},root)
    ifeq ("${REALTEXMFCNF}","${TEXMFMAIN}/web2c/texmf.cnf")
    W2Cexists=$(shell ${SHELL} -ec \
	"test -d '${TEXMFLOCAL}/web2c/' >>${DNF} && echo YES || echo ")
	ifneq (${W2Cexists},YES)
          GOw2c=${MKDIRS} ${TEXMFLOCAL}/web2c/ 
        endif
    GOhtc=${GOw2c} ;\
	  echo "${RM} ${TEXMFLOCAL}/web2c/texmf.cnf" >> ${MYPWD}/uninstall.sh ;\
          ${CP} ${MODTXT} ${REALTEXMFCNF} ${TEXMFLOCAL}/web2c/ ;
    MYTEXMFCNF=${TEXMFLOCAL}/web2c/texmf.cnf
# any way we should force fmtutil.cnf to be in the same place:
       ifneq (${REALFMTUTILCNF},${TEXMFLOCAL}/web2c/fmtutil.cnf)
          GOhfc=\
	  echo "${RM} ${TEXMFLOCAL}/web2c/fmtutil.cnf" >> ${MYPWD}/uninstall.sh ;\
	  ${CP} ${MODTXT} ${REALFMTUTILCNF} ${TEXMFLOCAL}/web2c/ ;
          MYFMTUTILCNF=${TEXMFLOCAL}/web2c/fmtutil.cnf
       endif
    endif
    ifeq ("${REALTEXMFCNF}","${TEXMFLOCAL}/web2c/texmf.cnf")
# any way we should force fmtutil.cnf to be in the same place:
       ifneq (${REALFMTUTILCNF},${TEXMFLOCAL}/web2c/fmtutil.cnf)
          GOhfc=\
	  echo "${RM} ${TEXMFLOCAL}/web2c/fmtutil.cnf" >> ${MYPWD}/uninstall.sh ;\
	  ${CP} ${MODTXT} ${REALFMTUTILCNF} ${TEXMFLOCAL}/web2c/ ;
          MYFMTUTILCNF=${TEXMFLOCAL}/web2c/fmtutil.cnf
       endif
    endif
    ifeq ("${REALFMTUTILCNF}","${TEXMFMAIN}/web2c/fmtutil.cnf")
	ifneq (${W2Cexists},YES)
          GOw2c=${MKDIRS} ${TEXMFLOCAL}/web2c/ 
        endif
    GOhfc=${GOw2c} ;\
	  echo "${RM} ${TEXMFLOCAL}/web2c/fmtutil.cnf" >> ${MYPWD}/uninstall.sh ;\
          ${CP} ${MODTXT} ${REALFMTUTILCNF} ${TEXMFLOCAL}/web2c/ ;
    MYFMTUTILCNF=${TEXMFLOCAL}/web2c/fmtutil.cnf
# any way we should force texmf.cnf to be in the same place:
       ifneq (${REALTEXMFCNF},${TEXMFLOCAL}/web2c/texmf.cnf)
          GOhfc=\
	  echo "${RM} ${TEXMFLOCAL}/web2c/texmf.cnf" >> ${MYPWD}/uninstall.sh ;\
	  ${CP} ${MODTXT} ${REALTEXMFCNF} ${TEXMFLOCAL}/web2c/ ;
          MYTEXMFCNF=${TEXMFLOCAL}/web2c/texmf.cnf
       endif
    endif
    ifeq ("${REALFMTUTILCNF}","${TEXMFLOCAL}/web2c/fmtutil.cnf")
# any way we should force texmf.cnf to be in the same place:
       ifneq (${REALTEXMFCNF},${TEXMFLOCAL}/web2c/texmf.cnf)
          GOhfc=\
	  echo "${RM} ${TEXMFLOCAL}/web2c/texmf.cnf" >> ${MYPWD}/uninstall.sh ;\
	  ${CP} ${MODTXT} ${REALTEXMFCNF} ${TEXMFLOCAL}/web2c/ ;
          MYTEXMFCNF=${TEXMFLOCAL}/web2c/texmf.cnf
       endif
    endif
  endif
endif

# Original CNF should be writable, if not go back to home.
ifeq ($(ISteTeX),YES)
   WriteAble=$(shell ${SHELL} -ec \
			"test -w '${REALTEXMFCNF}' >>${DNF} && echo YES || echo ")
   ifneq (${WriteAble},YES)
     ifneq (${HOMETEXMF},${EMPTY})
     W2Cexists=$(shell ${SHELL} -ec \
	"test -d '${HOMEWEB2C}' >>${DNF} && echo YES || echo ")
	ATP=${HOMETEXMF}
	FIRSTBIN=${HOMETEXMF}/bin
	NECESSARYFPCMD=FrenchPro #
	MYTEXMFCNF=${HOMETEXMFCNF}
	MYFMTUTILCNF=${HOMEFMTUTILCNF}
	ifneq (${W2Cexists},YES)
	  GOw2c=${MKDIRS} ${HOMEWEB2C} 
	endif
        HTCexists=$(shell ${SHELL} -ec \
	          "test -f '${HOMETEXMFCNF}' >>${DNF} && echo YES || echo ")
	ifneq (${HTCexists},YES)
	  GOhtc=${GOw2c} ; \
	  echo "${RM} ${TEXMFLOCAL}/web2c/texmf.cnf" >> ${MYPWD}/uninstall.sh ;\
	  ${CP} ${MODTXT} ${REALTEXMFCNF} ${HOMETEXMFCNF} ;\
	  echo " " >>${HOMETEXMFCNF} ; \
          echo "% The following lines were added by FrenchPro ${VFP}" >>${HOMETEXMFCNF} ; \
	  ${ECHO} ${E48} ;
	  DELhtc=${RM} ${HOMETEXMFCNF} ;
	endif
	ifneq (${HFCexists},YES)
	  GOhfc=${GOw2c} ; \
	  echo "${RM} ${TEXMFLOCAL}/web2c/fmtutil.cnf" >> ${MYPWD}/uninstall.sh ;\
	  ${CP} ${MODTXT} ${REALFMTUTILCNF} ${HOMEFMTUTILCNF} ; \
	  echo " " >>${HOMEFMTUTILCNF} ; \
	  echo "\# The following lines were added by FrenchPro ${VFP}" >>${HOMEFMTUTILCNF} ; \
	  ${ECHO} ${E49} ;
	  DELhfc=${RM} ${HOMEFMTUTILCNF} ;
	endif
     endif
   endif
endif

# MacOs users should have $HOMETEXMF=$HOME/Library/texmf
# thus if necessary, we set the from ~/texmf which is usually ${HOMETEXMF}
ifeq (${ATP},${HOMETEXMF})
   ifeq (${OSTYPE},darwin)
   DirExists=$(shell ${SHELL} -ec \
			"test -d '${HOMETEXMF}' >>${DNF} && echo YES || echo ")
     ifneq (${DirExists},YES)
     REALHOMETEXMF=$(shell kpsewhich --expand-var '$$HOMETEXMF' \
                                                          | ${BSR} | ${EB})
     HOMETEXMF=$$HOME/Library/texmf
     SetLinkLibrary=${LNS} ${HOMETEXMF} ${REALHOMETEXMF} 2>>${DNF}
     endif
   endif
endif

LATEXDIRL=${TEXMFLOCAL}/tex/latex
PLAINDIRL=${TEXMFLOCAL}/tex/plain
ifeq ($(ISteTeX),YES)
  ifneq ($(HOMETREE),)
	LATEXDIR=${HOMETREE}/tex/latex
	PLAINDIR=${HOMETREE}/tex/plain
	PDFTEXDIR=${HOMETREE}/pdftex
  endif
else
  ifneq ($(ATP),)
	LATEXDIR="${ATP}"/tex/latex
	PLAINDIR="${ATP}"/tex/plain
	PDFTEXDIR="${ATP}"/pdftex
  endif
endif

CorrectDirPath=$(shell diff "." "${MYPWD}" >>${DNF} && echo YES || echo )

# Where we are (usually "${ATP}"/source/french).
# Notice: Never delete the stuff in "${ATP}"/source/french 
#         otherwise various files will be missing.

# Force TEXINPUTS for teTeX to avoid using ancient installed files. 
ifeq ($(CommonTeX),YES)
        TEXSYSCFG=$(shell kpsewhich texsys.cfg|${EB})
   ifneq ($(TEXSYSCFG),$(EMPTY))
	TEXSYSBASE=$(shell dirname "${TEXSYSCFG}"|${EB})
	TEXSYSDIR=$(shell dirname "${TEXSYSBASE}"|${EB})
   endif
	LATEXLTX=${shell kpsewhich latex.ltx|${EB}}
   ifneq ($(LATEXLTX),$(EMPTY))
	LATEXBASE=$(shell dirname "${LATEXLTX}"|${EB})
	LATEXDIR=$(shell dirname "${LATEXBASE}"|${EB})
   endif
# The following is to detect TeXLive2005 error
	MSGSTY=${shell kpsewhich msg.sty|${EB}}
   ifneq ($(MSGSTY),$(EMPTY))
	MSGTEX=${shell kpsewhich french_msg-msg.tex|${EB}}
   else
        MSGTEX=MayNotExist
   endif
PLAINTEX=${shell kpsewhich plain.tex|${EB}}
   ifneq ($(PLAINTEX),$(EMPTY))
	PLAINDIR=$(shell dirname "${PLAINTEX}"|${EB})
   endif
SEDFMTPDF=sed -e "s/\\pdfoutput=0/\\pdfoutput=1/"  
   ifeq (${INITID},pdf)# Move from dvi to pdf output
SEDFMTFR=sed -e "s/\\pdfoutput=0/\\pdfoutput=1/"  
   else
SEDFMTFR=cat 
   endif
PDFCFILE=pdftex.cfg
# Config file in use by pdftex < (Web2C 7.5.2)
PDFTEXDIR=${shell pdftex x >${DNF} ; ${AWK} '{printf ("%s",$$0)}' x.log | \
	sed -e "s/(.*x.tex/x.tex/"  -e "s/)//" \
	    -e 's/This.*x.tex{//' -e 's/}.*//' -e 's0/${PDFCFILE}00' | \
	sed -e "/This is /d" | ${EB}}
# We need pdftexconfig.tex be found
     ifneq (${PDFTEXDIR},)
       COPYPDFTEXCFG=touch pdftexconfig.tex
       DELPDFTEXCFG=${RM} pdftexconfig.tex
     else
     PDFCFILE=pdftexconfig.tex
     WHEREPDFC=${shell TEXINPUTS=;export TEXINPUTS; kpsewhich ${PDFCFILE}}
     PDFTEXDIR=${shell dirname "${WHEREPDFC}"}
     endif
#
     ifeq ($(PDFTEXDIR),)
       COPYPDFTEXCFG=${CP} ${MODTXT} frpdftexconfig.tex ${PDFCFILE}
       DELPDFTEXCFG=${RM} ${PDFCFILE}
     endif
#
     ifneq (${EXTENDEDMODE},NO)
EXTENDEDFMT=${shell etex x >${DNF} ; ${AWK} '{printf ("%s",$$0)}' x.log | \
	sed -e "s/This is e-TeX,.*/YES/"}
       ifneq (${EXTENDEDFMT},YES)
       EXTENDEDFMT=#
       endif
     endif
# The following ending ":.//" is to avoid any diff. with "$(MYPWD)//"
TEXINPUTS=${MYPWD}//${SEP}${LATEXDIRL}//${SEP}${PLAINDIRL}//${SEP}${LATEXDIR}//${SEP}${TEXSYSDIR}//${SEP}${PLAINDIR}//${SEP}${USHYPHDIR}//${SEP}${PDFTEXDIR}//${SEP}.//
# Notice TEXINPUTS _is not_ ended by ":" to avoid teTeX concatenation.
endif

MAKENAME=GNUmakefile#
MAKEFILEORG=GNUmakefile#
THELOG=${MAKENAME}.log
THISFILE=$(MYPWD)/$(MAKENAME)# Necessary because we'll call it again.
VERIFDIR=${shell ${SHELL} -ec 'ls -l "${THISFILE}"'}
MAKENAME2=makefile.gen#
THISFILE2=$(MYPWD)/$(MAKENAME2)

# 3) Choose C compiler, flags and libs
#CC=cc
CC=gcc
ifeq ($(OSTYPE),darwin )# blank required
	CC=cc
endif
ISITcc=$(shell $(SHELL) -ec "type ${CC} 2>>${DNF} >>${DNF} && echo YES || echo ")
ifneq ($(ISITcc),YES)
	CC=
endif

#Coptions=-lfl 
#Coptions=-ll 
Coptions=#
ERRNOCC=echo
ifneq (${AUTREOS},Windows)#
ifeq ($(ISITcc),YES)
Coptions=${shell ${SHELL} -ec 'ls -l /usr/lib/libl.a 2>>${DNF} >>${DNF} && echo "-ll"'}
  ifeq ($(Coptions),)# blank required
Coptions=${shell ${SHELL} -ec 'ls -l /usr/lib/libfl.a 2>>${DNF} >>${DNF} && echo "-lfl"'}
  endif
else
ERRNOCC=(${ECHO} ${E51}; exit 1)
endif
endif

# 4) Few other standard Unix commands we need.
RM=rm -f # to remove files without any confirmation
CAT=cat # neutral copy of files

#LEXOPTION=-v # you can add it for debug.
ifeq ($(ISITlex),YES)
# There is no lex under Ubuntu linux
    LEX=lex ${LEXOPTION}# use lex if you don't have flex
endif
ifeq ($(ISITflex),YES)
#(you could have pb with lex, specially with solaris)
    LEX=flex -8 ${LEXOPTION}# use flex 
endif

ifeq ($(ISITmkdirhier),YES)
	MKDIRS=mkdirhier # prefered
else
	MKDIRS=mkdir -p # for NextStep or MacOs X especially
endif

VI=vi # your favorite editor, isn't it?
NOECHO=@# "@" sign is sometimes not recognized by standard "make"
NOERR=-
NOAUTOMAIL=
ifeq (${AUTREOS},Windows)#
	NOAUTOMAIL=YES
endif
ifeq (${NOECHO},@)
MKS=-s# silent sub make
else
MKS=NOECHO=${NOECHO} NOERR=${NOERR}
endif
# 5) The unix commands to compile, make index and print LaTeX docs
TEXCMD=tex# normally you should have at least this!
PRINTDVI=dvips # command to print dvi files
NBPAGES=50# the first 50 pages of the reference & test dvi files
NUMPAGES=-n${NBPAGES} #
ifeq (${AUTREOS},Windows)#
	INDEXCMD=makeindex -s ../inputs/fridx1.ist 
else # This the command to make indexes.
	INDEXCMD=makeindex -s ../inputs/mkindex/fridx1.ist 
endif

# 7) What is the initex engine?
ifeq (${ISMiKTeX},YES)
PINITENGINE=initexmf# for Plain TeX
LINITENGINE=initexmf#for LaTeX
        MIKINITID=# the engine is always the same
	MIKINITENGINE=pdfetex# for MikTeX  2.5 and hiher
	ifeq (${MIKTEX25},NO)
        MIKINITID=${INITID}
	MIKINITENGINE=tex# for MikTeX < 2.5
	endif
else
PINITENGINE=tex# for Plain TeX 
TL2004=YES#
   ifneq (${INITID},xe)# If not XeTeX wanted.
	ifneq (${INITID},e)# If not already eTeX wanted.
		ifeq (${TL2004},YES)# 
                  PINITENGINE=etex#for FP Plain TeX format
                  LINITENGINE=etex#for LaTeX with TeXLive >2003
		else
	   		ifeq (${TL2003},NO)# 
                          LINITENGINE=tex#for LaTeX with TeXLive <2003
	   		else
                          LINITENGINE=etex#for LaTeX 
	   		endif
		endif
        else
                          LINITENGINE=tex# will be still _e_tex.
        endif
   else
        PINITENGINE=tex#for FP Plain TeX format
        LINITENGINE=tex#for LaTeX format
   endif
endif
#    Where the initex pgm is located and how it is called,
#    nowadays it's TeX (with option "-ini") but you can chose pdftex (just
#    set INITID=pdf. Notice that the standard id is empty, allowing
#    formats frtex and frlatex. For any other you should probably check
#    texmf.cnf for the TEXINPUTS variable and add the the according lines
#    as in the following example with frpdftex and frpdflatex: 
#TEXINPUTS.frpdftex   = .;$TEXMF/{mltex,tex}/{french,plain,generic,config}//
#TEXINPUTS.frpdflatex = .;$TEXMF/{mltex,tex}/{french,latex,generic,config}//
#(notice that "config" is required in few installations to find pdftex.cfg)
INITDIR=$(BINDIR)/# Should normaly stay asis.
#INITCMD=initex# (ancient engines only)
#INITID=pdf
ifeq (${ISMiKTeX},YES)
	PMOTEUR=${PINITENGINE}
	LMOTEUR=${LINITENGINE}
	PINITCMD=${PINITENGINE} --dump=# 
	LINITCMD=${LINITENGINE} --dump=# 
        CMDLINK=initexmf --mklinks#
else
	PMOTEUR=${INITID}${PINITENGINE}
	LMOTEUR=${INITID}${LINITENGINE}
	PINITCMD=${PMOTEUR} -ini 
	LINITCMD=${LMOTEUR} -ini 
        CMDLINK=echo ' '
endif

# 8) Choose MlTeX format option (prefered) or just standard format.
# This should create ad hoc formats and also place following files at
# the correct place in the TDS tree.
TEXOPT=tex
#TEXOPT=mltex
TEXOPTS=${TEXOPT}
ifeq (${ISMiKTeX},YES)# no mltex option with MiKTeX for MiKTeX < 2.5
	ifeq (${MIKTEX25},NO)
	TEXOPTS=tex
	endif
endif
# teTeX users chosing "mltex" must be aware that that option should
# be set in the fmtutil.cnf file for the according formats.

# when not chosing mltex imply using ec fonts, ie T1 fontencoding. 
#FONTENCODING=# which means OT1 default.
ifeq ($(TEXOPTS),tex)
	FONTENCODING=T1
	FNT=ec
endif

# 9) Installation directories:
# Where should we move the binaries of kb8to7 and kb7to8
ifneq ($(ISteTeX),YES)
   ifeq ($(BINDIR),$(EMPTY))
       ifeq ($(ISMiKTeX),YES)
	  BINDIR="${MYTEXMF}"/MiKTeX/bin# Usually, don t change for MiKTeX.
       else
	  BINDIR="${ATP}"/bin# 
       endif
   endif
endif
# The directory where all our initex input files will be installed.
DESTIDIR="${ATP}"/${TEXOPTS}/french/base# should normally stay asis.
# The directory where all runtime input files will be installed.
DESTDIRDIR="${ATP}"/${TEXOPTS}/french/base# should normally stay asis.
# The directory where frenchle will be also installed.
DESTLEDIR="${ATP}"/tex/latex/frenchle# should normally stay asis.
# The directory where the format file will reside (depends of engine)
FORMATS="${ATP}"/web2c# should normally stay asis.
# The directory where the documentation (dvi) will be installed.
TEXDOCS="${ATP}"/doc/french/base# should normally stay asis.
# The directory where hyphen files will be installed.
HYPHDIR="${ATP}"/tex/generic/hyphen# should normally stay asis.
# The directory where class and package files will be installed.
INPUTDIR=$(DESTDIRDIR)# should normally stay asis.
# Where to install configuration files ?
CONFIGDIR="${ATP}"/${TEXOPTS}/french/config# should normally stay asis.
# The directory where the makeindex style files will be installed.
#ISTDIR="${ATP}"/makeindex/french
ISTDIR=$(DESTDIRDIR)# 

# 10) Customize your environnement variables and configuration files:
### Set your environnement variables if necessary (eg TEXINPUTS and co)
### SO THAT TeX WILL FIND at least THE FRENCH FILES IN THIS DIRECTORY.
### (Edit the latexenv file for example and load it)
### Edit the following files only if...
### hyphen.cfg  ... you don't use MlTeX, then choose T1 encoding 
### language.dat ... you use other languages than French and English
### Create a french config file if you wish to change the defaults
### $(CONFIGDIR)/french.cfg (to be created at hand) 
########################################################################
#   End of customization section
########################################################################
BS="\\\\"
CMD=${SHELL} -ec #
LF=unix2dos #${XPWD}/bin/lf
LFARG=

# "the" main thing we are making:
FORMAT=latex# but we'll also create a Plain format.

# Set options of initex
ifneq ($(TEXOPTS),tex)
	INITEXOPT=-$(TEXOPTS)
else
	INITEXOPT=
endif

# Set the names of the format extension and source prefix.
PFMTEXT=fmt
LFMTEXT=${PFMTEXT}
ifeq ($(EXTENDEDFMT),YES)
PFMTEXT=efmt
LFMTEXT=${PFMTEXT}
endif
ifeq ($(TL2004),NO)
  ifneq ($(INITID),$(EMPTY))
	PFMTEXT=$(shell echo '$(INITID)%' | sed 's/^.*e%$$/e/' | \
	               sed 's/^.*o%$$/o/' | sed 's/^.*%//')fmt
  endif
  ifeq (${LINITENGINE},etex)
	LFMTEXT=efmt
  endif
endif

# Set the format names and directories
PFMTNAME=fr${INITID}tex
LFMTNAME=fr${INITID}$(FORMAT)
INITEXDIR=${MYPWD}/initex
ifeq (${ISMiKTeX},YES)
        WHEREPFMT=${TEXMFLOCAL}/miktex/fmt
        WHERELFMT=${WHEREPFMT}
else
        WHEREPFMT=${INITEXDIR}
        WHERELFMT=${WHEREPFMT}
endif

# Set the teTeX source marker for "extended mode" and initex parm.
PEXTF=
LEXTF=
PEXTEF=
LEXTEF=
ifeq ($(ISteTeX),YES)
  ifneq ($(EXTENDEDMODE),NO)
   ifeq ($(INITID),e)
	PEXTF=*
	LEXTF=*
	PEXTEF=-efmt=${PFMTNAME}
	LEXTEF=-efmt=${LFMTNAME}
   endif
   ifeq ($(PINITENGINE),etex)
	PEXTF=*
	PEXTEF=-efmt=${PFMTNAME}
   endif
   ifeq ($(LINITENGINE),etex)
	LEXTF=*
	LEXTEF=-efmt=${LFMTNAME}
   endif
  endif
endif

SETINPUTS=
ifneq ($(ISMiKTeX),YES)# Prepare lines for fmtutil.cnf
# No more than 7 fields in fmtutil.cnf replaced lines:
# [script template: /bin/sh -ec 'echo "xxx" | ${AWK} "{printf (\"%s\",\$1)}"']
TMPA={printf (\"%-15s %-15s %-15s %s %s %s %s\",\$$1,\$$2,\$$3,\$$4,\$$5,\$$6,\$$7)}
TEMPP=${PFMTNAME} 	${PMOTEUR} language.dat ${TEXTCX} \
					-${TEXOPTS} ${PEXTF}${PFMTNAME}.ini
REFPLINE=${shell ${SHELL} -ec 'echo "${TEMPP}" | ${AWK} "${TMPA}"'}
TEMPL=${LFMTNAME} 	${LMOTEUR} language.dat ${TEXTCX} \
					-${TEXOPTS} ${LEXTF}${LFMTNAME}.ini
REFLLINE=${shell ${SHELL} -ec 'echo "${TEMPL}" | ${AWK} "${TMPA}"'}
PLAINLINE=${REFPLINE}
LATEXLINE=${REFLLINE}

else# mofification of formats.ini file is defaultly allowed
    # but we don't know how to make it for MiKTeX..
INITDIR= 
CHECKCNF=checkcnf
REFPLINE=[${PFMTNAME}]
REFLLINE=[${LFMTNAME}]
PLAINLINE=$(shell ${MKDIRS} ${MYFMTINIDIR} ; \
                  touch ${MYFMTINIDIR}/${MYFMTINI} ; \
                  grep "^\[${PFMTNAME}\]" <${MYFMTINIDIR}/${MYFMTINI})
TEXMFPLINE=$(shell ${MKDIRS} ${MYCNFINIDIR} ; \
		  touch ${MYCNFINIDIR}/${MYCNFINIP} ; \
                  grep "^\[${PFMTNAME}\]" <${MYCNFINIDIR}/${MYCNFINIP})
PL0=arguments=
ifeq (${TEXOPTS},mltex)
PL0=arguments=-mltex
endif
PL1=attributes=exclude
PL2=compiler=${MIKINITID}${MIKINITENGINE}
PL3=description=format francise FrenchPro
PL4=input=${PFMTNAME}${EXTINI}
ifeq ({MIKTEX25},NO)
	PL5=output=${PFMTNAME}.$(PFMTEXT)
else
	PL5=
endif
PL6=
LATEXLINE=$(shell touch ${MYFMTINIDIR}/${MYFMTINI} ; \
                  grep "^\[${LFMTNAME}\]" <${MYFMTINIDIR}/${MYFMTINI})
TEXMFFLINE=$(shell touch ${MYCNFINIDIR}/${MYCNFINIL} ; \
                  grep "^\[${PFMTNAME}\]" <${MYCNFINIDIR}/${MYCNFINIL})
LA0=arguments=
ifeq (${TEXOPTS},mltex)
LA0=arguments=-mltex
endif
LA1=attributes=
LA2=${PL2}
LA3=${PL3}
LA4=input=${LFMTNAME}${EXTINI}
ifeq ({MIKTEX25},NO)
	LA5=output=${LFMTNAME}.$(LFMTEXT)
else
	LA5=
endif
LA6=${PL6}

ifeq (${MIKTEX25},NO)
IDIRS=Input Dirs
TIPL0=
TIPLINE=${REFPLINE}
else
IDIRS=path
TIPL0="extensions=.tex\;.src"
TIPLINE=[ft.tex]
endif
TIPL1="\;\; Where ${PFMTNAME} searches for input files."
#TIPL2="${IDIRS}=.\;%R!${INITID}tex!french//\;%R!${INITID}tex!plain//\;%R!${INITID}tex!generic//\;%R!${INITID}tex//\;%R!tex!plain//\;%R!tex!generic//\;%R!tex//"
TIPL2="${IDIRS}=.\;%R!${TEXOPTS}!french//\;%R!tex!plain//\;%R!tex!generic//\;%R!tex//"
TIPL3=${PL6}

ifeq (${MIKTEX25},NO)
TILL0=
TILLINE=${REFLLINE}
else
TILL0="extensions=.tex\;.src\;.ltx"
TILLINE=[ft.tex]
endif
TILL1="\;\; Where ${LFMTNAME} searches for input files."
#TILL2="${IDIRS}=.\;%R!${INITID}tex!french//\;%R!${INITID}tex!latex//\;%R!${INITID}tex!generic//\;%R!${INITID}tex//\;%R!tex!latex//\;%R!tex!generic//\;%R!tex//"
TILL2="${IDIRS}=.\;%R!${TEXOPTS}!french//\;%R!tex!latex//\;%R!tex!generic//\;%R!tex//"
TILL3=${PL6}
endif

ifeq ($(ISteTeX),YES)# mofification of cnf files are defaultly allowed
	CHECKCNF=checkcnf
   ifneq ($(MODS),$(EMPTY))# otherwise set MODS=NO
	CHECKCNF=checkcnfOLD
   endif
	TOOLINE=openout_any = a# allow temporary any open out.
	OO=OO
	CONFTARGET=
   ifeq ($(INITID),pdf)# Allows pdftex.cfg to be found.
	CONFTARGET=config
   endif
   TIPID=TEXINPUTS.${PFMTNAME}
   TILID=TEXINPUTS.${LFMTNAME}
   ifeq ($(TEXOPTS),tex)
        GREPSCAN1=${INITID}tex
        GREPSCAN2=
	TIPLINE=${TIPID} = .;"'""$$$$""'"TEXMF/{${INITID}tex,tex}/{french,plain,generic,${CONFTARGET}}//
	TILLINE=${TILID} = .;"'""$$$$""'"TEXMF/{${INITID}tex,tex}/{french,${FORMAT},generic,${CONFTARGET}}//
   else
        GREPSCAN1=${TEXOPTS}
        GREPSCAN2=${INITID}tex
	TIPLINE=${TIPID} = .;"'""$$$$""'"TEXMF/{${TEXOPTS},${INITID}tex,tex}/{french,plain,generic,${CONFTARGET}}//
	TILLINE=${TILID} = .;"'""$$$$""'"TEXMF/{${TEXOPTS},${INITID}tex,tex}/{french,${FORMAT},generic,${CONFTARGET}}//
   endif
# Get formats lines in fmtutil.cnf
	PLAINLINE=$(shell grep "^${PFMTNAME}" <${MYFMTUTILCNF} \
	                | grep "[A-Z]*${PFMTNAME}.ini")
	FORMATLINE=$(shell grep "^${LFMTNAME}" <${MYFMTUTILCNF} \
	                | grep "[A-Z]*${LFMTNAME}.ini")
        GREPSCAN=grep "${GREPSCAN1}" | grep "${GREPSCAN2}"
	TEXMFPLINE=`grep "^TEXINPUTS.${PFMTNAME}" <${MYTEXMFCNF} | ${GREPSCAN}`
	TEXMFFLINE=`grep "^TEXINPUTS.${LFMTNAME}" <${MYTEXMFCNF} | ${GREPSCAN}`
# The following gives the real engines related to *x.ini file
	PLAINMOT=$(shell grep "^${PFMTNAME}" <${MYFMTUTILCNF} \
	                | grep "[A-Z]*${PFMTNAME}.ini"  \
                        | grep "${PFMTNAME} *${PMOTEUR}[A-Z]*" \
                        | ${AWK} '{printf ("%s",$$2)}')
	FORMATMOT=$(shell grep "^${LFMTNAME}" <${MYFMTUTILCNF} \
	                | grep "[A-Z]*${LFMTNAME}.ini"  \
                        | grep "${LFMTNAME} *${LMOTEUR}[A-Z]*" \
                        | ${AWK} '{printf ("%s",$$2)}')
#
   ifneq ($(INITEXOPT),$(EMPTY))
	PLAINOPT=$(shell ${SHELL} -ec  'echo "${PLAINLINE}" | grep "[A-Z]*${INITEXOPT}[A-Z]*"')
	FORMATOPT=$(shell ${SHELL} -ec 'echo "${FORMATLINE}" | grep "[A-Z]*${INITEXOPT}[A-Z]*"')
   endif
# We want 8bits output:
	TEXTCX=-translate-file=cp8bit.tcx
   ifeq ($(ISIT227TCX),YES)
	TEXTCX=-translate-file=cp227.tcx
   endif
endif
ifeq ($(CommonTeX),YES)# 
# There is no need to give the absolute path to teTeX
	INITDIR=
# We want a null TEXINPUTS here
# We want ushyph.tex be found or defaultly hyphen.tex
	USHYPHFILE=ushyph.tex
	WHEREHYPH=${shell TEXINPUTS=;export TEXINPUTS; kpsewhich ${USHYPHFILE}}
  ifeq ($(WHEREHYPH),)
         USHYPH1FILE=hyphen.tex
	WHEREHYPH=${shell TEXINPUTS=;export TEXINPUTS; kpsewhich ${USHYPH1FILE}}
	USHYPHDIR=${shell dirname "${WHEREHYPH}"}
  else
	USHYPH1FILE=${shell basename "${WHEREHYPH}"}
	USHYPHDIR=${shell dirname "${WHEREHYPH}"}
    ifneq (${USHYPHFILE},${USHYPH1FILE})
	USHYPH1FILE=ushyph1.tex
    else
	USHYPH1FILE=
    endif
  endif
# We will want special TEXINPUTS to create formats
	SETINPUTS=TEXINPUTS=${TEXINPUTS};export TEXINPUTS
	RESETINPUTS=TEXINPUTS=;export TEXINPUTS
endif

# We should know where to move binaries. Default is:
#BINDIR=$(shell TEXINPUTS=;export TEXINPUTS; 
#         kpsewhich conf | sed -n 's,/[^/]*$$,,;/^tex:/s/[^/]*//p')
ifeq ($(ISteTeX),YES)
	BINARIES=$(shell ${SHELL} -ec "type kpsewhich | \
		sed -n 's/kpsewhich is //p' | sed -n 's,/kpsewhich,,p'")
endif
ifeq ($(ISMiKTeX),YES)
	BINARIES=$(shell ${SHELL} -ec "type kpsewhich | \
		sed -n 's/kpsewhich is //p' | sed -n 's,/kpsewhich,,p'")
endif
ifeq ($(BINDIR),$(EMPTY))
	BINDIR=${BINARIES}
endif

ISitanyTeX=$(shell $(SHELL) -ec "type ${INITID}tex >>${DNF} && echo YES || echo ")

ifeq (${AUTREOS},Windows)#
	SHELLEXT=.bat
	BINEXT=.exe
else
	BINEXT=
endif
PBINARY=$(shell type ${PMOTEUR} | sed -e "s*${PMOTEUR} is **")
LBINARY=$(shell type ${LMOTEUR} | sed -e "s*${LMOTEUR} is **")
PTEXBINARY=${PBINARY}${BINEXT}
LTEXBINARY=${LBINARY}${BINEXT}

# TeXshop
ifeq (${OSTYPE},darwin)
   ifeq (${INITID},pdf)
  RPLTTS=$(shell type altpdf${PMOTEUR}  2>>${DNF} | \
                            sed -e "s*altpdf${PMOTEUR} is **")
  RLLTTS=$(shell type altpdf${FORMAT}  2>>${DNF} | \
                            sed -e "s*altpdf${FORMAT} is **")
  DirExists=$(shell ${SHELL} -ec \
	"test -d '$$HOME/Library/Engines' >>${DNF} && echo YES || echo ")
     ifneq (${DirExists},YES)
	TSSHELLSDIR=$$HOME/Library/TeXShop/Engines	
     endif
   endif
endif 

TEST=yes# defaultly the install.bat is not generated.
ECHO=${SHELL} ${MYPWD}/echoandlog ${MAKENAME}:
EXEC=${SHELL} ${MYPWD}/execandbat

ifneq ("$(BAT)","$(TEST)")
	BAT=
endif
ifneq ($(ISMiKTeX),YES)
	TEXHASH=texhash 
	TEXHASHCMD=${TEXHASH} "${ATP}"
else
	TEXHASH=mktexlsr
	TEXHASHCMD=${TEXHASH} 
endif
ifneq ("$(MIK)","$(TEST)")# defaultly the mikinstall.bat is not generated.
	MIK=
	TEXHASHBAT=texhash 
else # There is no texhash with MiKTeX.
	TEXHASHBAT=@initexmf --update-fndb=
endif

NL=# virtual new line for ${ECHO}

ifeq ("$(LANG)","$(EMPTY)")
else
	LANGMSG=$(shell ${SHELL} -ec "echo '$(LANG)' | sed -e 's!_.*!!'")
endif

ifeq ("$(LANGMSG)","$(EMPTY)")
	LANGMSG=fr
else
	TEST=en
   ifneq ("$(LANGMSG)","$(TEST)")
	LANGMSG=fr
   endif
endif

ifeq ($(ISteTeX),YES)
   ifeq ($(LANGMSG),fr)
	INVALIDHOM=$(shell $(SHELL) -ec 'echo ${HOMETEXMF} | \
		grep "//" >>${DNF} && echo "(INVALIDE !)" || echo ')
   else
	INVALIDHOM=$(shell $(SHELL) -ec 'echo ${HOMETEXMF} | \
		grep "//" >>${DNF} && echo "(INVALID!)" || echo ')
   endif
endif


ifeq (${AUTREOS},Windows)#
	KEYBOARDDIR='$$'{INPUTSDIR}
	FRENCHDIR='$$'{INPUTSDIR}
	MLPDIR='$$'{INPUTSDIR}
	MSGDIR='$$'{INPUTSDIR}
	OTHERDIR='$$'{INPUTSDIR}
	MKINDEXDIR='$$'{INPUTSDIR}
	CMDMAKE=gmake
else
	KEYBOARDDIR='$$'{INPUTSDIR}/keyboard
	FRENCHDIR='$$'{INPUTSDIR}/french
	MLPDIR='$$'{INPUTSDIR}/mlp
	MSGDIR='$$'{INPUTSDIR}/msg
	OTHERDIR='$$'{INPUTSDIR}/other
	MKINDEXDIR='$$'{INPUTSDIR}/mkindex
endif

ifeq (${CMDMAKE},)
CMDMAKE=$(shell ${SHELL} -ec "echo '$(CMDO)$(MAKE)' | sed -e 's!^.:.*make.EXE!make!'")
endif

SAVEDPATH=${PATH}# Take the original PATH variable.

# is it any license running?
#ifeq (${MYFRLDAT},${EMPTY})
#    FRLDexists=$(shell ${SHELL} -ec \
#	"test -f '${CONFIGDIR}/frlicense.dat' >>${DNF} && echo YES || echo ")
#   ifeq (${FRLDexists},YES)
#	MYFRLDAT=$(shell ${SHELL} -ec \
#            "echo '${CONFIGDIR}/frlicense.dat'")# should be | ${BSR} | ${EB}
#   endif
#endif

VFP=V5,9994#
TEST=fr
ifeq ("$(LANGMSG)","${TEST}")
# Messages en Francais
E0="              B I E N V E N U E pour l'installation de FrenchPro ${VFP}"
MODI=en mode multi-utilisateurs (licence site).
E00="${NL}  0- Merci d'etre patient, l'initialisation est assez longue."
E1="${NL}  1- Les messages sont enregistres dans ${THELOG}"
E1H="${NL}  H- Pour plus d'informations tapez : \
               \"$(CMDMAKE) -f ${MAKENAME} aide\""
E2="${NL}  2- La racine du repertoire cible ("'$$'"DESTDIR) sera : \"${ATP}\""
E3="${NL}  3- "'$$'"TEXMFLOCAL etait \"${TEXMFLOCAL}\"" 
E4="${NL}  4- "'$$'"${THT} etait \"${HOMETEXMF}\"  ${INVALIDHOM}" 
E5="${NL}  5- "'$$'"TEXMFMAIN etait \"${TEXMFMAIN}\"" 
E6="${NL}  6- Le codage d'entree ("'$$'"IENCODING) est mis a ${IENCODING} ("'$$'"${CODEC})"
E7="${NL}  7- Les binaires iront dans : \"${BINDIR}\" ("'$$'"BINDIR)"
E8="${NL}  8- ERREUR : ${BINDIR} ("'$$'"BINDIR) est protege en ecriture" 
E9="${NL}  9- verifier les autorisations ou positionner la variable."
E10="${NL} 10- ERREUR : ${ATP} ("'$$'"DESTDIR) est protege en ecriture" 
E11="${NL} 11- "'$$'"TEXMF etait \"${MYTEXMF}\"" 
E12="${NL} 12- Pas trouve de moteur TeX cible pour le _make_ en cours." 
E13="${NL} 13- Le moteur ${ENGINE} a ete trouve." 
E14="${NL} 14- Essai de fabrication pour le moteur ${ENGINE}." 
E15="${NL} 15- Notez qu'un m.el. est automatiquement envoye a l'auteur"
E16="${NL} 16- a la fin de l'installation (voir la var. "'$$'"NOAUTOMAIL)."
E17="${NL} 17- OK pour continuer ? alors tapez : \"$(CMDMAKE) -f ${MAKENAME} continue\""
E18="${NL} 18- (en accord avec la variable "'$$'"PATH)." 
E19="${NL} 19- ERREUR : probleme d'acces sur le chemin \"$(MYPWD)\"." 
E20="${NL} 20- ERREUR : veuillez vous placer dans le repertoire FrenchPro (pas dans $(MYPWD))." 
E21="${NL} 21- ERREUR : Curieusement TeX peut acceder a un fichier dans "'$$'"DESTDIR/"
E22="${NL} 22- mais il ne peut pas acceder a un fichier de "'$$'"DESTDIR/tex/."
E23="${NL} 23- (verifier eventuellement la variable "'$$'"TEXMF initialisee dans ${MYTEXMFCNF})"
E24="${NL} 24- ERREUR : TeX ne peut pas acceder a un fichier de "'$$'"DESTDIR/."
E25="${NL} 25- fichier non trouve :"
E26="${NL} 26- ERREUR : Structure de fichier trop complexe : "
E27="${NL} 27- "'$$'"ALLTEXPATH=\"${ALLTEXPATH}\""
E28="${NL} 28- (contient un separateur), a renommer ou remplacer par un lien."
E29="${NL} 29- "'$$'"PWD=\"${XPWD}\""
E40="${NL} 40- ERREUR : installation TeX douteuse, fmtutil.cnf non trouve."
E41="${NL} 41- ERREUR : je n'ai pas su deviner ou installer FrenchPro ("'$$'"DESTDIR=\"\")."
E42="${NL} 42- ERREUR : je n'ai pas trouve de moteur/commande TeX satisfaisant."
E43="${NL} 43- ERREUR : le shell unix en service n'est pas standard."
E44="${NL} 44- Continuation pour les formats pdfTeX."
E45="${NL} 45- Continuation pour les formats eTeX."
E46="${NL} 46- "'$$'"PATH=${SAVEDPATH}"
E47="${NL} 47- ERREUR : pas de moteur ${ENGINE} ! Verifiez "'$$'"PATH."
E48="${NL} 48- Creation de ${HOMETEXMFCNF}."
E49="${NL} 49- Creation de ${HOMEFMTUTILCNF}."
E50="${NL} 50- Super nettoyage en cours."
E51="${NL} 51- ERREUR : compilateur C non trouve."
E52="${NL} 52- ERREUR : defaut d'installation de l'extension \"msg\" ;"
E53="${NL} 53- il faut effacer/renommer le fichier \"${MSGSTY}\"."
E57="${NL} 57- Les binaires iront dans : \"${FIRSTBIN}\" ("'$$'"BINDIR)"
E58="${NL} 58- ERREUR : la base ${ATP}/ls-R ne peut etre modifiee,"
E58a="${NL} 58- faire effacer ${ATP}/ls-R par l'administrateur,"
E58b="${NL} 58- elle sera recree automatiquement ensuite."
E59="${NL} 59- L'installation de FrenchPro sous root n'est pas la norme. "
E60="${NL} 60- Cela est reserve a une installation pour un site entier. "
E61="${NL} 61- Si c'est le cas, preciser :  \"$(CMDMAKE) -f ${MAKENAME} site\""
E62="${NL} 62- ERREUR : la base ${TMFVAR}/ls-R ne peut etre modifiee,"
E62a="${NL} 62- faire effacer ${TMFVAR}/ls-R par l'administrateur,"
E62b="${NL} 62- elle sera recree automatiquement ensuite."
E63="${NL} 63- Un ou plusieurs formats francises concurents (fr*fmt) existent"
E63a="${NL} 63- dans ${TEXMFVAR}/web2c et/ou ${HOMETEXMF}/web2c  "
E63b="${NL} 63- C'est une anomalie a corriger avant toute installation site."
#
E100="${NL} 100- Le langage utilise (francais ou anglais) depend de la variable "'$$'"LANG."
E101="${NL} 101- GNUmakefile doit etre appele par une commande GNU make."
E102="${NL} 102- La premiere etape consiste a generer un fichier makefile.gen"
E103="${NL} 103- La deuxieme genere le necessaire pour FrenchPro."
E104="${NL} 104- On peut ensuite faire l'installation generale."
E105="${NL} 105- Par defaut, les formats Plain et LaTeX sont fabriques ;"
E106="${NL} 106- pour le moteur TeX avec option mltex."
E107="${NL} 107- Avec l'option NONSTOP=nonstop les 3 etapes se font sans"
E108="${NL} 108- intervention ; les formats pour les moteurs pdfTeX et"
E109="${NL} 109- eTeX sont aussi fabriques."
E110="${NL} 110- Avec l'option INITID=e seuls les formats eTeX sont generes."
E111="${NL} 111- Avec l'option INITID=pdf seuls les formats pdfTeX sont generes."
E112="${NL} 112- Avec l'option EXTENDEDMODE=NO pas d'extension eTeX."
E113="${NL} 113- Avec l'option TL2003=NO eTeX n'est pas utilise pour le \
                 format LaTeX." 
E114="${NL} 114- Avec l'option TL2004=NO eTeX n'est pas utilise pour le \
                 format Plain." 
E115="${NL} 115- L'option mltex peut etre retiree avec TEXOPT=tex."
E116="${NL} 116- Le repertoire cible peut etre fourni par "'$$'"DESTDIR."
E117="${NL} 117- Le makefile.gen est utilisable sans GNU make."
E118="${NL} 118- Le moteur TeX est recherche via la variable "'$$'"PATH."
E119="${NL} 119- Par defaut, GNUmakefile reconnait le systeme d'exploitation,"
E120="${NL} 120- mais on peut forcer l'installation pour PC ou Mac"
E121="${NL} 121- en precisant FOR=PC ou FOR=MAC."
E122="${NL} 122- D'autres informations sont fournies a l'execution."
E123="${NL} 123- Apres l'installation de FrenchPro il est possible de "
E124="${NL} 124- demander un resume des informations importantes fournies "
E125="${NL} 125- en passant le parametre INFO."
else
# English messages
E0="              W E L C O M E  for  FrenchPro Installation ${VFP}"
MODI=in a multi-users mode (site license).
E00="${NL}  0- Please be patient, the initialisation step is lenghty"
E1="${NL}  1- Messages are logged to ${THELOG}"
E1H="${NL}   H- For any more information type: \
                \"$(CMDMAKE) -f ${MAKENAME} help\""
E2="${NL}  2- Root target directory ("'$$'"DESTDIR) will be: \"${ATP}\""
E3="${NL}  3- "'$$'"TEXMFLOCAL was \"${TEXMFLOCAL}\"" 
E4="${NL}  4- "'$$'"${THT}  was \"${HOMETEXMF}\"  ${INVALIDHOM}" 
E5="${NL}  5- "'$$'"TEXMFMAIN was \"${TEXMFMAIN}\""
E6="${NL}  6- Input-encoding ("'$$'"IENCODING) is set to ${IENCODING} ("'$$'"${CODEC})"
E7="${NL}  7- Binaries will be put in: \"${BINDIR}\" ("'$$'"BINDIR)"
E8="${NL}  8- ERROR: ${BINDIR} ("'$$'"BINDIR) is write protected" 
E9="${NL}  9- check permissions or set variable."
E10="${NL} 10- ERROR: ${ATP} ("'$$'"DESTDIR) is write protected" 
E11="${NL} 11- "'$$'"TEXMF was \"${MYTEXMF}\"" 
E12="${NL} 12- No TeX engine target for the _make_ in process." 
E13="${NL} 13- The ${ENGINE} engine has been found." 
E14="${NL} 14- Trying to _make_ for ${ENGINE} engine." 
E15="${NL} 15- Notice a mail is automaticaly sent to the author "
E16="${NL} 16- at the end of installation (check "'$$'"NOAUTOMAIL var)."
E17="${NL} 17- OK to continue? so type: \"$(CMDMAKE) -f ${MAKENAME} continue\""
E18="${NL} 18- (according to "'$$'"PATH variable)." 
E19="${NL} 19- ERROR: access problem on path \"$(MYPWD)\"." 
E20="${NL} 20- ERROR: please go to the FrenchPro directory (not $(MYPWD))." 
E21="${NL} 21- ERROR: Curiously TeX can access any file in "'$$'"DESTDIR/"
E22="${NL} 22- but it can\'t access any file in "'$$'"DESTDIR/tex/."
E23="${NL} 23- (check eventually the variable "'$$'"TEXMF initialised in ${MYTEXMFCNF})"
E24="${NL} 24- ERROR: TeX can\'t access any file in "'$$'"DESTDIR/."
E25="${NL} 25- file not found:"
E26="${NL} 26- ERROR: Too complex file path: "
E27="${NL} 27- "'$$'"ALLTEXPATH=\"${ALLTEXPATH}\""
E28="${NL} 28- (contains a separator), to be renamed or replaced by a link."
E29="${NL} 29- "'$$'"PWD=\"${XPWD}\""
E40="${NL} 40- ERROR: suspicious TeX installation, fmtutil.cnf not found."
E41="${NL} 41- ERROR: i was unable to guess where to install FrenchPro ("'$$'"DESTDIR=\"\")."
E42="${NL} 42- ERROR: i have not found any satisfactory TeX engine/command."
E43="${NL} 43- ERROR: unix shell in use is not standard."
E44="${NL} 44- Continuation for pdfTeX formats."
E45="${NL} 45- Continuation for eTeX formats."
E46="${NL} 46- "'$$'"PATH=${SAVEDPATH}"
E47="${NL} 47- ERROR: no ${ENGINE} engine! Check "'$$'"PATH."
E48="${NL} 48- File ${HOMETEXMFCNF} is created."
E49="${NL} 49- File ${HOMEFMTUTILCNF} is created."
E50="${NL} 50- Doing Super Cleaning."
E51="${NL} 51- ERROR: C compiler not found."
E52="${NL} 52- ERROR: \"msg\" package wrongly installed;"
E53="${NL} 53- you should remove/rename the file \"${MSGSTY}\"."
E57="${NL} 57- Binaries will be put in: \"${FIRSTBIN}\" ("'$$'"BINDIR)"
E58="${NL} 58- ERROR: the ${ATP}/ls-R data-base can't be updated,"
E58a="${NL} 58- ask the administrator to delete ${ATP}/ls-R,"
E58b="${NL} 58- afterwards it will be automatically recreated."
E59="${NL} 59- It's unusual to install FrenchPro under root. "
E60="${NL} 60- Root is reserved for an entire site installation. "
E61="${NL} 61- In that case, type:  \"$(CMDMAKE) -f ${MAKENAME} site\""
E62="${NL} 62- ERROR: the ${TMF}/ls-R data-base can't be updated,"
E62a="${NL} 62- ask the administrator to delete ${TMF}/ls-R,"
E62b="${NL} 62- afterwards it will be automatically recreated."
E63="${NL} 63- One or sevral concurrent French formats (fr*fmt) exist"
E63a="${NL} 63- in ${TEXMFVAR}/web2c and/or ${HOMETEXMF}/web2c  "
E63b="${NL} 63- This is an anomaly to correct before any site installation."
#
E100="${NL} 100- Language used here (French or English) is based on "'$$'"LANG."
E101="${NL} 101- GNUmakefile must be called by a GNU make command."
E102="${NL} 102- The first step will generate the makefile.gen file."
E103="${NL} 103- The second will generate the necessary stuff for FrenchPro."
E104="${NL} 104- One can then make the complete installation."
E105="${NL} 105- By default, Plain and LaTeX formats are made;"
E106="${NL} 106- for the TeX engine with mltex option."
E107="${NL} 107- With option NONSTOP=nonstop the 3 steps are done"
E108="${NL} 108- automatically; formats for pdfTeX and"
E109="${NL} 109- eTeX engines are also made."
E110="${NL} 110- With option INITID=e only eTeX formats are made."
E111="${NL} 111- With option INITID=pdf only pdfTeX formats are made."
E112="${NL} 112- With option EXTENDEDMODE=NO no eTeX extension facilities."
E113="${NL} 113- With option TL2003=NO eTeX is not used for the LaTeX format." 
E114="${NL} 114- With option TL2004=NO eTeX is not used for the Plain format." 
E115="${NL} 115- The mltex option can be removed with TEXOPT=tex."
E116="${NL} 116- The target directory can be provided by "'$$'"DESTDIR)."
E117="${NL} 117- The makefile.gen file can be used without any GNU make cmd."
E118="${NL} 118- The TeX engine is searched through the "'$$'"PATH variable."
E119="${NL} 119- Defaultly, the operating system is recognised by GNUmakefile,"
E120="${NL} 120- but you can force the installation for PC or Mac,"
E121="${NL} 121- just type in FOR=PC or FOR=MAC."
E122="${NL} 122- Other informations provided during execution."
E123="${NL} 123- After FrenchPro installation it's possible to ask for "
E124="${NL} 124- a digest of the most important informations provided, "
E125="${NL} 125- just give the parameter INFO."
endif

default:	preclean ${NONSTOP}root STD

nonstoproot:

root: 	${MYPWD}/echoandlog
	${NOECHO}if test -z "$(IsItRoot)" ;\
		then echo " " ; \
		else \
	        ${ECHO} ${E59} ;\
	        ${ECHO} ${E60} ;\
	        ${ECHO} ${E61} ; exit 1 ;\
	fi

site: 		checkFMTs STD
#Attention aux fichiers : GNUmakefile.log execandbat getbinary install.cmd 
#		          Movebin.sh uninstall.sh x.log
#les effacer sous root si on doit reinstaller _sans_ root, sinon boucle infinie.

checkFMTs:
# same fmts should not exist in home otherwise stop it now.
	${NOECHO}if test -f "${TEXMFVAR}/web2c/${PFMTNAME}.${PFMTEXT}" ;\
		then ${ECHO} ${E63} ;${ECHO} ${E63a} ;${ECHO} ${E63b} ; exit 1;\
		fi
	${NOECHO}if test -f "${HOMETEXMF}/web2c/${PFMTNAME}.${PFMTEXT}" ;\
		then ${ECHO} ${E63} ;${ECHO} ${E63a} ;${ECHO} ${E63b} ; exit 2;\
		fi
	${NOECHO}if test -f "${TEXMFVAR}/web2c/${LFMTNAME}.${LFMTEXT}" ;\
		then ${ECHO} ${E63} ;${ECHO} ${E63a} ;${ECHO} ${E63b} ; exit 3;\
		fi
	${NOECHO}if test -f "${HOMETEXMF}/web2c/${LFMTNAME}.${LFMTEXT}" ;\
		then ${ECHO} ${E63} ;${ECHO} ${E63a} ;${ECHO} ${E63b} ; exit 4;\
		fi

STD:	        loginit welcome batinit checkempty rooted OUT gen ${NONSTOP}proc

help: 	${MYPWD}/echoandlog
	@${ECHO} ${E100}
	@${ECHO} ${E101}
	@${ECHO} ${E102}
	@${ECHO} ${E103}
	@${ECHO} ${E104}
	@${ECHO} ${E105}
	@${ECHO} ${E106}
	@${ECHO} ${E117}
	@${ECHO} ${E118}
	@${ECHO} ${E119}
	@${ECHO} ${E107}
	@${ECHO} ${E108}
	@${ECHO} ${E109}
	@${ECHO} ${E110}
	@${ECHO} ${E111}
	@${ECHO} ${E112}
	@${ECHO} ${E113}
	@${ECHO} ${E114}
	@${ECHO} ${E115}
	@${ECHO} ${E116}
	@${ECHO} ${E120}
	@${ECHO} ${E121}
	@${ECHO} ${E122}
	@${ECHO} ${E123}
	@${ECHO} ${E124}
	@${ECHO} ${E125}

aide: 
	${NOECHO}$(MAKE) -f ${MAKENAME} LANG=fr help ${MKS}

preclean:	
	${NOECHO}touch ${MYPWD}/uninstall.sh ; ${RM} ${MYPWD}/uninstall.sh
	${NOECHO}touch ${MYPWD}/uninstall.sh ; chmod gu+rx ${MYPWD}/uninstall.sh	
	${NOECHO}echo "#! ${SHELL} -v" >> ${MYPWD}/uninstall.sh
	${NOECHO}if test -z "$(BAT)" ;\
		then echo " " ; \
		else \
	        touch ${MYPWD}/install.bat ; ${RM} ${MYPWD}/install.bat ; \
	        touch ${MYPWD}/uninstall.bat ; ${RM} ${MYPWD}/uninstall.bat ; \
	fi
	${NOECHO}touch ${MYPWD}/movebin.sh ; ${RM} ${MYPWD}/movebin.sh
	${NOECHO}touch ${MYPWD}/movebin.sh ; chmod gu+rx ${MYPWD}/movebin.sh	
	${NOECHO}echo "#! ${SHELL} -v" >> ${MYPWD}/movebin.sh

${MYPWD}/echoandlog:	
	${NOECHO} touch ${MYPWD}/${THELOG} ${MYPWD}/echoandlog
	${NOECHO} rm ${MYPWD}/${THELOG} ${MYPWD}/echoandlog 
	${NOECHO} touch ${MYPWD}/${THELOG} ${MYPWD}/echoandlog
	${NOECHO}echo "#! ${SHELL} -v" >> ${MYPWD}/echoandlog
	${NOECHO}echo echo "$$"1 "$$"2 >> ${MYPWD}/echoandlog
	${NOECHO}echo echo "$$"1 "$$"2 \>\> ${MYPWD}/${THELOG} \
                                           >> ${MYPWD}/echoandlog
	${NOECHO}chmod ogu+rx ${MYPWD}/echoandlog
# NO MESSAGE BEFORE THIS POINT!

ifeq (${FIRSTBIN},)
FIRSTBIN=$(shell $(SHELL) "${MYPWD}/getbinary")
endif

${MYPWD}/getbinary:
	${NOECHO} touch ${MYPWD}/getbinary
	${NOECHO} rm ${MYPWD}/getbinary
	${NOECHO} touch ${MYPWD}/getbinary
	${NOECHO}echo "#! ${SHELL} " >> ${MYPWD}/getbinary
	${NOECHO}echo "dirs=\`echo ""$$""PATH | \
		 sed -e \"s/${SEP}/ /g\"\`" >> ${MYPWD}/getbinary
	${NOECHO}echo "for d in ""$$""dirs" >> ${MYPWD}/getbinary
	${NOECHO}echo "do" >> ${MYPWD}/getbinary
	${NOECHO}echo "if test -w ""$$""d" >> ${MYPWD}/getbinary
	${NOECHO}echo "then  echo ""$$""d && exit ;" >> ${MYPWD}/getbinary
	${NOECHO}echo "fi" >> ${MYPWD}/getbinary
	${NOECHO}echo "done" >> ${MYPWD}/getbinary
	${NOECHO}chmod ogu+rx ${MYPWD}/getbinary

loginit:	${MYPWD}/echoandlog ${MYPWD}/getbinary
	${NOECHO} touch	${MYPWD}/execandbat
	${NOECHO} rm ${MYPWD}/execandbat
	${ANORM}
# don't use separators in file names
	${NOECHO}if test ${PWDWC} -gt 1 ; then \
	${ECHO} ${E26} ; \
	${ECHO} ${E29} ; \
	${ECHO} ${E28} ; exit 1 ;\
	fi

welcome:
	@${ECHO} "$$""LANG=\"${LANG}\" OS=${THEOSTYPE} umask=\"${UMASK}\" ${LOGINNAME}"
	@${ECHO} "$$""SHELL=\"${SHELL}\""
	@${ECHO} " "
	@${ECHO} ${E0}
	@${ECHO} "${MODEL}"
	@${ECHO} " "
	${NOECHO}if test "${AUTREOS}" = "Windows" ; then \
	${ECHO} ${E00} ;\
	fi

checkempty:	
ifneq ($(ISshOK),YES)
	@${ECHO} ${E43} ; exit 1 
endif
ifneq ($(ISitanyTeX),YES)
	@${ECHO} ${E46} 
	@${ECHO} ${E42} ; exit 1  
endif
ifeq ($(ISteTeX),YES)
# The LaTeX texsys.cfg should exist somewhere so the following is irrelevant.
# I leave it in case of any teTeX nstallation error.
# If found we should insure the path is given in the TEXINPUTS variable,
# look at $TEXSYSDIR for that.
	${NOECHO}if test -z "$(TEXSYSCFG)" ;\
	then touch ${INITEXDIR}/texsys.cfg ;\
	fi
	${NOECHO}if test -z "$(MSGTEX)" ;\
	then ${ECHO} ${E52} ; ${ECHO} ${E53} ; exit 1 ;\
	fi
	${NOECHO}if test -z "$(MYFMTUTILCNF)" ;\
	then ${ECHO} ${E40} ; exit 1 ;\
	fi
	${NOECHO}${INITID}tex -v >>${MYPWD}/${THELOG} # log versions & error msgs
endif
	${NOECHO}if test -z "$(ATP)" ;\
	then ${ECHO} ${E41} ; exit 1 ;\
	fi
	${NOECHO}if test -r "$(ATP)/ls-R" ;\
	then \
		if test ! -w "$(ATP)/ls-R" ;\
		then ${ECHO} ${E58}; ${ECHO} ${E58a}; ${ECHO} ${E58b};\
		     exit 1 ;\
		fi ;\
	fi
	${NOECHO}if test -r "$(TMFVAR)/ls-R" ;\
	then \
		if test ! -w "$(TMFVAR)/ls-R" ;\
		then ${ECHO} ${E62}; ${ECHO} ${E62a}; ${ECHO} ${E62b};\
		     exit 1 ;\
		fi ;\
	fi

batinit:	
	${NOECHO}${RM} ${MYPWD}/install.cmd
	${NOECHO} touch ${MYPWD}/install.cmd ${MYPWD}/execandbat
	${NOECHO}echo "#! ${SHELL} -v" >> ${MYPWD}/execandbat
	${NOECHO}echo "$$""*" >> ${MYPWD}/execandbat
	${NOECHO}if test -z "$(BAT)" ;\
		then ${ECHO} " " ; \
		else \
		echo echo "$$""*" \>\> ${MYPWD}/install.cmd \
				     >> ${MYPWD}/execandbat ;\
	fi
	@${ECHO} ${E1} 
	@${ECHO} ${E1H} 
	${NOECHO}chmod ogu+rx ${MYPWD}/execandbat


rooted: 
	${NOECHO}if test -f "makefile.org" ; then ${ECHO} " ";\
	else \
		if test -f "${MAKENAME2}" ; then \
		cp ${MAKENAME2} makefile.org ;\
		fi \
	fi
	@${ECHO} ${E2}
ifeq ($(ISteTeX),YES)
	@${ECHO} ${E3}
	@${ECHO} ${E4}
	@${ECHO} ${E5}
endif
	@${ECHO} ${E11}
	${NOECHO}${MKDIRS} "${ATP}" ;\
	          ${SetLinkLibrary} # "$$"HOMETEXMF might be absent. 
# don't use tilde char in DESTDIR!
	${NOECHO}if test -w "${ATP}"  ; then ${ECHO} " ";\
	else ${ECHO} ${E10}; ${ECHO} ${E9}; exit 1 ;\
	fi
# don't use separators in file names
	${NOECHO}if test ${ATPWC} -gt 1 ; then \
	${ECHO} ${E26} ; \
	${ECHO} ${E27} ; \
	${ECHO} ${E28} ; exit 1 ;\
	fi
# don't run makefile from another directory.
ifneq ($(CorrectDirPath),YES)
	@${ECHO} ${E19} ; exit 1
endif
ifeq ($(VERIFDIR),$(EMPTY))
	@${ECHO} ${E20} ; exit 1
endif
# Verify $ATP is in use via $TEXMF
	${NOECHO}echo "\\bye" >> "${ATP}"/fptry.tex
ifneq ($(ISteTeX),YES)
   ifneq (${ISMiKTeX},YES)
	${NOECHO}tex  "\\nonstopmode\input fptry.tex" >>${DNF} || (${ECHO} ${E24}; exit 1)
# The following is to force format creation if necessary.
	${NOECHO}latex  "\\nonstopmode\input x.tex" >>${DNF} || (exit 1)
   endif
endif
	${NOECHO}$(RM) "${ATP}"/fptry.tex "${ATP}"/fptry.log
#
	${NOECHO}${MKDIRS} "${ATP}"/tex
	${NOECHO}echo "\\bye" >> "${ATP}"/tex/fptry.tex
ifeq ($(ISteTeX),YES)
	${NOECHO}${TEXHASHCMD} >>${DNF} || ${TEXHASHCMD}
	-${NOECHO}${RM} ${KPSL} ; touch ${KPSL}
	${NOECHO}kpsewhich fptry.tex >${KPSL} || kpsewhich fptry.tex
	${NOECHO}if test ! -s ${KPSL} ;\
	then ${M2122} ;\
	fi
else
   ifeq (${ISMiKTeX},YES)# no parm with mktexlsr!
	${NOECHO}${TEXHASHCMD} >>${DNF} 
	${NOECHO}kpsewhich fptry.tex >>${DNF} || ${M2122}
   else
	${NOECHO}tex  "\\nonstopmode\input fptry.tex" >>${DNF} || ${M2122}
   endif
endif
	${NOECHO}$(RM) "${ATP}"/tex/fptry.tex "${ATP}"/tex/fptry.log
# Verify BINDIR is writeable. Notice: Don't use tilde char in BINDIR!
	${NOECHO}if test ! -d "${BINDIR}"  ; then \
	     ${ECHO} ${E25} ;\
             ${ECHO} "${BINDIR}" ;\
	     exit 1 ;\
	fi
	${NOECHO}if test -w "${BINDIR}"  ; then \
	     ${ECHO} ${E7} ;\
	else \
		if test "${FIRSTBIN}" = "" ; then \
	        ${ECHO} ${E8}; ${ECHO} ${E9}; ${ECHO} ${E18}; exit 1 ;\
	        else ${ECHO} ${E57} ;\
	        fi ;\
	fi
# Log out input encoding chosen and event. cnf created.
	@${ECHO} ${E6} 
	${NOECHO}${GOhtc} ${GOhfc}
#
	${NOECHO}if test "${AUTREOS}" = "Windows" ; then \
	${RM} ${DVNF} ; touch ${DVNF} ;\
	fi

OUT:	
	${NOECHO}$(RM) ${MAKENAME2} 
	${NOECHO}${SHELL} -ec "echo VFP=${VFP} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo ENGINE=${ENGINE} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo NONSTOP=${NONSTOP} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo AUTREOS=${AUTREOS} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo CMDMAKE=${CMDMAKE} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo IENCODING=${IENCODING} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo VID='${VID}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LCCTYPE=${LCCTYPE} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo SHELL=${SHELL} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo CMDO=${CMDO} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo ISteTeX=${ISteTeX} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo ISMiKTeX=${ISMiKTeX} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo VISMiKTeX=${VISMiKTeX} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo ATP=${ATP} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXMFLOCAL=${TEXMFLOCAL} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo HOMETEXMF=${HOMETEXMF} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo NECESSARYFPCMD='${NECESSARYFPCMD}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo INVALIDHOM=${INVALIDHOM} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXSYSCFG='${TEXSYSCFG}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXMF='${MYTEXMF}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MYTEXMFCNF=${MYTEXMFCNF} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MYFMTUTILCNF=${MYFMTUTILCNF} >>${MAKENAME2}"
#	${NOECHO}${SHELL} -ec "echo MYFRLDAT=${MYFRLDAT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MYFMTINIDIR=${MYFMTINIDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MYFMTINI=${MYFMTINI} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MIKTEXFMTDIR=${MIKTEXFMTDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MIKTEXCNFDIR=${MIKTEXCNFDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MYMIKTEXDIR=${MYMIKTEXDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MYCNFINIDIR=${MYCNFINIDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo CNFINIDIR=${CNFINIDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MYCNFINIS=${MYCNFINIS} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MYCNFINIP=${MYCNFINIP} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MYCNFINIL=${MYCNFINIL} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo WHEREPFMT=${WHEREPFMT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo WHERELFMT=${WHERELFMT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo INITEXDIR=${INITEXDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo CHECKCNF=${CHECKCNF} >>${MAKENAME2}"
ifeq ($(CommonTeX),YES)
	${NOECHO}${SHELL} -ec "echo TOOLINE=${TOOLINE} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo OO=${OO} >>${MAKENAME2}"
endif
	${NOECHO}${SHELL} -ec "echo TIPID=${TIPID} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TILID=${TILID} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TIPLINE='\"${TIPLINE}\"' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec 'echo TIPL0='\"${TIPL0}\"' >>${MAKENAME2}'
	${NOECHO}${SHELL} -ec 'echo TIPL1=${TIPL1} >>${MAKENAME2}'
	${NOECHO}${SHELL} -ec 'echo TIPL2=${TIPL2} >>${MAKENAME2}'
	${NOECHO}${SHELL} -ec 'echo TIPL3=${TIPL3} >>${MAKENAME2}'
	${NOECHO}${SHELL} -ec "echo TILLINE='\"${TILLINE}\"' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec 'echo TILL0='\"${TILL0}\"' >>${MAKENAME2}'
	${NOECHO}${SHELL} -ec 'echo TILL1=${TILL1} >>${MAKENAME2}'
	${NOECHO}${SHELL} -ec 'echo TILL2=${TILL2} >>${MAKENAME2}'
	${NOECHO}${SHELL} -ec 'echo TILL3=${TILL3} >>${MAKENAME2}'
	${NOECHO}${SHELL} -ec "echo PLAINLINE='${PLAINLINE}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PL0='${PL0}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PL1='${PL1}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PL2='${PL2}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PL3='${PL3}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PL4='${PL4}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PL5='${PL5}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PL6='${PL6}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo REFPLINE='${REFPLINE}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LATEXLINE='${LATEXLINE}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LA0='${LA0}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LA1='${LA1}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LA2='${LA2}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LA3='${LA3}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LA4='${LA4}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LA5='${LA5}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LA6='${LA6}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo REFLLINE='${REFLLINE}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXMFPLINE='${TEXMFPLINE}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PLAINOPT='${PLAINOPT}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PLAINMOT='${PLAINMOT}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo FORMATLINE='${FORMATLINE}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXMFFLINE='${TEXMFFLINE}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo FORMATOPT='${FORMATOPT}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo FORMATMOT='${FORMATMOT}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXMFMAIN=${TEXMFMAIN} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TMFCONFIG=${TMFCONFIG} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TMFVAR=${TMFVAR} >>${MAKENAME2}"
###	${NOECHO}${SHELL} -ec "echo TEXMFVAR=${TEXMFVAR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MYPWD=${MYPWD} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo BAT=${BAT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MIK=${MIK} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXHASH='${TEXHASH}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXHASHCMD='${TEXHASHCMD}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXHASHBAT='${TEXHASHBAT}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo THISFILE=${THISFILE2} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MAKENAME=${MAKENAME2} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MAKEFILEORG=${MAKEFILEORG} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo THELOG=${THELOG} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MAXLOGS=${MAXLOGS} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PMOTEUR=${PMOTEUR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LMOTEUR=${LMOTEUR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PTEXBINARY=${PTEXBINARY} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LTEXBINARY=${LTEXBINARY} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo RPLTTS=${RPLTTS} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo RLLTTS=${RLLTTS} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TSSHELLSDIR=${TSSHELLSDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo BINEXT=${BINEXT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo EXTINI=${EXTINI} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo SHELLEXT=${SHELLEXT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo ECHO=${SHELL} ${MYPWD}/echoandlog ${MAKENAME2}: >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo EXEC=${SHELL} ${MYPWD}/execandbat  >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo NL=${NL} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LANG=${LANG} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LANGMSG=${LANGMSG} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LOGINNAME=${LOGINNAME} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo UMASK=${UMASK} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TYPEL=${TYPEL} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TSYS=${TSYS} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo CMD=${CMD} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo INSTALLCMD=${INSTALLCMD} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo CAT=${CAT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo CP=${CP} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo WCP=${WCP} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MODBIN=${MODBIN} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MODTXT=${MODTXT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MOD4ME=${MOD4ME} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo INTERACTIVE=${INTERACTIVE} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo CC=${CC} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo ERRNOCC=${ERRNOCC} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo Coptions=${Coptions} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo RM=${RM} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo CAT=${CAT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LEX=${LEX} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MKDIRS=${MKDIRS} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo VI=${VI} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo NOECHO=${NOECHO} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo NOERR=${NOERR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MKS=${MKS} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo NOAUTOMAIL=${NOAUTOMAIL} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXCMD=${TEXCMD} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PRINTDVI=${PRINTDVI} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo NBPAGES=${NBPAGES} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo NUMPAGES=${NUMPAGES} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo INDEXCMD=${INDEXCMD} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo INITID=${INITID} >>${MAKENAME2}"
ifeq ($(INITID),pdf)
	${NOECHO}${SHELL} -ec "echo 'COPYPDFTEXCFG=${COPYPDFTEXCFG}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo 'DELPDFTEXCFG=${DELPDFTEXCFG}' >>${MAKENAME2}"
endif
	${NOECHO}${SHELL} -ec "echo 'SEDFMTPDF=${SEDFMTPDF}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo 'SEDFMTFR=${SEDFMTFR}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PINITCMD=${PINITCMD} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LINITCMD=${LINITCMD} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo CMDLINK=${CMDLINK} >>${MAKENAME2}"
ifeq ($(CommonTeX),YES)
	${NOECHO}${SHELL} -ec "echo 'TEXINPUTS=${TEXINPUTS}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo 'SETINPUTS=${SETINPUTS}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo 'RESETINPUTS=${RESETINPUTS}' >>${MAKENAME2}"
endif
	${NOECHO}${SHELL} -ec "echo USHYPHFILE=${USHYPHFILE} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo USHYPH1FILE=${USHYPH1FILE} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo USHYPHDIR=${USHYPHDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXOPTS=${TEXOPTS} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo FONTENCODING=${FONTENCODING} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo FNT=${FNT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo KPSEPATH=${ATP}/${TEXOPTS} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo SRCROOT=${SRCROOT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo WSRCROOT=${WSRCROOT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo DESTIDIR="${DESTIDIR}" >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo DESTDIR=${DESTDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo DESTDIRDIR="${DESTDIRDIR}" >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo DESTLEDIR="${DESTLEDIR}" >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo FORMATS="${FORMATS}" >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXDOCS="${TEXDOCS}" >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec 'echo HYPHDIR="${HYPHDIR}" >>${MAKENAME2}'
	${NOECHO}${SHELL} -ec "echo LATEXDIR=${LATEXDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PLAINDIR=${PLAINDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LATEXDIRL=${LATEXDIRL} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PLAINDIRL=${PLAINDIRL} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PDFCFILE=${PDFCFILE} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PDFTEXDIR=${PDFTEXDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo INPUTDIR="$(INPUTDIR)" >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo CONFIGDIR="${CONFIGDIR}" >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo ISTDIR="$(ISTDIR)" >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo FORMAT=${FORMAT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PFMTEXT=${PFMTEXT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LFMTEXT=${LFMTEXT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo EXTENDEDMODE=${EXTENDEDMODE} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo EXTENDEDFMT=${EXTENDEDFMT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo 'PEXTF=${PEXTF}' >>${MAKENAME2}"	
	${NOECHO}${SHELL} -ec "echo 'LEXTF=${LEXTF}' >>${MAKENAME2}"	
	${NOECHO}${SHELL} -ec "echo PEXTEF=${PEXTEF} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LEXTEF=${LEXTEF} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo PFMTNAME=${PFMTNAME} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LFMTNAME=${LFMTNAME} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo INITEXOPT=${INITEXOPT} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo INITDIR=${INITDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo TEXTCX=${TEXTCX} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo DVNF=${DVNF} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo DNF=${DNF} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LNS=${LNS} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo BINARIES=${BINARIES} >>${MAKENAME2}"
	${NOECHO}if test -w "${BINDIR}"  ; then \
	 ${SHELL} -ec "echo BINDIR=${BINDIR} >>${MAKENAME2}" ;\
	else \
	 ${SHELL} -ec "echo BINDIR=${FIRSTBIN} >>${MAKENAME2}" ;\
	fi
	${NOECHO}${SHELL} -ec "echo CODEC='${CODEC}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo SUPERUSERD='${SUPERUSERD}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo SUPERUSERF='${SUPERUSERF}' >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo KEYBOARDDIR=${KEYBOARDDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo FRENCHDIR=${FRENCHDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MLPDIR=${MLPDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MSGDIR=${MSGDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo OTHERDIR=${OTHERDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo MKINDEXDIR=${MKINDEXDIR} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LF=${LF} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "echo LFARG=${LFARG} >>${MAKENAME2}"
	${NOECHO}${SHELL} -ec "${LFADD}"
	${NOECHO}cat < Makefile.in >>${MAKENAME2}

gen:	
	${NOECHO}if test -z "$(ISteTeX)$(ISMiKTeX)" ; \
	then \
	${ECHO} ${E12}; \
	else \
	${ECHO} ${E13}; \
	${ECHO} ${E14}; \
	fi
	@${ECHO} " " 
	${NOECHO}if test -z "$(NOAUTOMAIL)" ; \
	then \
	${ECHO} ${E15}; \
	${ECHO} ${E16}; \
	fi
ifneq ($(NONSTOP),nonstop)
	@${ECHO} ${E17}
endif

# "default" removed from dependencies 2003/06/12
nonstopproc:	nonstopcontinueI nonstopcontinueII nonstopcontinueIII 
	@${ECHO} " "

proc:	
	@${ECHO} " "

nonstopcontinueI: 
	${NOECHO}$(MAKE) -f ${THISFILE2} nonstopcontinueI ${MKS}

nonstopcontinueII:	
	@${ECHO} ${E44}
	${NOECHO}$(MAKE) -f ${THISFILE}  INITID=pdf OUT ${MKS}
	${NOECHO}$(MAKE) -f ${THISFILE2} INITID=pdf nonstopcontinueII ${MKS}

nonstopcontinueIII:
	@${ECHO} ${E45}
	${NOECHO}$(MAKE) -f ${THISFILE}  INITID=e OUT ${MKS}
	${NOECHO}$(MAKE) -f ${THISFILE2} INITID=e nonstopcontinueIII ${MKS}


continue: 
	${NOERR}${NOECHO}${RM} ${MYPWD}/done
	${NOECHO}$(MAKE) -f ${THISFILE2}  continue  ${MKS}

install:	
	${NOECHO}$(MAKE) -f ${THISFILE2} install ${MKS}

uninstall:	
	${ECHO} " " ; ${DELhtc} ${DELftc}	
	${NOECHO}$(MAKE) -f ${THISFILE2} uninstall  ${MKS}

reftest:	
	${NOECHO}$(MAKE) -f ${THISFILE2} reftest  ${MKS}

printed:	
	${NOECHO}$(MAKE) -f ${THISFILE2} printed  ${MKS}

sendmessage:	
	${NOECHO}$(MAKE) -f ${THISFILE2} sendmessage  ${MKS}

register:	
	${NOECHO}$(MAKE) -f ${THISFILE2} register ${MKS}

clean:	${MYPWD}/echoandlog
	${NOECHO}if test -f makefile.gen ;\
		then $(MAKE) -f ${THISFILE2} clean ${MKS} ; \
		else ${ECHO} " " ; \
	fi

INFO:	${MYPWD}/echoandlog
	${NOECHO}if test -f makefile.gen ;\
		then $(MAKE) -f ${THISFILE2} INFO ${MKS} ; \
		else ${ECHO} " " ; \
	fi

superclean:
	${NOECHO}$(MAKE) -f ${THISFILE2} superclean ${MKS}
##############################################################
