diff --git a/doc/codegeneration/codegeneration_documentation.tex b/doc/codegeneration/codegeneration_documentation.tex index e3173638d854e9936ea8b866d0616d9024f37104..c3f084222ce81be4c5c73078662106a5522eb609 100644 --- a/doc/codegeneration/codegeneration_documentation.tex +++ b/doc/codegeneration/codegeneration_documentation.tex @@ -143,17 +143,18 @@ Open your configuration file, and set the following lines accordingly with your \begin{verbatim} <AVATARExecutableCodeDirectory data="../executablecode/" /> \end{verbatim} +This configuration works only for models. For TTool project, the default directory is "AVATAR_executablecode" which is automatically created in the sub folder of the project. \item Host that is intended to perform the code compilation and execution. Default value is "localhost". \begin{verbatim} <AVATARExecutableCodeHost data="localhost"/> \end{verbatim} \item Compilation command to compile the generated code: \begin{verbatim} -<AVATARExecutableCodeCompileCommand data="make -C ../executablecode/" /> +<AVATARExecutableCodeCompileCommand data="make" /> \end{verbatim} \item Execution command. This will start the application generated from your model: \begin{verbatim} -<AVATARExecutableCodeExecuteCommand data="../executablecode/run.x" /> +<AVATARExecutableCodeExecuteCommand data="run.x" /> \end{verbatim} \end{itemize} @@ -209,7 +210,7 @@ Once the code has been generated, the dialog window should automatically switch \item Compile the code for your localhost (\textbf{You should select this option}). \item Compile the code for the SoCLib platform. This option is not addressed in this document. \end{itemize} -If the compilation fails, it is probably due to a bad installation of a C compiler. You could also edit the Makefile you have selected (see section \ref{sec:conf}) to adapt it to your localhost particularities. Note that the compilation process also compiles the Avatar runtime C sources\footnote{These sources are located in TTool/executablecode/src}, and links all resulting object files together. +If the compilation fails, you can try to remove all old .o files using the first tab of the dialog window: "Generate Code", "Remove .o files". If the compilation still fails, it could be due to a bad installation of a C compiler. We strongly recommend to use the GNU C Compiler (\textit{gcc}). You could also edit the Makefile you have selected (see section \ref{sec:conf}) to adapt it to your localhost particularities. Note that the compilation process also compiles the Avatar runtime C sources\footnote{These sources are located in: TTool/executablecode/src or in your project directory: AVATAR_executablecode}, and links all resulting object files together. \begin{figure}[htbp] \centering diff --git a/doc/codegeneration/figures/codegenhelloworld.png b/doc/codegeneration/figures/codegenhelloworld.png index 2d3668f868b4872ce75c13e8d5cc4fa15a88960e..b389981423a2001ca29571466da87dd717e888b3 100644 Binary files a/doc/codegeneration/figures/codegenhelloworld.png and b/doc/codegeneration/figures/codegenhelloworld.png differ diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java index 2b1d73a66ab5ba7e7e4533c077ff72537eab8cc4..4fd1f60a1a990f11010d896687be74e1503b51aa 100644 --- a/src/main/java/ui/MainGUI.java +++ b/src/main/java/ui/MainGUI.java @@ -4639,7 +4639,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per TraceManager.addDev("Avatar code generation"); JDialogAvatarExecutableCodeGeneration jgen = new JDialogAvatarExecutableCodeGeneration(frame, this, "Executable Code generation, compilation and execution", ConfigurationTTool.AVATARExecutableCodeHost, SpecConfigTTool.AVATARExecutableCodeDirectory, SpecConfigTTool.AVATARExecutableCodeCompileCommand, SpecConfigTTool.AVATARExecutableCodeExecuteCommand, ConfigurationTTool.AVATARExecutableSoclibCodeCompileCommand, ConfigurationTTool.AVATARExecutableSoclibCodeExecuteCommand, ConfigurationTTool.AVATARExecutableSoclibTraceFile); // jgen.setSize(500, 450); - GraphicLib.centerOnParent(jgen, 500, 600); + GraphicLib.centerOnParent(jgen, 700, 600); jgen.setVisible(true); dtree.toBeUpdated(); }