# Répertoires des différents fichiers
SRC=src
OBJ=obj
BIN=bin

listexe=$(BIN)/listemail $(BIN)/comptemail $(BIN)/chargemail \
	$(BIN)/chargepartaille $(BIN)/chargepartiel $(BIN)/chargexpedok \
	$(BIN)/chargechampok $(BIN)/envmail $(BIN)/entetemail $(BIN)/filtradr \
	$(BIN)/filtredest $(BIN)/filtresujet $(BIN)/filtrechamp $(BIN)/selhtm \
	$(BIN)/sjmails $(BIN)/sjfmails $(BIN)/suphtm $(BIN)/supbcc \
	$(BIN)/supgrosmail $(BIN)/detruitmail $(BIN)/deplpartaille \
	$(BIN)/deplacemail $(BIN)/deplpartiel $(BIN)/voirmail $(BIN)/voirfmail \
	$(BIN)/cremail $(BIN)/repmail $(BIN)/trsfmail $(BIN)/vmaildir \
	$(BIN)/vmailsj $(BIN)/vmailfic $(BIN)/recuppj $(BIN)/joindre \
	$(BIN)/vsourcemail $(BIN)/convb64 $(BIN)/iso8859-utf8 \
	$(BIN)/utf8-iso8859

listemes=$(BIN)/mail-supbcc.de $(BIN)/mail-supbcc.en $(BIN)/mail-supbcc.eo \
	 $(BIN)/mail-supbcc.es $(BIN)/mail-supbcc.fr $(BIN)/mail-supbcc.it \
	 $(BIN)/mail-supbcc.nl $(BIN)/mail-supbcc.pt $(BIN)/mail-supgros.de \
	 $(BIN)/mail-supgros.en $(BIN)/mail-supgros.eo $(BIN)/mail-supgros.es \
	 $(BIN)/mail-supgros.fr $(BIN)/mail-supgros.it $(BIN)/mail-supgros.nl \
	 $(BIN)/mail-supgros.pt $(BIN)/mail-suphtm.de $(BIN)/mail-suphtm.en \
	 $(BIN)/mail-suphtm.eo $(BIN)/mail-suphtm.es $(BIN)/mail-suphtm.fr \
	 $(BIN)/mail-suphtm.it $(BIN)/mail-suphtm.nl $(BIN)/mail-suphtm.pt \
	 $(BIN)/mess-libremail.de $(BIN)/mess-libremail.en \
	 $(BIN)/mess-libremail.eo $(BIN)/mess-libremail.eo-utf \
	 $(BIN)/mess-libremail.es $(BIN)/mess-libremail.fr \
	 $(BIN)/mess-libremail.it $(BIN)/mess-libremail.nl \
	 $(BIN)/mess-libremail.pt

confdir=/usr/share/libremail


# Liste des exécutables à générer
tous:	$(OBJ) $(BIN) $(listexe) $(BIN)/majmessages

# Pour mise au point : ne fait que simuler l'envoi de mails par smtp
simul:	$(OBJ) $(BIN) $(BIN)/simenvmail $(BIN)/simsuphtm $(BIN)/simsupgros \
	$(BIN)/simsupbcc

# Prise en compte d'une nouvelle clé de cryptage des mots de passe
clecrypt: $(OBJ) $(BIN) $(OBJ)/pop.o $(BIN)/cryptepass


# Installation dans répertoires système
install: $(listexe) $(listemes) $(confdir)
	cp -p $(listexe) /usr/bin
	cp -p $(listemes) $(confdir)

# Désinstallation des répertoires système
uninstall:
	rm `echo $(listexe) | sed "s/\.\.\/bin\//\/usr\/bin\//g"`
	rm -r $(confdir) < /dev/null


# création des répertoires
$(BIN):
	mkdir $(BIN)

$(OBJ):
	mkdir $(OBJ)

$(confdir):
	mkdir $(confdir)


# Compilation des bibliothèques de fonctions
$(OBJ)/messages.o: $(SRC)/messages.c $(SRC)/messages.h $(SRC)/szchemin.h
	cc -c $(SRC)/messages.c ; mv messages.o $(OBJ)

$(OBJ)/pop.o: $(SRC)/pop.c $(SRC)/buflect.h $(SRC)/pop.h $(SRC)/clecrypt.h
	cc -c $(SRC)/pop.c ; mv pop.o $(OBJ)

$(OBJ)/smtp.o: $(SRC)/smtp.c $(SRC)/buflect.h $(SRC)/smtp.h $(SRC)/base64.h
	cc -c $(SRC)/smtp.c ; mv smtp.o $(OBJ)

$(OBJ)/ficonf.o: $(SRC)/ficonf.c $(SRC)/ficonf.h $(SRC)/szchemin.h
	cc -c $(SRC)/ficonf.c ; mv ficonf.o $(OBJ)

$(OBJ)/fmail.o: $(SRC)/fmail.c $(SRC)/buflect.h $(SRC)/fmail.h
	cc -c $(SRC)/fmail.c ; mv fmail.o $(OBJ)

$(OBJ)/base64.o: $(SRC)/base64.c $(SRC)/base64.h
	cc -c $(SRC)/base64.c ; mv base64.o $(OBJ)

$(OBJ)/trtentete.o: $(SRC)/trtentete.c $(SRC)/buflect.h $(SRC)/encodage.h \
	$(SRC)/trtentete.h
	cc -c $(SRC)/trtentete.c ; mv trtentete.o $(OBJ)

$(OBJ)/trtligne.o: $(SRC)/trtligne.c $(SRC)/buflect.h $(SRC)/encodage.h \
	$(SRC)/trtligne.h $(SRC)/base64.h $(SRC)/messages.h
	cc -c $(SRC)/trtligne.c ; mv trtligne.o $(OBJ)

$(OBJ)/groupeligne.o: $(SRC)/groupeligne.c $(SRC)/buflect.h $(SRC)/fmail.h \
	$(SRC)/trtligne.h $(SRC)/groupeligne.h
	cc -c $(SRC)/groupeligne.c ; mv groupeligne.o $(OBJ)

$(OBJ)/trtbordure.o: $(SRC)/trtbordure.c $(SRC)/buflect.h $(SRC)/trtbordure.h
	cc -c $(SRC)/trtbordure.c ; mv trtbordure.o $(OBJ)

$(OBJ)/trtsection.o: $(SRC)/trtsection.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/fmail.h $(SRC)/trtligne.h $(SRC)/encodage.h $(SRC)/trtsection.h \
	$(SRC)/trtbordure.h
	cc -c $(SRC)/trtsection.c ; mv trtsection.o $(OBJ)

$(OBJ)/modepage.o: $(SRC)/modepage.c $(SRC)/modepage.h $(SRC)/carspe.h
	cc -c $(SRC)/modepage.c ; mv modepage.o $(OBJ)

$(OBJ)/tradmail.o: $(SRC)/tradmail.c $(SRC)/tradmail.h $(SRC)/messages.h \
	$(SRC)/buflect.h $(SRC)/trtligne.h $(SRC)/modepage.h $(SRC)/carspe.h \
	$(SRC)/szchemin.h
	cc -c $(SRC)/tradmail.c ; mv tradmail.o $(OBJ)

$(OBJ)/numail.o: $(SRC)/numail.c $(SRC)/messages.h $(SRC)/numail.h \
	$(SRC)/szchemin.h
	cc -c $(SRC)/numail.c ; mv numail.o $(OBJ)

$(OBJ)/genentete.o: $(SRC)/genentete.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/szchemin.h $(SRC)/genentete.h $(SRC)/modepage.h $(SRC)/carspe.h
	cc -c $(SRC)/genentete.c ; mv genentete.o $(OBJ)

$(OBJ)/testchamp.o: $(SRC)/testchamp.c $(SRC)/buflect.h $(SRC)/testchamp.h
	cc -c $(SRC)/testchamp.c ; mv testchamp.o $(OBJ)

$(OBJ)/datecour.o: $(SRC)/datecour.c $(SRC)/datecour.h
	cc -c $(SRC)/datecour.c ; mv datecour.o $(OBJ)

$(OBJ)/genchampdate.o: $(SRC)/genchampdate.c $(SRC)/genchampdate.h
	cc -c $(SRC)/genchampdate.c ; mv genchampdate.o $(OBJ)

$(OBJ)/mailrep.o: $(SRC)/mailrep.c $(SRC)/mailrep.h $(SRC)/szchemin.h \
	$(SRC)/messages.h
	cc -c $(SRC)/mailrep.c ; mv mailrep.o $(OBJ)

$(OBJ)/copiedepl.o: $(SRC)/copiedepl.c $(SRC)/copiedepl.h $(SRC)/messages.h \
	$(SRC)/buflect.h $(SRC)/pop.h $(SRC)/smtp.h
	cc -c $(SRC)/copiedepl.c ; mv copiedepl.o $(OBJ)

$(OBJ)/simulsmtp.o: $(SRC)/simulsmtp.c $(SRC)/buflect.h $(SRC)/smtp.h \
	$(SRC)/base64.h
	cc -c $(SRC)/simulsmtp.c ; mv simulsmtp.o $(OBJ)


# compilation des sources des applications
$(OBJ)/listemail.o: $(SRC)/listemail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h
	cc -c $(SRC)/listemail.c ; mv listemail.o $(OBJ)

$(OBJ)/comptemail.o: $(SRC)/comptemail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h
	cc -c $(SRC)/comptemail.c ; mv comptemail.o $(OBJ)

$(OBJ)/chargemail.o: $(SRC)/chargemail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/numail.h $(SRC)/szchemin.h
	cc -c $(SRC)/chargemail.c ; mv chargemail.o $(OBJ)

$(OBJ)/chargepartaille.o: $(SRC)/chargepartaille.c $(SRC)/messages.h \
	$(SRC)/buflect.h $(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/numail.h \
	$(SRC)/szchemin.h
	cc -c $(SRC)/chargepartaille.c ; mv chargepartaille.o $(OBJ)

$(OBJ)/chargepartiel.o: $(SRC)/chargepartiel.c $(SRC)/messages.h \
	$(SRC)/buflect.h $(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/numail.h \
	$(SRC)/trtentete.h $(SRC)/szchemin.h
	cc -c $(SRC)/chargepartiel.c ; mv chargepartiel.o $(OBJ)

$(OBJ)/chargexpedok.o: $(SRC)/chargexpedok.c $(SRC)/messages.h \
	$(SRC)/buflect.h $(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/numail.h \
	$(SRC)/testchamp.h $(SRC)/trtentete.h $(SRC)/szchemin.h
	cc -c $(SRC)/chargexpedok.c ; mv chargexpedok.o $(OBJ)

$(OBJ)/chargechampok.o: $(SRC)/chargechampok.c $(SRC)/messages.h \
	$(SRC)/buflect.h $(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/numail.h \
	$(SRC)/testchamp.h $(SRC)/trtentete.h $(SRC)/szchemin.h
	cc -c $(SRC)/chargechampok.c ; mv chargechampok.o $(OBJ)

$(OBJ)/envmail.o: $(SRC)/envmail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/smtp.h $(SRC)/fmail.h $(SRC)/szchemin.h \
	$(SRC)/genchampdate.h
	cc -c $(SRC)/envmail.c ; mv envmail.o $(OBJ)

$(OBJ)/entetemail.o: $(SRC)/entetemail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/fmail.h $(SRC)/trtentete.h
	cc -c $(SRC)/entetemail.c ; mv entetemail.o $(OBJ)

$(OBJ)/filtradr.o: $(SRC)/filtradr.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/trtentete.h $(SRC)/szchemin.h
	cc -c $(SRC)/filtradr.c ; mv filtradr.o $(OBJ)

$(OBJ)/filtredest.o: $(SRC)/filtredest.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/testchamp.h $(SRC)/trtentete.h \
	$(SRC)/szchemin.h
	cc -c $(SRC)/filtredest.c ; mv filtredest.o $(OBJ)

$(OBJ)/filtresujet.o: $(SRC)/filtresujet.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/testchamp.h $(SRC)/trtentete.h \
	$(SRC)/szchemin.h
	cc -c $(SRC)/filtresujet.c ; mv filtresujet.o $(OBJ)

$(OBJ)/filtrechamp.o: $(SRC)/filtrechamp.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/testchamp.h $(SRC)/trtentete.h \
	$(SRC)/szchemin.h
	cc -c $(SRC)/filtrechamp.c ; mv filtrechamp.o $(OBJ)

$(OBJ)/selhtm.o: $(SRC)/selhtm.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/trtentete.h
	cc -c $(SRC)/selhtm.c ; mv selhtm.o $(OBJ)

$(OBJ)/sjmails.o: $(SRC)/sjmails.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/trtentete.h $(SRC)/trtligne.h
	cc -c $(SRC)/sjmails.c ; mv sjmails.o $(OBJ)

$(OBJ)/sjfmails.o: $(SRC)/sjfmails.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/fmail.h $(SRC)/trtentete.h $(SRC)/trtligne.h
	cc -c $(SRC)/sjfmails.c ; mv sjfmails.o $(OBJ)

$(OBJ)/suphtm.o: $(SRC)/suphtm.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/smtp.h $(SRC)/trtentete.h \
	$(SRC)/datecour.h $(SRC)/mailrep.h $(SRC)/genchampdate.h
	cc -c $(SRC)/suphtm.c ; mv suphtm.o $(OBJ)

$(OBJ)/supbcc.o: $(SRC)/supbcc.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/smtp.h $(SRC)/testchamp.h \
	$(SRC)/trtentete.h $(SRC)/szchemin.h $(SRC)/datecour.h \
	$(SRC)/mailrep.h $(SRC)/genchampdate.h
	cc -c $(SRC)/supbcc.c ; mv supbcc.o $(OBJ)

$(OBJ)/supgrosmail.o: $(SRC)/supgrosmail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/smtp.h $(SRC)/testchamp.h \
	$(SRC)/trtentete.h $(SRC)/szchemin.h $(SRC)/mailrep.h \
	$(SRC)/genchampdate.h
	cc -c $(SRC)/supgrosmail.c ; mv supgrosmail.o $(OBJ)

$(OBJ)/detruitmail.o: $(SRC)/detruitmail.c $(SRC)/messages.h $(SRC)/pop.h
	cc -c $(SRC)/detruitmail.c ; mv detruitmail.o $(OBJ)

$(OBJ)/deplpartaille.o: $(SRC)/deplpartaille.c $(SRC)/messages.h $(SRC)/pop.h \
       	$(SRC)/smtp.h $(SRC)/copiedepl.h
	cc -c $(SRC)/deplpartaille.c ; mv deplpartaille.o $(OBJ)

$(OBJ)/deplacemail.o: $(SRC)/deplacemail.c $(SRC)/messages.h $(SRC)/pop.h \
       	$(SRC)/smtp.h $(SRC)/trtentete.h $(SRC)/copiedepl.h
	cc -c $(SRC)/deplacemail.c ; mv deplacemail.o $(OBJ)

$(OBJ)/deplpartiel.o: $(SRC)/deplpartiel.c $(SRC)/messages.h $(SRC)/pop.h \
       	$(SRC)/smtp.h $(SRC)/trtentete.h $(SRC)/copiedepl.h
	cc -c $(SRC)/deplpartiel.c ; mv deplpartiel.o $(OBJ)

$(OBJ)/voirmail.o: $(SRC)/voirmail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h $(SRC)/encodage.h $(SRC)/trtentete.h \
	$(SRC)/trtligne.h $(SRC)/trtbordure.h $(SRC)/trtsection.h
	cc -c $(SRC)/voirmail.c ; mv voirmail.o $(OBJ)

$(OBJ)/voirfmail.o: $(SRC)/voirfmail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/fmail.h $(SRC)/encodage.h $(SRC)/trtentete.h $(SRC)/trtligne.h \
	$(SRC)/trtbordure.h $(SRC)/trtsection.h
	cc -c $(SRC)/voirfmail.c ; mv voirfmail.o $(OBJ)

$(OBJ)/cremail.o: $(SRC)/cremail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/numail.h $(SRC)/genentete.h $(SRC)/modepage.h $(SRC)/carspe.h
	cc -c $(SRC)/cremail.c ; mv cremail.o $(OBJ)

$(OBJ)/repmail.o: $(SRC)/repmail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/fmail.h $(SRC)/encodage.h $(SRC)/trtentete.h $(SRC)/trtligne.h \
	$(SRC)/groupeligne.h $(SRC)/trtbordure.h $(SRC)/trtsection.h \
	$(SRC)/trtsection.h $(SRC)/numail.h $(SRC)/genentete.h \
	$(SRC)/modepage.h $(SRC)/carspe.h
	cc -c $(SRC)/repmail.c ; mv repmail.o $(OBJ)

$(OBJ)/trsfmail.o: $(SRC)/trsfmail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/fmail.h $(SRC)/encodage.h $(SRC)/trtentete.h $(SRC)/trtligne.h \
	$(SRC)/groupeligne.h $(SRC)/trtbordure.h $(SRC)/trtsection.h \
	$(SRC)/trtsection.h $(SRC)/numail.h $(SRC)/genentete.h \
	$(SRC)/modepage.h $(SRC)/carspe.h
	cc -c $(SRC)/trsfmail.c ; mv trsfmail.o $(OBJ)

$(OBJ)/vmaildir.o: $(SRC)/vmaildir.c $(SRC)/messages.h $(SRC)/modepage.h \
	$(SRC)/carspe.h $(SRC)/szchemin.h
	cc -c $(SRC)/vmaildir.c ; mv vmaildir.o $(OBJ)

$(OBJ)/vmailsj.o: $(SRC)/vmailsj.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/fmail.h $(SRC)/trtentete.h $(SRC)/modepage.h $(SRC)/carspe.h \
	$(SRC)/szchemin.h
	cc -c $(SRC)/vmailsj.c ; mv vmailsj.o $(OBJ)

$(OBJ)/vmailfic.o: $(SRC)/vmailfic.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/fmail.h $(SRC)/encodage.h $(SRC)/trtentete.h $(SRC)/trtligne.h \
	$(SRC)/groupeligne.h $(SRC)/trtbordure.h $(SRC)/trtsection.h \
	$(SRC)/modepage.h $(SRC)/carspe.h $(SRC)/szchemin.h $(SRC)/tradmail.h
	cc -c $(SRC)/vmailfic.c ; mv vmailfic.o $(OBJ)

$(OBJ)/recuppj.o: $(SRC)/recuppj.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/fmail.h $(SRC)/encodage.h $(SRC)/trtentete.h $(SRC)/trtligne.h \
	$(SRC)/trtbordure.h
	cc -c $(SRC)/recuppj.c ; mv recuppj.o $(OBJ)

$(OBJ)/joindre.o: $(SRC)/joindre.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/fmail.h $(SRC)/trtentete.h $(SRC)/trtligne.h $(SRC)/trtbordure.h
	cc -c $(SRC)/joindre.c ; mv joindre.o $(OBJ)

$(OBJ)/vsourcemail.o: $(SRC)/vsourcemail.c $(SRC)/messages.h $(SRC)/buflect.h \
	$(SRC)/ficonf.h $(SRC)/pop.h
	cc -c $(SRC)/vsourcemail.c ; mv vsourcemail.o $(OBJ)

$(OBJ)/convb64.o: $(SRC)/convb64.c $(SRC)/base64.h
	cc -c $(SRC)/convb64.c ; mv convb64.o $(OBJ)


# Génération des exécutables
$(BIN)/listemail: $(OBJ)/listemail.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o
	cc -o $(BIN)/listemail $(OBJ)/listemail.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o

$(BIN)/comptemail: $(OBJ)/comptemail.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o
	cc -o $(BIN)/comptemail $(OBJ)/comptemail.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o

$(BIN)/chargemail: $(OBJ)/chargemail.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/numail.o
	cc -o $(BIN)/chargemail $(OBJ)/chargemail.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/numail.o

$(BIN)/chargepartaille: $(OBJ)/chargepartaille.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/numail.o
	cc -o $(BIN)/chargepartaille $(OBJ)/chargepartaille.o \
	$(OBJ)/messages.o $(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/numail.o

$(BIN)/chargepartiel: $(OBJ)/chargepartiel.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/numail.o $(OBJ)/trtentete.o
	cc -o $(BIN)/chargepartiel $(OBJ)/chargepartiel.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/numail.o $(OBJ)/trtentete.o

$(BIN)/chargexpedok: $(OBJ)/chargexpedok.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/testchamp.o $(OBJ)/trtentete.o $(OBJ)/numail.o
	cc -o $(BIN)/chargexpedok $(OBJ)/chargexpedok.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/testchamp.o $(OBJ)/trtentete.o \
	$(OBJ)/numail.o

$(BIN)/chargechampok: $(OBJ)/chargechampok.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/testchamp.o $(OBJ)/trtentete.o $(OBJ)/numail.o
	cc -o $(BIN)/chargechampok $(OBJ)/chargechampok.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/testchamp.o $(OBJ)/trtentete.o \
	$(OBJ)/numail.o

$(BIN)/envmail: $(OBJ)/envmail.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/smtp.o $(OBJ)/base64.o $(OBJ)/fmail.o $(OBJ)/genchampdate.o
	cc -o $(BIN)/envmail $(OBJ)/envmail.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/smtp.o $(OBJ)/base64.o $(OBJ)/fmail.o \
	$(OBJ)/genchampdate.o

$(BIN)/entetemail: $(OBJ)/entetemail.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o
	cc -o $(BIN)/entetemail $(OBJ)/entetemail.o $(OBJ)/messages.o \
	$(OBJ)/fmail.o $(OBJ)/trtentete.o

$(BIN)/filtradr: $(OBJ)/filtradr.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/trtentete.o $(OBJ)/datecour.o
	cc -o $(BIN)/filtradr $(OBJ)/filtradr.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/trtentete.o $(OBJ)/datecour.o

$(BIN)/filtredest: $(OBJ)/filtredest.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/testchamp.o $(OBJ)/trtentete.o $(OBJ)/datecour.o
	cc -o $(BIN)/filtredest $(OBJ)/filtredest.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/testchamp.o $(OBJ)/trtentete.o \
	$(OBJ)/datecour.o

$(BIN)/filtresujet: $(OBJ)/filtresujet.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/testchamp.o $(OBJ)/trtentete.o $(OBJ)/datecour.o
	cc -o $(BIN)/filtresujet $(OBJ)/filtresujet.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/testchamp.o $(OBJ)/trtentete.o \
	$(OBJ)/datecour.o

$(BIN)/filtrechamp: $(OBJ)/filtrechamp.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/testchamp.o $(OBJ)/trtentete.o $(OBJ)/datecour.o
	cc -o $(BIN)/filtrechamp $(OBJ)/filtrechamp.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/testchamp.o $(OBJ)/trtentete.o \
	$(OBJ)/datecour.o

$(BIN)/selhtm: $(OBJ)/selhtm.o $(OBJ)/messages.o $(OBJ)/ficonf.o $(OBJ)/pop.o \
	$(OBJ)/trtentete.o
	cc -o $(BIN)/selhtm $(OBJ)/selhtm.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/trtentete.o

$(BIN)/sjmails: $(OBJ)/sjmails.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/base64.o
	cc -o $(BIN)/sjmails $(OBJ)/sjmails.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/trtentete.o $(OBJ)/trtligne.o \
	$(OBJ)/base64.o

$(BIN)/sjfmails: $(OBJ)/sjfmails.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/base64.o
	cc -o $(BIN)/sjfmails $(OBJ)/sjfmails.o $(OBJ)/messages.o \
	$(OBJ)/fmail.o $(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/base64.o

$(BIN)/suphtm: $(OBJ)/suphtm.o $(OBJ)/messages.o $(OBJ)/ficonf.o $(OBJ)/pop.o \
	$(OBJ)/smtp.o $(OBJ)/base64.o $(OBJ)/trtentete.o $(OBJ)/datecour.o \
	$(OBJ)/mailrep.o $(OBJ)/genchampdate.o
	cc -o $(BIN)/suphtm $(OBJ)/suphtm.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/smtp.o $(OBJ)/base64.o $(OBJ)/trtentete.o \
	$(OBJ)/datecour.o $(OBJ)/mailrep.o $(OBJ)/genchampdate.o

$(BIN)/supbcc: $(OBJ)/supbcc.o $(OBJ)/messages.o $(OBJ)/pop.o $(OBJ)/smtp.o \
	$(OBJ)/base64.o $(OBJ)/testchamp.o $(OBJ)/trtentete.o \
       	$(OBJ)/datecour.o $(OBJ)/mailrep.o $(OBJ)/genchampdate.o
	cc -o $(BIN)/supbcc $(OBJ)/supbcc.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/smtp.o $(OBJ)/base64.o $(OBJ)/testchamp.o \
	$(OBJ)/trtentete.o $(OBJ)/datecour.o $(OBJ)/mailrep.o \
	$(OBJ)/genchampdate.o

$(BIN)/supgrosmail: $(OBJ)/supgrosmail.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/smtp.o $(OBJ)/base64.o $(OBJ)/testchamp.o \
       	$(OBJ)/trtentete.o $(OBJ)/mailrep.o $(OBJ)/genchampdate.o
	cc -o $(BIN)/supgrosmail $(OBJ)/supgrosmail.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/smtp.o $(OBJ)/base64.o \
	$(OBJ)/testchamp.o $(OBJ)/trtentete.o $(OBJ)/mailrep.o \
	$(OBJ)/genchampdate.o

$(BIN)/detruitmail: $(OBJ)/detruitmail.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o
	cc -o $(BIN)/detruitmail $(OBJ)/detruitmail.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o

$(BIN)/deplpartaille: $(OBJ)/deplpartaille.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/smtp.o $(OBJ)/copiedepl.o
	cc -o $(BIN)/deplpartaille $(OBJ)/deplpartaille.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/smtp.o $(OBJ)/base64.o \
	$(OBJ)/copiedepl.o

$(BIN)/deplacemail: $(OBJ)/deplacemail.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/trtentete.o $(OBJ)/pop.o $(OBJ)/smtp.o $(OBJ)/copiedepl.o
	cc -o $(BIN)/deplacemail $(OBJ)/deplacemail.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/trtentete.o $(OBJ)/pop.o $(OBJ)/smtp.o \
	$(OBJ)/base64.o $(OBJ)/copiedepl.o

$(BIN)/deplpartiel: $(OBJ)/deplpartiel.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/trtentete.o $(OBJ)/pop.o $(OBJ)/smtp.o $(OBJ)/copiedepl.o
	cc -o $(BIN)/deplpartiel $(OBJ)/deplpartiel.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/trtentete.o $(OBJ)/pop.o $(OBJ)/smtp.o \
	$(OBJ)/base64.o $(OBJ)/copiedepl.o

$(BIN)/voirmail: $(OBJ)/voirmail.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/base64.o \
	$(OBJ)/trtbordure.o
	cc -o $(BIN)/voirmail $(OBJ)/voirmail.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/trtentete.o $(OBJ)/trtligne.o \
	$(OBJ)/base64.o $(OBJ)/trtbordure.o

$(BIN)/voirfmail: $(OBJ)/voirfmail.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/base64.o \
	$(OBJ)/trtbordure.o $(OBJ)/trtsection.o
	cc -o $(BIN)/voirfmail $(OBJ)/voirfmail.o $(OBJ)/messages.o \
	$(OBJ)/fmail.o $(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/base64.o \
	$(OBJ)/trtbordure.o $(OBJ)/trtsection.o

$(BIN)/cremail: $(OBJ)/cremail.o $(OBJ)/messages.o $(OBJ)/numail.o \
	$(OBJ)/genentete.o $(OBJ)/modepage.o
	cc -o $(BIN)/cremail $(OBJ)/cremail.o $(OBJ)/messages.o \
	$(OBJ)/numail.o $(OBJ)/genentete.o $(OBJ)/modepage.o

$(BIN)/repmail: $(OBJ)/repmail.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/groupeligne.o \
	$(OBJ)/base64.o $(OBJ)/trtbordure.o $(OBJ)/trtsection.o \
	$(OBJ)/numail.o $(OBJ)/genentete.o $(OBJ)/modepage.o
	cc -o $(BIN)/repmail $(OBJ)/repmail.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/groupeligne.o \
	$(OBJ)/base64.o $(OBJ)/trtbordure.o $(OBJ)/trtsection.o \
	$(OBJ)/numail.o $(OBJ)/genentete.o $(OBJ)/modepage.o

$(BIN)/trsfmail: $(OBJ)/trsfmail.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/groupeligne.o \
	$(OBJ)/base64.o $(OBJ)/trtbordure.o $(OBJ)/trtsection.o \
	$(OBJ)/numail.o $(OBJ)/genentete.o $(OBJ)/modepage.o
	cc -o $(BIN)/trsfmail $(OBJ)/trsfmail.o $(OBJ)/messages.o \
	$(OBJ)/fmail.o $(OBJ)/trtentete.o $(OBJ)/trtligne.o \
	$(OBJ)/groupeligne.o $(OBJ)/base64.o $(OBJ)/trtbordure.o \
	$(OBJ)/trtsection.o $(OBJ)/numail.o $(OBJ)/genentete.o $(OBJ)/modepage.o

$(BIN)/vmaildir: $(OBJ)/vmaildir.o $(OBJ)/messages.o $(OBJ)/modepage.o
	cc -o $(BIN)/vmaildir $(OBJ)/vmaildir.o $(OBJ)/messages.o \
	$(OBJ)/modepage.o

$(BIN)/vmailsj: $(OBJ)/vmailsj.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/modepage.o
	cc -o $(BIN)/vmailsj $(OBJ)/vmailsj.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/modepage.o

$(BIN)/vmailfic: $(OBJ)/vmailfic.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/groupeligne.o \
	$(OBJ)/base64.o $(OBJ)/trtbordure.o $(OBJ)/trtsection.o \
	$(OBJ)/modepage.o $(OBJ)/tradmail.o
	cc -o $(BIN)/vmailfic $(OBJ)/vmailfic.o $(OBJ)/messages.o \
	$(OBJ)/fmail.o $(OBJ)/trtentete.o $(OBJ)/trtligne.o \
	$(OBJ)/groupeligne.o $(OBJ)/base64.o \$(OBJ)/trtbordure.o \
	$(OBJ)/trtsection.o $(OBJ)/modepage.o $(OBJ)/tradmail.o

$(BIN)/recuppj: $(OBJ)/recuppj.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/base64.o $(OBJ)/trtbordure.o
	cc -o $(BIN)/recuppj $(OBJ)/recuppj.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/base64.o $(OBJ)/trtbordure.o

$(BIN)/joindre: $(OBJ)/joindre.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/base64.o $(OBJ)/trtbordure.o
	cc -o $(BIN)/joindre $(OBJ)/joindre.o $(OBJ)/messages.o $(OBJ)/fmail.o \
	$(OBJ)/trtentete.o $(OBJ)/trtligne.o $(OBJ)/base64.o $(OBJ)/trtbordure.o

$(BIN)/vsourcemail: $(OBJ)/vsourcemail.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o
	cc -o $(BIN)/vsourcemail $(OBJ)/vsourcemail.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o

$(BIN)/convb64: $(OBJ)/convb64.o $(OBJ)/base64.o
	cc -o $(BIN)/convb64 $(OBJ)/convb64.o $(OBJ)/base64.o


# exécutables pour simuler des envois de mails sans le faire (mise au point)
$(BIN)/simenvmail: $(OBJ)/envmail.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/simulsmtp.o $(OBJ)/base64.o $(OBJ)/fmail.o $(OBJ)/genchampdate.o
	cc -o $(BIN)/simenvmail $(OBJ)/envmail.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/simulsmtp.o $(OBJ)/base64.o $(OBJ)/fmail.o \
	$(OBJ)/genchampdate.o

$(BIN)/simsuphtm: $(OBJ)/suphtm.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/simulsmtp.o $(OBJ)/base64.o $(OBJ)/trtentete.o \
	$(OBJ)/datecour.o $(OBJ)/mailrep.o $(OBJ)/genchampdate.o
	cc -o $(BIN)/simsuphtm $(OBJ)/suphtm.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/simulsmtp.o $(OBJ)/base64.o \
	$(OBJ)/trtentete.o $(OBJ)/datecour.o $(OBJ)/mailrep.o \
	$(OBJ)/genchampdate.o

$(BIN)/simsupgros: $(OBJ)/supgrosmail.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/simulsmtp.o $(OBJ)/base64.o $(OBJ)/testchamp.o \
	$(OBJ)/trtentete.o $(OBJ)/mailrep.o $(OBJ)/genchampdate.o
	cc -o $(BIN)/simsupgros $(OBJ)/supgrosmail.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/simulsmtp.o $(OBJ)/base64.o \
	$(OBJ)/testchamp.o $(OBJ)/trtentete.o $(OBJ)/mailrep.o \
	$(OBJ)/genchampdate.o

$(BIN)/simsupbcc: $(OBJ)/supbcc.o $(OBJ)/messages.o $(OBJ)/ficonf.o \
	$(OBJ)/pop.o $(OBJ)/simulsmtp.o $(OBJ)/base64.o $(OBJ)/testchamp.o \
	$(OBJ)/trtentete.o $(OBJ)/datecour.o $(OBJ)/mailrep.o \
	$(OBJ)/genchampdate.o
	cc -o $(BIN)/simsupbcc $(OBJ)/supbcc.o $(OBJ)/messages.o \
	$(OBJ)/ficonf.o $(OBJ)/pop.o $(OBJ)/simulsmtp.o $(OBJ)/base64.o \
	$(OBJ)/testchamp.o $(OBJ)/trtentete.o $(OBJ)/datecour.o \
	$(OBJ)/mailrep.o $(OBJ)/genchampdate.o


# utilitaires de conversion des caractères
$(BIN)/iso8859-utf8: $(SRC)/iso8859-utf8.c
	cc -o $(BIN)/iso8859-utf8 $(SRC)/iso8859-utf8.c

$(BIN)/utf8-iso8859: $(SRC)/utf8-iso8859.c
	cc -o $(BIN)/utf8-iso8859 $(SRC)/utf8-iso8859.c


# utilitaire de cryptage des mots de passe
$(BIN)/cryptepass: $(SRC)/cryptepass.c $(SRC)/clecrypt.h $(OBJ)/messages.o
	cc -o $(BIN)/cryptepass $(SRC)/cryptepass.c $(OBJ)/messages.o
	make tous


# fichiers de données pour support multilingue
$(BIN)/majmessages: $(SRC)/majmessages
	$(SRC)/majmessages # (si nécessaire)
