Auto-éditer un wikilivre/Annexer (Version internationalisée)/Makefile

En travauxlink={{{link}}}

Cette page est en travaux. Tant que cet avis n'aura pas disparu, veuillez en considérer le plan et le contenu encore incomplets, temporaires et sujets à caution. Si vous souhaitez participer, il vous est recommandé de consulter sa page de discussion au préalable, où des informations peuvent être données sur l'avancement des travaux.

Attention ce Makefile n'est pas terminé, il est cependant opérationnel pour des tests à condition d'avoir téléchargé les sources, les archives, resources, icons, man.

Il est nécessaire d'organiser le Makefile pour l'empaquetage
  1. placer en tête de fichier, la dépendance de création du binaire $(PGM).
  2. vérifier que la dépendance 'install' dépende de la création du / des binaires.
  3. effacer le / les fichiers binaires $(PGM) dans la dépendance inconditionnelle 'clean'. Elle devra être la première exécutée à la création du paquet afin de commencer avec un répertoire propre
  4. ajouter la macro $(DESTDIR) en premier lieu pour les essais.
  5. Pendant les essais, vérifier qu'aucune commande ne retourne une valeur différente de zéro, le paquet ne serait pas créé et la demande ppa serait refusée avec des mots très décourrageants.
  6. nettoyer le répertoire à la fin de la compilation s'il y a lieu sachant que la directive 'clean:' est obligatoire.
  • Lancer le Makefile comme suit: make -d install DESTDIR=../tests
#!/bin/make
# file:Makefile for packaging ubuntu addappendix
# updated by french wikibooks user:Goelette_Cardabela
# 
# To test make -d clean install DESTDIR=..tests
# Lors de l'installation les fichiers sources doivent être recopiés
# d'un autre répertoire qui peut être /usr/local/src/Add_appendix
# sauf si DESTDIR est vide
# De même pour SBINS
#
# local
ARCHIVES= $(DESTDIR)/usr/local/share/doc/archives
BIN		= $(DESTDIR)/usr/local/bin
DATAS	= $(DESTDIR)/usr/local/datas
DOC		= $(DESTDIR)/usr/local/share/doc
ETC		= $(DESTDIR)/usr/local/etc
LIB		= $(DESTDIR)/usr/local/lib
# system
ICONS	= $(DESTDIR)/usr/share/icons/hicolor
LANG	= $(DESTDIR)/usr/share/locale
MAN		= $(DESTDIR)/usr/share/man
MIME	= $(DESTDIR)/usr/share/mime
SRC		= $(DESTDIR)/usr/local/src/Add_appendix
SRCS	= add_sclic add_sclipco add_sclipwb add_sclt annex\
	download en_sclic.inc en_sclipco.inc\
	en_sclipwb.inc en_sclt.inc fr_sclic.inc\
	fr_sclipco.inc fr_sclipwb.inc fr_sclt.inc header.inc\
	list pre-annex scli.inc addappendix annexer
SBIN	= $(DESTDIR)/usr/local/sbin
SBINS	= cp-src2bin.sh install_annex.sh install_datasfiles.sh\
	makeman_annex.sh users_install_annex.sh docu2html
PGM		= addappendix
            
$(PGM): clean
	@echo "*** DESTDIR : $(DESTDIR)"
	# Create bin file and all the files making up the application
	install -d $(BIN)
	# chmod 755 ./compil2bin
	./compil2bin src $(BIN) $(SRCS) 
	# compil end

install: $(PGM)
	# Directories creation in local directory
	install -d $(ARCHIVES) $(BIN) $(DATAS) $(LIB) $(ETC) $(SBIN) $(SRC)
	#if test -n $(DESTDIR); then cp /usr/local/src/Add_appendix/*.sh $(SRC)/.; cp /usr/local/sbin/* $(SBIN)/.; fi
	install -d $(ICON) $(LANG) $(MAN) $(MIME)

	#install icons and update cache
	install -d $(ICONS)/256x256/apps $(ICONS)/48x48/apps $(ICONS)/32x32/apps $(ICONS)/16x16/apps $(ICONS)/8x8/apps
	chmod 644 icons/*
	cp -f icons/addappendix-256x256.png $(ICONS)/256x256/apps/addappendix.png
	cp -f icons/addappendix-256x256.svg $(ICONS)/256x256/apps/addappendix.svg
	cp -f icons/addappendix-48x48.png $(ICONS)/48x48/apps/addappendix.png
	cp -f icons/addappendix-32x32.png $(ICONS)/32x32/apps/addappendix.png
	cp -f icons/addappendix-16x16.png $(ICONS)/16x16/apps/addappendix.png
	cp -f icons/addappendix-8x8.png $(ICONS)/8x8/apps/addappendix.png
	# Attention il faut que toute la commande soit sur la même ligne d'où le caractère escape \
	if test -e "/usr/share/icons/hicolor/16x16/apps/addappendix.png"; \
	then gtk-update-icon-cache -t /usr/share/icons/hicolor; fi

	#install languages
	install -d $(LANG)/en/LC_MESSAGES $(LANG)/fr/LC_MESSAGES $(LANG)/es/LC_MESSAGES
	## en
	#
	## fr
	#cp -f ./resources/lang/po/fr/addappendix.mo $(LANG)/fr/LC_MESSAGES/addappendix.mo
    #cp -f ./resources/lang/po/fr/add_sclt.mo $(LANG)/fr/LC_MESSAGES/add_sclt.mo
	#cp -f ./resources/lang/po/fr/annexer.mo $(LANG)/fr/LC_MESSAGES/annexer.mo
	cp -f ./resources/lang/po/fr/annex.mo $(LANG)/fr/LC_MESSAGES/annex.mo
    #cp -f ./resources/lang/po/fr/en_sclt.inc.mo $(LANG)/fr/LC_MESSAGES/en_sclt.inc.mo
	cp -f ./resources/lang/po/fr/header.inc.mo $(LANG)/fr/LC_MESSAGES/header.inc.mo
	## es
	#cp -f ./resources/lang/po/es/addappendix.mo $(LANG)/es/LC_MESSAGES/addappendix.mo
    #cp -f ./resources/lang/po/es/add_sclt.mo $(LANG)/es/LC_MESSAGES/add_sclt.mo
	#cp -f ./resources/lang/po/es/annexer.mo $(LANG)/es/LC_MESSAGES/annexer.mo
	cp -f ./resources/lang/po/es/annex.mo $(LANG)/es/LC_MESSAGES/annex.mo
    #cp -f ./resources/lang/po/es/en_sclt.inc.mo $(LANG)/es/LC_MESSAGES/en_sclt.inc.mo
	cp -f ./resources/lang/po/es/header.inc.mo $(LANG)/es/LC_MESSAGES/header.inc.mo

	#install manuals
	## default manual
	#install -D -m644 ./man/man1/en_addappendix.1.gz $(MAN)/man1/addappendix.1.gz
	#install -D -m644 ./man/man1/en_annexer.1.gz $(MAN)/man1/annexer.1.gz
	#install -D -m644 ./man/man1/en_annex.1.gz $(MAN)/man1/annex.1.gz
	## fr
	#install -D -m644 ./man/fr.UTF-8/man1/fr_addappendix.1.gz $(MAN)/fr.UTF-8/man1/addappendix.1.gz
    #install -D -m644 ./man/man1/fr_annexer.1.gz $(MAN)/man1/annexer.1.gz
	install -D -m644 ./man/fr.UTF-8/man1/fr_annex.1.gz $(MAN)/fr.UTF-8/man1/annex.1.gz	
	## es

	#install archives dirctory
	install -d $(ARCHIVES)
	cp -rf ./archives/books/* $(ARCHIVES)/books/.
    cp -rf ./archives/*.gz $(ARCHIVES)/books/.
		
clean:
	rm -rf ./tmp
Résultat au 29 sept 2021
Notez que les deux commandes: addappendix.sh et annexer.sh ne sont pas encore créés.
Ces deux commandes permettront d'éviter de commencer à créer les répertoire des livres avec preannex <fullurl_of_book>
Pour ensuite lancer annex <book>
jpl@jpl-GE60-2OC-2OE:~/packaging/addappendix$ find tests
tests
tests/usr
tests/usr/share
tests/usr/share/man
tests/usr/share/man/fr.UTF8
tests/usr/share/man/fr.UTF8/man1
tests/usr/share/man/man1
tests/usr/share/man/man1/annex.1.gz
tests/usr/share/man/fr.UTF-8
tests/usr/share/man/fr.UTF-8/man1
tests/usr/share/man/fr.UTF-8/man1/annex.1.gz
tests/usr/share/locale
tests/usr/share/locale/es
tests/usr/share/locale/es/LC_MESSAGES
tests/usr/share/locale/en
tests/usr/share/locale/en/LC_MESSAGES
tests/usr/share/locale/fr
tests/usr/share/locale/fr/LC_MESSAGES
tests/usr/share/locale/fr/LC_MESSAGES/header.inc.mo
tests/usr/share/locale/fr/LC_MESSAGES/annex.mo
tests/usr/share/icons
tests/usr/share/icons/hicolor
tests/usr/share/icons/hicolor/48x48
tests/usr/share/icons/hicolor/48x48/apps
tests/usr/share/icons/hicolor/48x48/apps/addappendix.png
tests/usr/share/icons/hicolor/16x16
tests/usr/share/icons/hicolor/16x16/apps
tests/usr/share/icons/hicolor/16x16/apps/addappendix.png
tests/usr/share/icons/hicolor/256x256
tests/usr/share/icons/hicolor/256x256/apps
tests/usr/share/icons/hicolor/256x256/apps/addappendix.svg
tests/usr/share/icons/hicolor/256x256/apps/addappendix.png
tests/usr/share/icons/hicolor/32x32
tests/usr/share/icons/hicolor/32x32/apps
tests/usr/share/icons/hicolor/32x32/apps/addappendix.png
tests/usr/share/icons/hicolor/8x8
tests/usr/share/icons/hicolor/8x8/apps
tests/usr/share/icons/hicolor/8x8/apps/addappendix.png
tests/usr/share/mime
tests/usr/local
tests/usr/local/bin
tests/usr/local/bin/add_sclic
tests/usr/local/bin/fr_sclt.inc
tests/usr/local/bin/annex
tests/usr/local/bin/add_sclipwb
tests/usr/local/bin/pre-annex
tests/usr/local/bin/fr_sclipwb.inc
tests/usr/local/bin/addappendix
tests/usr/local/bin/en_sclic.inc
tests/usr/local/bin/add_sclt
tests/usr/local/bin/en_sclt.inc
tests/usr/local/bin/header.inc
tests/usr/local/bin/annexer
tests/usr/local/bin/en_sclipco.inc
tests/usr/local/bin/en_sclipwb.inc
tests/usr/local/bin/add_sclipco
tests/usr/local/bin/scli.inc
tests/usr/local/bin/list
tests/usr/local/bin/fr_sclipco.inc
tests/usr/local/bin/fr_sclic.inc
tests/usr/local/bin/download
tests/usr/local/share
tests/usr/local/share/doc
tests/usr/local/share/doc/archives
tests/usr/local/src
tests/usr/local/src/Add_appendix
tests/usr/local/lib
tests/usr/local/sbin
tests/usr/local/etc
tests/usr/local/datas