Rmake - Téléchargement


Rmake

Rmake est un utilitaire pour LCC-Win32. Il permet créer des versions finales (release) à partir d'un projet LCC-Win32.

Type de version
Version
Fichier
Stable
Rmake v 1.00
 

Installation

Pour installer RMake, il suffit de dézipper le contenu de l'archive dans un répertoire.

Fonctionnement

RMake utilise 2 répertoires :

  • Un répertoire de 'base' contenant tous les fichiers 'fixes'.
  • Un répertoire de 'construction' où seront copiés les fichiers servant à créer l'install ou le ZIP final. Ce répertoire est créé au début de l'exécution du projet, et est effacé à la fin (il est possible de ne pas l'effacer). Par défaut ce répertoire est le sous-répertoire '__MAKE__' du répertoire de base.

Utilisation

RMake est lancé par RMake.exe, on obtient cet écran :

Liste des projets

Il s'agit d'une liste de projets RMake (sotckée dans Rmake.ini). Un projet RMake est indépendnat d'un projet de LCC-Win32 et la suppression d'un projet RMake n'entraîne pas la suppression d'un projet LCC-Win32.

On peut à partir de cette fenêtre créer, effacer, exécuter, modifier un projet RMake.

Liste des commandes

Pour les commandes qui utilisent des noms de fichier, il est indiqué si le répertoire 'racine' est :

    • Le répertoire de 'base' (BASE) (indiqué comme répertoire 'Ressource de l'install')
    • Le répertoire de 'construction' (BUILD)
    • Le répertoire contenant les fichiers source du projet (dans LCC-Win32) (SOURCE)

La commande est le premier caractère de chaque ligne.

% : commentaire. Le reste de la ligne est igonré

V1 fichier symbole : Récupère le N° de version dans un fichier.

  • fichier fichier source (SOURCE\fichier)
  • symbole symbole à rechercher

Le N° de version contiendra le texte trouvé dans le fichier 'fichier' sur la ligne contenant :

#define symbole "1"

Si plusieurs instructions V1 sont présentes, le résultat est concaténé.

V2 fichier symbole : Récupère le N° de sous-version dans un fichier.
  • fichier fichier source (SOURCE\fichier)
  • symbole symbole à rechercher
Le N° de sous-version contiendra le texte trouvé dans le fichier 'fichier' sur la ligne contenant :
#define symbole "1"

Si plusieurs instructions V2 sont présentes, le résultat est concaténé.

Le N° de version sera de la forme V1[V1][V1].V2[V2][V2]

Exemple

fichier main.c
#define _V "1"
#define _SV 2
#define _SV 5

script
V1 main.c _V
V2 main.c _SV
V2 main.c _SV

N° de version final : 1.25


R
fichier symbole [fichier] : Remplace un symbole dans un fichier par le N° de version.
  • fichier fichier source (BASE\fichier)
  • symbole symbole à remplacer
  • [fichier] fichier de sortie optionnel (BUILD\fichier)

 

C fichier [rep] [-R] : Copie le(s) fichier(s) sauf ceux déjà existant dans le répertoire de destination.
  • fichier fichier(s) source(s), '*' et '?' autorisés (BASE\fichier)
  • [rep] Répertoire de destination optionnel (BUILD\rep\)
  • [-R] ignore l'existence du fichier dans le répertoire de destination (force la copie)
O [fichier] : Effectue le link du projet, sans les symboles de debug.
  • fichier fichier de sortie pour le link (par défaut : nom_du_projet.exe) (BUILD\fichier)
E fichier [paramètres] : Exécute un programme externe.
  • fichier fichier à exécuter (BASE/fichier)
  • [paramètres] paramètres à passer au programme (mettre des " " si il y a des espaces dans les paramètres ou plusieurs paramètres)

Attention ! L'exécution à lieu dans le répertoire BUILD. Les sorties du programme exécuté, en console, sont écrites dans un fichier. Si l'exécution retourne une erreur (errorlevel non nul), RMake affiche l'erreur indiquée en console.

U fichier fichier : Renomme un fichier.
  • fichier fichier à renommer(source) (BASE\fichier)
  • fichier destination (BASE\fichier)
Lorsque '%%' est rencontré dans les noms de fichiers, '%%' est remplacé par le N° de version..
D fichier : Efface un fichier.
  • fichier fichier à effacer (BASE\fichier)
K : N'efface pas le répertoire de 'construction' (BUILD).

Utile pour la mise au point du script.

%TEMPx% (ex : %TEMP5%) permet de remplacer n'importe quel nom de fichier. Le fichier correspondant sera un fichier temporaire (peut être utile pour créer un fichier temporaire servant à la construction d'une install par exemple)

Exemple

L'exemple est la création de l'archive de RMake en elle-même.

On commence par définir un nouveau projet (projet - ajouter), on obtient :

Nouveau projet

On choisit le projet LCC-Win32 associé (par '...'). On peut entrer un commentaire ("RMake" par exemple).
Le répertoire "Ressources de l'install" correspond au répertoire de base (BASE).

Le script décrit la liste des actions à exécuter. L'arobrescences des répertoires pour la création d el'archive est la suivante :

  • RMake est le répertoire de base contenant le fichier lisezmoi.txt entre autre.
  • __INSTALL__ est le répertoire de destination final, où sera copié l'archive.
  • __MAKE__ est le répertoire temporaire de construction

%Récupération N° de version
V1 prj_dlg.c __VERSION__
V2 prj_dlg.c __SVERSION__

%Préparation des fichiers
R Lisezmoi.txt %%
O RMake.exe

%Création du fichier zippé
E wzzip "..\__INSTALL__\RMake.zip @..\zip.txt -ex"

U __INSTALL__\RMake.zip __INSTALL__\RMake%%.zip
C __INSTALL__\RMake%%.zip ..\..\web\RMake -R

Le script récupère le N° de version (situé dans le fichier prj_dlg.c du projet Rmake dans LCC-Win32).
V1 prj_dlg.c __VERSION__
V2 prj_dlg.c __SVERSION__

Il remplace ensuite dans Lisezmoi.txt le symbole '%%' par le N° de version, et écrit le résultat dans __MAKE__
R Lisezmoi.txt %%

Le link sans symboles de debug est lancé. Le fichier de sortie (RMake.exe) est écrit dans __MAKE__
O RMake.exe

Le fichier zippé est créé par un utilitaire externe
E wzzip "..\__INSTALL__\RMake.zip @..\zip.txt -ex"

Le résultat est renommé avec le N° de version (RMake.zip -> RMake1.0.zip)
U __INSTALL__\RMake.zip __INSTALL__\RMake%%.zip

Ce fichier est copié directement vers le répertoire contenant le site Web
C __INSTALL__\RMake%%.zip ..\..\web\RMake -R

Liens associés : RMake

NSIS, proposé gratuitement par NullSoft (WinAmp), permet de créer des installation complètes et rapides.



-=
Email : manu_bat_manu@yahoo.fr =-