partition.tmplt 3.2 KB
Newer Older
1
2
3
4
5
@@-- The up to date list of tags available for this template is available here:
@@-- https://taste.tuxfamily.org/wiki/index.php?title=Kazoo_Templates_Documentation#templates.2Fconcurrency_view.2Fsub.2Fpartition.tmplt
@@-- If you are using vim, go over the URL and pres gx in to follow the link
@@-- If you have no internet access you can also use (with vim) Ctrl-W-f or gf in vim to open the text doc:
@@-- $HOME/tool-inst/share/kazoo/doc/templates_concurrency_view_sub_partition.ascii
Maxime Perrotin's avatar
Maxime Perrotin committed
6
#  Build of partition @_Name_@ (common to all targets)
7
# (rule generated by templates/concurrency_view/aadl_4_makefile/partition.tmplt)
8
9
10
@_LOWER:Name_@:	@_REPLACE_ALL(,/ ):LOWER:Block_Names_@
  @@-- Opengeode generate intermediate ASN.1 files, they must be compiled
  @@-- (at partition level, not shared by all nodes)
11
12
13
14
15
16
  @@-- The code below is needed because if there is more than one instance of
  @@-- a component type, opengeode will generate the _datamodel.asn file in
  @@-- the folder of the instance, i.e. there may be more than one reference
  @@-- to the same file generated at different places The python code checks
  @@-- that when this happens only one _datamodel.asn file is kept to avoid
  @@-- an error that would otherwise be raised by asn2dataModel
17
  @@INLINE(	args=$$\(python3 -c "import os, sys; print\(' '.join\({os.path.basename\(f\):f for f in sys.argv[1:]}.values\(\)\)\)" )( )(\); \\\n	mkdir -p ..\/dataview\/Ada; find $$args && asn2dataModel -toAda -allboards -o ..\/dataview\/Ada $$args || echo 'Ignore this error if you are using the OpenGEODE C Backend')@@
18
19
    @@TABLE@@
       @@IF@@ @_Block_Languages_@ = SDL
20
          @@--  Use wildcard because in the case of the SDL to C backend the _datamodel files are not generated (yet)
21
          @@IF@@ @_Block_Instance_Of_@ = ""
22
             ${wildcard ../@_LOWER:Block_Names_@/SDL/code/@_LOWER:Block_Names_@_datamodel.asn}
Maxime Perrotin's avatar
Maxime Perrotin committed
23
          @@ELSE@@
24
             ${wildcard ../@_LOWER:Block_Names_@/SDL/code/@_LOWER:Block_Instance_Of_@_datamodel.asn}
25
          @@END_IF@@
26
27
28
       @@END_IF@@
    @@END_TABLE@@
  @@END_INLINE@@
Maxime Perrotin's avatar
Maxime Perrotin committed
29

30
31
# Build of partition @_Name_@ for RTEMS (generate adainit)
# (rule generated by templates/concurrency_view/aadl_4_makefile/partition.tmplt)
Maxime Perrotin's avatar
Maxime Perrotin committed
32
@_LOWER:Name_@_rtems_ada : @_LOWER:Name_@
33
34
35
@@-- On RTEMS if using POHIC we need to have adainit created for Ada functions
	mkdir -p @_LOWER:Name_@_adainit && \
@@INLINE(    echo ')()()@@
36
   @@TABLE@@
Maxime Perrotin's avatar
Maxime Perrotin committed
37
      @@IF@@ @_Block_Languages_@ = SDL or @_Block_Languages_@ = Ada
38
39
40
41
         with @_CAPITALIZE:Block_Names_@;
      @@END_IF@@
   @@END_TABLE@@
   package adainit is end adainit;' >@_LOWER:Name_@_adainit/tasteada.ads && \
42
43
@@END_INLINE@@
        cd @_LOWER:Name_@_adainit && \
Maxime Perrotin's avatar
Maxime Perrotin committed
44
@@INLINE(    )(:)( \\)@@
45
   ADA_INCLUDE_PATH=../../dataview/Ada/src:../../dataview/Ada/asn1rtl:../../dataview/Ada/boards/x86
46
   @@TABLE'TERSE@@
Maxime Perrotin's avatar
Maxime Perrotin committed
47
      @@IF@@ @_Block_Languages_@ = SDL
48
         ../../@_LOWER:Block_Names_@/SDL/code
Maxime Perrotin's avatar
Maxime Perrotin committed
49
      @@ELSIF@@ @_Block_Languages_@ = Ada
50
51
52
         ../../@_LOWER:Block_Names_@/Ada/src
      @@END_IF@@
   @@END_TABLE@@
53
54
@@END_INLINE@@
sparc-rtems5-gnatmake -c tasteada.ads && sparc-rtems5-gnatbind -t -n tasteada.ali -o ada-start.adb && mkdir -p ../@_LOWER:Node_Name_@/ada_code_startup && mv ada-start.* ../@_LOWER:Node_Name_@/ada_code_startup
55
56

@_Blocks_@