00001
00002
00003
00004 #include <gtk/gtk.h>
00005
00006 gchar *AppCAPTION = "Editeur Langage C";
00007 gchar *AppConf = "EdBx.conf";
00008 gchar *AppEXTproj = "*.bxp";
00009 gchar *AppCOMPILER = "gcc";
00010 gchar *AppLINKER = "ld";
00011 gchar *AppICON = "img/ico.png";
00012 #define nbEXT 3
00013 gchar *EXTs[nbEXT] = { NULL , "c" , "h" };
00014 gchar *IMGs[nbEXT] = { NULL ,"img/a.png","img/H.png"};
00015
00016 gchar *AppNEWfile = "new.c";
00017 gchar *AppMIME = "text/x-cgtksrc";
00018 gchar *AppTEMPLATE = "Templates/hworld.c";
00019 gchar *AppABOUTstr = "Editeur Langage C\nEcrit en C avec GTK+ 2.0\n\n"
00020 "Par Bertrand-Xavier Massot (C) 2006\n";
00021
00022 #include "Globals.h"
00023
00024
00025
00026
00027 void Projet_Compiler()
00028 {
00029 gshort n;
00030 gchar *S, *d=NULL;
00031
00032
00033 if (!ProjetEXEname) return;
00034
00035
00036 Fichier_Enregistrer_Tous_Les_Fichier();
00037
00038 gtk_list_store_clear(GTK_LIST_STORE(model));
00039
00040
00041
00042 if (ProjetUseMAKEFILE)
00043 {
00044 for (n=0; n<NB; n++)
00045 {
00046 if (g_strcasecmp(nom[n],"makefile")==0)
00047 {
00048 d = g_get_current_dir();
00049 break;
00050 }
00051 }
00052 if (d)
00053 {
00054 S = g_path_get_dirname(chemin[n]);
00055 chdir(S);
00056 S = g_strdup("make");
00057 Liste_Add_Msg(S);
00058 Creer_Pipe(S);
00059 chdir(d);
00060 g_free(d);
00061 }
00062 else Liste_Add_Msg("Ajoutez le makefile au projet.");
00063 }
00064
00065
00066 else
00067 {
00068 Liste_Add_Msg ("Compilation de %s", ProjetNOMssExt);
00069
00070 S = g_strdup_printf("%s %s", AppCOMPILER, ProjetOPT);
00071
00072 if (ProjetTYPE==1)
00073 S = g_strdup_printf("%s `%s`", S, GTKpkgcfg);
00074 if (ProjetINCS) S = g_strdup_printf("%s %s", S, ProjetINCS);
00075 if (ProjetLIBS) S = g_strdup_printf("%s %s", S, ProjetLIBS);
00076
00077
00078 for (n=0; n<NB; n++)
00079 {
00080 if (ext[n]==1)
00081 S = g_strdup_printf("%s %s ", S, chemin[n]);
00082 }
00083 S = g_strdup_printf("%s-o %s 2>&1", S, ProjetEXEname);
00084 Liste_Add_Msg (S);
00085 Creer_Pipe(S);
00086 }
00087 }
00088
00089
00090
00091
00092 int main(int argc, char **argv)
00093 {
00094 gtk_init(&argc, &argv);
00095
00096 Show_Editor();
00097
00098 if (argv[1]) Projet_Ouvrir(argv[1]);
00099
00100
00101 gtk_main();
00102 return 0;
00103 }