tests/genericmake/plc.xml
author Edouard Tisserant
Wed, 13 Jan 2021 10:28:09 +0100
changeset 2712 a00f41d097f3
parent 2296 a2ab363f9e90
permissions -rw-r--r--
Removed harmful assert in ProcessLogger.

ProcessLogger was having an assert in constructor when missing logger, leading to systematic exception when testing options accepted by compiler. This exception was silenced in ProjectController, and then MatIEC was always called without options.
1387
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
     1
<?xml version='1.0' encoding='utf-8'?>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
     2
<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
1542
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
     3
  <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2014-01-19T11:14:47" contentDescription="This example shows how you can customize build process by using 'make'.&#10;"/>
2296
a2ab363f9e90 Make comment blocks in examples slightly bigger so text inside is always visible
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1542
diff changeset
     4
  <contentHeader name="Makefile Example" modificationDateTime="2018-08-24T13:12:10">
1387
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
     5
    <coordinateInfo>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
     6
      <fbd>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
     7
        <scaling x="0" y="0"/>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
     8
      </fbd>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
     9
      <ld>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    10
        <scaling x="0" y="0"/>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    11
      </ld>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    12
      <sfc>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    13
        <scaling x="0" y="0"/>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    14
      </sfc>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    15
    </coordinateInfo>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    16
  </contentHeader>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    17
  <types>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    18
    <dataTypes/>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    19
    <pous>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    20
      <pou name="program0" pouType="program">
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    21
        <interface>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    22
          <localVars>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    23
            <variable name="LocalVara">
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    24
              <type>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    25
                <INT/>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    26
              </type>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    27
            </variable>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    28
            <variable name="LocalVarb">
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    29
              <type>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    30
                <INT/>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    31
              </type>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    32
            </variable>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    33
          </localVars>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    34
        </interface>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    35
        <body>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    36
          <FBD>
2296
a2ab363f9e90 Make comment blocks in examples slightly bigger so text inside is always visible
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1542
diff changeset
    37
            <inVariable localId="1" executionOrderId="0" height="30" width="77" negated="false">
a2ab363f9e90 Make comment blocks in examples slightly bigger so text inside is always visible
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1542
diff changeset
    38
              <position x="52" y="424"/>
1387
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    39
              <connectionPointOut>
2296
a2ab363f9e90 Make comment blocks in examples slightly bigger so text inside is always visible
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1542
diff changeset
    40
                <relPosition x="77" y="15"/>
1387
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    41
              </connectionPointOut>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    42
              <expression>LocalVara</expression>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    43
            </inVariable>
2296
a2ab363f9e90 Make comment blocks in examples slightly bigger so text inside is always visible
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1542
diff changeset
    44
            <outVariable localId="2" executionOrderId="0" height="30" width="77" negated="false">
a2ab363f9e90 Make comment blocks in examples slightly bigger so text inside is always visible
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1542
diff changeset
    45
              <position x="167" y="424"/>
1387
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    46
              <connectionPointIn>
2296
a2ab363f9e90 Make comment blocks in examples slightly bigger so text inside is always visible
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1542
diff changeset
    47
                <relPosition x="0" y="15"/>
1387
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    48
                <connection refLocalId="1">
2296
a2ab363f9e90 Make comment blocks in examples slightly bigger so text inside is always visible
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1542
diff changeset
    49
                  <position x="167" y="439"/>
a2ab363f9e90 Make comment blocks in examples slightly bigger so text inside is always visible
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1542
diff changeset
    50
                  <position x="129" y="439"/>
1387
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    51
                </connection>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    52
              </connectionPointIn>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    53
              <expression>LocalVarb</expression>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    54
            </outVariable>
2296
a2ab363f9e90 Make comment blocks in examples slightly bigger so text inside is always visible
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1542
diff changeset
    55
            <comment localId="3" height="385" width="760">
1542
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    56
              <position x="32" y="23"/>
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    57
              <content>
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    58
                <xhtml:p><![CDATA[This example shows how you can customize build process by using 'make'.
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    59
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    60
Sometimes special steps need to be done to build entire project.
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    61
But it's not necessary to create another target in Beremiz every time you need to customize something in build process.  Just use for that 'Generic' target and describe all necessary steps in Makefile. 
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    62
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    63
For example, you can 
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    64
 - preprocess generated by Beremiz C source files, 
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    65
 - do some fancy source code transformation using any tools you want, 
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    66
 - use any compiler you want,
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    67
 - call static analyzers,
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    68
 - run integration tests on the project,
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    69
 - upload source code to external build server,
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    70
 - upload to the target and compile it there,
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    71
 - flash/transfer your compiled binary to the target,
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    72
 and much much more.
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    73
]]></xhtml:p>
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    74
              </content>
0535a6b50534 fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1387
diff changeset
    75
            </comment>
1387
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    76
          </FBD>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    77
        </body>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    78
      </pou>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    79
    </pous>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    80
  </types>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    81
  <instances>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    82
    <configurations>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    83
      <configuration name="config">
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    84
        <resource name="resource1">
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    85
          <task name="Tsk" priority="0" interval="T#100ms">
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    86
            <pouInstance name="Inst" typeName="program0"/>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    87
          </task>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    88
        </resource>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    89
      </configuration>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    90
    </configurations>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    91
  </instances>
435965ca8b63 Re-introduced toolchain_makefile.py. This time, it comes with a 'Generic' target, and a 'genericmake' example
Edouard Tisserant
parents:
diff changeset
    92
</project>