zoukankan      html  css  js  c++  java
  • IAR USING PRE- AND POST-BUILD ACTIONS

    Using pre-build actions for time stamping

    If necessary, you can specify pre-build and post-build actions that you want to occur before or after the build. 

    The Build Actions dialog box—available from the Project menu—lets you specify the actions required.
    For more information about the Build Actions dialog box, see Build actions options, page 215.

    Using pre-build actions for time stamping

    You can use pre-build actions to embed a time stamp for the build in the resulting binary file. Follow these steps:
    1 Create a dedicated time stamp file, for example, timestamp.c and add it to your project.
    2 In this source file, use the preprocessor macros __TIME__ and __DATE__ to initialize a string variable.
    3 Choose Project>Options>Build Actions to open the Build Actions dialog box.
    4 In the Pre-build command line text field, specify for example this pre-build action:

    cmd /c "del "$OBJ_DIR$ imestamp.o""

    This command removes the timestamp.o object file.
    Alternatively, you can use the open source command line utility touch for this purpose 
    or any other suitable utility that updates the modification time of the source file. For example:

    "touch $PROJ_DIR$ imestamp.c"

    5 If the project is not entirely up-to-date, the next time you use the Make command,
    the pre-build action will be invoked before the regular build process.
    Then the regular build process must always recompile timestamp.c and
    the correct timestamp will end up in the binary file.

    If the project already is up-to-date, the pre-build action will not be invoked.
    This means that nothing is built, and the binary file still contains the timestamp for when it was last built.

    ADDING AN EXTERNAL TOOL


    The following example demonstrates how to add the tool Flex to the toolchain.

    Thesame procedure can be used also for other tools.
    In the example, Flex takes the file myFile.lex as input. The two files myFile.c and myFile.h are generated as output.


    1 Add the file you want to work with to your project, for example myFile.lex.
    2 Select this file in the workspace window and choose Project>Options. Select Custom Build from the list of categories.
    3 In the Filename extensions field, type the filename extension .lex. Remember to specify the leading period (.).
    4 In the Command line field, type the command line for executing the external tool, for example

    flex $FILE_PATH$ -o$FILE_BNAME$.c

    During the build process, this command line is expanded to:

    flex myFile.lex -omyFile.c

    Note the usage of argument variables.

    Note specifically the use of $FILE_BNAME$ which gives the base name of the input file,
    in this example appended with the c extension to provide a C source file in the same directory as the input file foo.lex.

    For more information about these variables, see Argument variables, page 71.


    5 In the Output files field, describe the output files that are relevant for the build.
    In this example, the tool Flex would generate two files—one source file and one header file.
    The text in the Output files text box for these two files would look like this:

    $FILE_BPATH$.c
    $FILE_BPATH$.h

    6 If the external tool uses any additional files during the build, these should be added in the Additional input files field, for instance:

    $TOOLKIT_DIR$incstdio.h

    This is important, because if the dependency files change, the conditions will no longer be the same and the need for a rebuild is detected.
    7 Click OK.
    8 To build your application, choose Project>Make.

  • 相关阅读:
    深入探究JVM之垃圾回收器
    深入探究JVM之对象创建及分配策略
    深入探究JVM之内存结构及字符串常量池
    【深度思考】如何优雅告知用户,网站正在升级维护?
    Redis系列(九):Redis的事务机制
    [C#.NET 拾遗补漏]07:迭代器和列举器
    [C#.NET 拾遗补漏]06:单例模式最佳实践
    深入理解 EF Core:使用查询过滤器实现数据软删除
    简化RESTful开发,Spring Data REST让你少掉发
    如何查看Docker容器环境变量,如何向容器传递环境变量
  • 原文地址:https://www.cnblogs.com/shangdawei/p/3504512.html
Copyright © 2011-2022 走看看