Changeset 46 for CMT/HEAD/doc/CMTDoc.html
- Timestamp:
- May 2, 2005, 10:12:56 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
CMT/HEAD/doc/CMTDoc.html
r42 r46 20 20 <h1><center>CMT</center> 21 21 <center>Configuration Management Tool</center></h1> 22 <h2><center>Version v1r18p20050 401</center>22 <h2><center>Version v1r18p20050501</center> 23 23 <center>Christian Arnault</center> 24 24 <center><tt>arnault@lal.in2p3.fr</tt></center></h2> 25 <center><i>Document revision date : 2005-0 4-17</i></center><hr><h2><a href="#index">General index</a></h2>25 <center><i>Document revision date : 2005-05-02</i></center><hr><h2><a href="#index">General index</a></h2> 26 26 <hr><h2><a name="Presentation"></a><a href="#index"><tt> 1</tt></a> - Presentation</h2> 27 27 <blockquote> … … 389 389 platform specific tools will be dynamically reconfigured and 390 390 parameterized transparently. 391 392 393 391 </blockquote> 394 392 </blockquote> 395 393 <hr><h2><a name="Defining and managing projects"></a><a href="#index"><tt> 4</tt></a> - Defining and managing projects</h2> 396 394 <blockquote> 397 398 395 <p>In the CMT terminology, the complete software base is composed 399 396 of CMT packages. Those packages are organized into … … 434 431 packages.</li> 435 432 </ul> 436 437 433 <p>Projects receive detailed descriptions or specifications in a 438 434 dedicated <i>project file</i> … … 442 438 . It can receive the following 443 439 specifications:</p> 444 445 <pre>project <project-name> [1]440 <pre class="cmt"> 441 project <project-name> [1] 446 442 <i>project-use specifications...</i> [2] 447 443 <i>strategy specifications...</i> [3] 448 444 </pre> 449 450 445 <ol> 451 446 <li>The project name specified here takes precedence over the … … 544 539 <p>Every strategy setting defines two mutually exclusive tags 545 540 and activates one of them.</p> 546 <pre >541 <pre class="cmt"> 547 542 <project>_<have_item> 548 543 <project>_<have_not_item> </pre> 549 544 <p>Examples</p> 550 <pre >545 <pre class="cmt"> 551 546 <project>_prototypes 552 547 <project>_no_prototypes … … 777 772 or (in a <tt>requirements</tt> 778 773 file) 779 <pre >774 <pre class="cmt"> 780 775 path_append CMTPATH "/home/arnault/mydev" 781 776 path_append CMTPATH "/ProjectB"</pre> … … 827 822 utilities, using for example the shell command: </p> 828 823 <pre> 829 csh> source /lal/CMT/v1r18p20050 401/mgr/setup.csh824 csh> source /lal/CMT/v1r18p20050501/mgr/setup.csh 830 825 831 826 or 832 827 833 ksh> . /lal/CMT/v1r18p20050 401/mgr/setup.sh828 ksh> . /lal/CMT/v1r18p20050501/mgr/setup.sh 834 829 835 830 or 836 831 837 dos> call \lal\CMT\v1r18p20050 401\mgr\setup.bat</pre>832 dos> call \lal\CMT\v1r18p20050501\mgr\setup.bat</pre> 838 833 <p>Obviously, this operation <i>must</i> 839 834 be performed (once) … … 877 872 <i><font COLOR="#000077" face="courier new, courier">------------------------------------------ 878 873 Configuring environment for project Dev 879 CMT version v1r18p20050 401.874 CMT version v1r18p20050501. 880 875 ------------------------------------------ 881 876 Installing the cmt directory … … 901 896 <i><font COLOR="#000077" face="courier new, courier">------------------------------------------ 902 897 Configuring environment for package Foo version v1. 903 CMT version v1r18p20050 401. [1]898 CMT version v1r18p20050501. [1] 904 899 Root set to /home/arnault/Dev. 905 900 System is Linux-i686 [2] … … 937 932 <i><font COLOR="#007700" face="courier new, courier">------------------------------------------ 938 933 Configuring environment for package Foo version v1. 939 CMT version v1r18p20050 401.934 CMT version v1r18p20050501. 940 935 Root set to /ProjectB. 941 936 System is Linux-i686 … … 1032 1027 <i><font COLOR="#000077" face="courier new, courier">------------------------------------------ 1033 1028 Removing package Foo version v1. 1034 CMT version v1r18p20050 401.1029 CMT version v1r18p20050501. 1035 1030 Root set to /home/arnault/mydev. 1036 1031 System is Linux-i686 … … 1042 1037 <i><font COLOR="#000077" face="courier new, courier">------------------------------------------ 1043 1038 Removing package Foo version v1. 1044 CMT version v1r18p20050 401.1039 CMT version v1r18p20050501. 1045 1040 Root set to /ProjectB. 1046 1041 System is Linux-i686 … … 1129 1124 </li> 1130 1125 </ul> 1131 <pre >1126 <pre class="cmt"> 1132 1127 use Bar v7r5 [1]</pre> 1133 1128 <i>or</i> 1134 <pre >1129 <pre class="cmt"> 1135 1130 use Bar v7r5 A [2]</pre> 1136 1131 <i>or</i> 1137 <pre >1132 <pre class="cmt"> 1138 1133 use Bar v7r5 /ProjectB/A [3]</pre> 1139 1134 <p>Given these keys, the referenced package is looked for … … 1169 1164 statement (defined within a given package) 1170 1165 containing : </p> 1171 <pre >1166 <pre class="cmt"> 1172 1167 ... 1173 1168 use Bar v7r5 … … 1383 1378 location path of an external software package. Here we take the 1384 1379 example of the Anaphe utility: </p> 1385 <pre >1380 <pre class="cmt"> 1386 1381 macro AnapheTOP "" \ 1387 1382 CERN "/afs/cern.ch/sw/lhcxx" \ … … 1654 1649 <tt>target_B</tt> 1655 1650 will in turn be active.</p> 1656 <pre >1651 <pre class="cmt"> 1657 1652 library A -target_tag A.cxx 1658 1653 application P -target_tag P.cxx … … 1739 1734 the <tt>set</tt> 1740 1735 statement in a requirements file</li> 1741 <pre >1736 <pre class="cmt"> 1742 1737 set CMTSITE "CERN" 1743 1738 set CMTCONFIG "${CMTBIN}" sun "Solaris-CC-dbg"</pre> … … 1746 1741 using the <tt>tag</tt> 1747 1742 statement (in a requirements file): 1748 <pre >1743 <pre class="cmt"> 1749 1744 tag newtag tag1 tag2 tag3</pre> 1750 1745 which means that: … … 1762 1757 using the <tt>tag_exclude</tt> 1763 1758 syntax. 1764 <pre >1759 <pre class="cmt"> 1765 1760 tag_exclude debug optimized</pre> 1766 1761 This example implies that the two tags <tt>debug</tt> … … 1847 1842 will force the tag <tt>foo</tt> 1848 1843 : 1849 <pre >1844 <pre class="cmt"> 1850 1845 tag_apply foo</pre> 1851 1846 <pre> … … 1862 1857 <li> 1863 1858 <i>Implying a tag from another one using the tag association syntax</i> 1864 <pre >1859 <pre class="cmt"> 1865 1860 tag Linux foo</pre> 1866 1861 <pre> … … 1878 1873 <i>Through conventionally encoded values of <tt>CMTCONFIG</tt> 1879 1874 </i> 1880 <pre >1875 <pre class="cmt"> 1881 1876 tag Linux-foo Linux foo</pre> 1882 1877 <pre> … … 1933 1928 <p>All symbol definitions providing specific values triggered by 1934 1929 the active selectors will be selected, such as in:</p> 1935 <pre >1930 <pre class="cmt"> 1936 1931 macro_append cppflags "" \ 1937 1932 debug " -g "</pre> … … 2144 2139 in the <tt> <a HREF='#The requirements file'>requirements</a> </tt> 2145 2140 file : 2146 <pre >2141 <pre class="cmt"> 2147 2142 ... 2148 2143 macro Foo_linkopts " -lFoo " \ … … 2287 2282 in <tt>${CMTROOT}/fragments/tex</tt> 2288 2283 .) :</p> 2289 <pre >2284 <pre class="cmt"> 2290 2285 ============ tex ===================================== 2291 2286 ${CONSTITUENT} :: ${FILEPATH}/${NAME}.ps … … 2305 2300 's <a HREF="#The requirements file">requirements</a> 2306 2301 file as follows : 2307 <pre >2302 <pre class="cmt"> 2308 2303 make_fragment tex -header=tex_header</pre> 2309 2304 where: … … 2322 2317 to include in its <a HREF='#The requirements file'>requirements</a> file a statement similar 2323 2318 to the following: 2324 <pre >2319 <pre class="cmt"> 2325 2320 document tex MyDoc -s=../doc doc1.tex doc2.tex </pre> 2326 2321 where: … … 2349 2344 </ol> 2350 2345 <p>The result for our example is: </p> 2351 <pre >2346 <pre class="cmt"> 2352 2347 =========== MyDoc.make =============================== 2353 2348 … … 2425 2420 be declared in the 2426 2421 <a HREF='#The requirements file'>requirements</a> file of the provider package as follows: 2427 <pre >2422 <pre class="cmt"> 2428 2423 make_fragment <fragment-name> [ options... ] </pre> 2429 2424 where options may be : … … 2554 2549 <li> rootcint 2555 2550 <p>It generates C++ hubs for the Cint interpreter in Root. </p> 2556 <pre >2551 <pre class="cmt"> 2557 2552 ========= rootcint ========================================= 2558 2553 $(src)${NAME}.cc :: ${FULLNAME} … … 2563 2558 <p>It generates C++ source files (xxx.g files) from Atlas' AGE 2564 2559 description files. </p> 2565 <pre >2560 <pre class="cmt"> 2566 2561 ========= agetocxx ========================================= 2567 2562 output=$(${CONSTITUENT}_output) … … 2577 2572 cd $(bin); $(ar) $(${CONSTITUENT}lib) ${NAME}.o; /bin/rm -f ${NAME}.o 2578 2573 ============================================================ </pre> 2579 <pre >2574 <pre class="cmt"> 2580 2575 ========= agetocxx_header ================================== 2581 2576 ${CONSTITUENT}lib = $(bin)lib${CONSTITUENT}.a … … 2600 2595 ============================================================ </pre> 2601 2596 It must be declared as follows : 2602 <pre >2597 <pre class="cmt"> 2603 2598 make_fragment agetocxx -suffix=cxx -dependencies -header=agetocxx_header </pre> 2604 2599 </li> … … 2872 2867 and are by default expected from the <tt>../src</tt> 2873 2868 directory</p> 2874 <pre >2869 <pre class="cmt"> 2875 2870 library A A.cxx B.cxx</pre> 2876 2871 <p>Then it is possible to change the default search 2877 2872 location as well as to use a simplified wildcarding 2878 2873 syntax:</p> 2879 <pre >2874 <pre class="cmt"> 2880 2875 library A -s=A *.cxx -s=B *.cxx</pre> 2881 2876 <ul> … … 2904 2899 regular expressions from general wildcarding 2905 2900 techniques:</p> 2906 <pre >2901 <pre class="cmt"> 2907 2902 library A -s=A -x=[0-9] *.cxx -s=B -k=^B *.cxx</pre> 2908 2903 <ul> … … 2936 2931 between the different targets, as in the following 2937 2932 example:</p> 2938 <pre >2933 <pre class="cmt"> 2939 2934 library AXt -suffix=Xt *.cxx 2940 2935 library AXaw -suffix=Xaw *.cxx</pre> … … 2949 2944 </tt> 2950 2945 character), such as in the next example:</p> 2951 <pre >2946 <pre class="cmt"> 2952 2947 make_fragment doc_to_html (1) 2953 2948 … … 3011 3006 automatically when the default make command is run.</p> 3012 3007 <p>One could, for instance specify within the requirements file :</p> 3013 <pre >3008 <pre class="cmt"> 3014 3009 # Constituents belonging to the default <i>all</i> group 3015 3010 … … 3065 3060 and is 3066 3061 declared by the following statement:</p> 3067 <pre >3062 <pre class="cmt"> 3068 3063 language fortran90 \ 3069 3064 -suffix=f90 -suffix=F90 \ [1] … … 3105 3100 <tt>for</tt> 3106 3101 macro).</p> 3107 <pre >3102 <pre class="cmt"> 3108 3103 macro for "f77" \ 3109 3104 ... … … 3114 3109 , defined as 3115 3110 follows:</p> 3116 <pre >3111 <pre class="cmt"> 3117 3112 macro f90 "f90" 3118 3113 ... … … 3124 3119 <tt>-extra_output_suffix</tt> 3125 3120 option like in:</p> 3126 <pre >3121 <pre class="cmt"> 3127 3122 language idl -suffix=idl -fragment=idl -extra_output_suffix=_skel</pre> 3128 3123 where, in this case, two object files are produced for each … … 3480 3475 </ul> 3481 3476 <p>Examples of such definition are : </p> 3482 <pre >3477 <pre class="cmt"> 3483 3478 package CMT 3484 3479 … … 3515 3510 concept of a generic shell command. 3516 3511 <p>An example of a symple action:</p> 3517 <pre >3512 <pre class="cmt"> 3518 3513 action directory "ls $(dir_options)" WIN32 "dir $(dir_options)"</pre> 3519 3514 <p>Like other symbols, actions can be visualized using … … 3557 3552 macro. 3558 3553 <p>Example 1</p> 3559 <pre >3554 <pre class="cmt"> 3560 3555 library A ... 3561 3556 action B ... … … 3566 3561 will be rebuilt first. 3567 3562 <p>Example 2</p> 3568 <pre >3563 <pre class="cmt"> 3569 3564 library A ... 3570 3565 action B ... … … 3586 3581 <p>Describe the relationships with other packages; the 3587 3582 generic syntax is :</p> 3588 <pre >3583 <pre class="cmt"> 3589 3584 use <package> [ <version> [ <offset> ] ]</pre> 3590 3585 <p>Omitting the version specification means that the most … … 3602 3597 CMTPATH).</p> 3603 3598 <p> Examples of such relationships are :</p> 3604 <pre >3599 <pre class="cmt"> 3605 3600 use OnX v5r2 3606 3601 use CSet v2r3 … … 3646 3641 ). Suppose 3647 3642 we have the following organization:</p> 3648 <pre >3643 <pre class="cmt"> 3649 3644 ---------------- 3650 3645 package A … … 3802 3797 pattern which will apply the include_path statement as 3803 3798 follows:</p> 3804 <pre >3799 <pre class="cmt"> 3805 3800 pattern -global include_path include_path ${<package>_root}/<package>/</pre> 3806 3801 <p>For instance, a package named <tt>PackA</tt> 3807 3802 will expand this 3808 3803 pattern as follows:</p> 3809 <pre >3804 <pre class="cmt"> 3810 3805 include_path ${PackA_root}/PackA/</pre> 3811 3806 </li> … … 3816 3811 paths must be explicited, through an environment 3817 3812 variable. The following pattern can automate this operation:</p> 3818 <pre >3813 <pre class="cmt"> 3819 3814 pattern ld_library_path \ 3820 3815 path_remove LD_LIBRARY_PATH "/<package>/" ; \ … … 3824 3819 would be concerned. These packages will simply have to 3825 3820 apply the pattern as follows:</p> 3826 <pre >3821 <pre class="cmt"> 3827 3822 apply_pattern ld_library_path</pre> 3828 3823 <p>The schema installed by this pattern provides first a … … 3840 3835 application. Then every make command would naturally 3841 3836 ensure its actual presence.</p> 3842 <pre >3837 <pre class="cmt"> 3843 3838 pattern quality_test application <package>test <package>test.cxx <other_sources></pre> 3844 3839 <p>In this example, an additional pattern … … 3861 3856 <p>Doing so, it is possible to specify custmization 3862 3857 values for user defined template parameters</p> 3863 <pre >3858 <pre class="cmt"> 3864 3859 pattern TA macro <base>AAA "AAA" 3865 3860 … … 3872 3867 and thus using the pattern name as a plain CMT 3873 3868 keyword. The previous example becomes: </p> 3874 <pre >3869 <pre class="cmt"> 3875 3870 TA base=abc 3876 3871 TA base=def</pre> … … 3907 3902 particular package by using the following 3908 3903 statement:</p> 3909 <pre >3904 <pre class="cmt"> 3910 3905 ignore_pattern <name></pre> 3911 3906 </li> … … 3935 3930 </p> 3936 3931 <p>As an example suppose we define</p> 3937 <pre >3932 <pre class="cmt"> 3938 3933 path CMTPATH "/ProjectA" 3939 3934 path_append CMTPATH "/ProjectB" … … 3953 3948 <a href="#Generated macros">automatic macros</a> 3954 3949 (automatically setup for all used packages) 3955 <pre >3950 <pre class="cmt"> 3956 3951 <package>_cmtpath 3957 3952 <package>_offset</pre> … … 3964 3959 <p>Describe the specific directory branches to be added while 3965 3960 configuring the package.</p> 3966 <pre >3961 <pre class="cmt"> 3967 3962 branches <branch-name> ... </pre> 3968 3963 <p> These branches will be created (if needed) at the same … … 4080 4075 <p>Every strategy setting defines two mutually exclusive 4081 4076 tags and activates one of them.</p> 4082 <pre >4077 <pre class="cmt"> 4083 4078 <project>_<have_item> 4084 4079 <project>_<have_not_item> </pre> 4085 4080 Examples 4086 <pre >4081 <pre class="cmt"> 4087 4082 <project>_prototypes 4088 4083 <project>_no_prototypes … … 4397 4392 file as 4398 4393 follows :</p> 4399 <pre >4394 <pre class="cmt"> 4400 4395 tag Foo [1] 4401 4396 tag Bar Foo FooA FooB [2] … … 4475 4470 create_project <project> <name> [<path>] : create and configure a new project 4476 4471 cvsbranches <module> : display the subdirectories for a module 4477 cvssubpackagess <module> : display the subpackages for a module 4472 cvssubpackages <module> : display the subpackages for a module 4473 cvssubprojects <module> : display the subprojects for a module 4478 4474 cvstags <module> : display the CVS tags for a module 4479 4475 do <action> [<param>=<value>] ... : Execute an action … … 4780 4776 contain the list of constituent names corresponding to 4781 4777 libraries that must be exported.</p> 4782 <pre >4778 <pre class="cmt"> 4783 4779 library Foo ... 4784 4780 library Foo-utils ... … … 4791 4787 <li><tt>msdev</tt> 4792 4788 <p>This command generates workspace (.dsw) and project 4793 (.dsp) files required for the MSDev tool. </p>4789 (.dsp) files required for the MSDev tool. </p> 4794 4790 </li> 4795 4791 <li><tt>vsnet</tt> … … 4831 4827 . The build strategy may be 4832 4828 freely and globally overridden from any <a HREF='#The requirements file'>requirements</a> file, 4833 4829 using the <tt>build_strategy</tt> 4834 4830 cmt statement, providing 4835 either the "prototypes" or the "no_prototypes" values. </p>4831 either the "prototypes" or the "no_prototypes" values. </p> 4836 4832 <p>In addition, any constituent may locally override this 4837 4833 strategy using the "-prototypes" or "-no_prototypes" … … 4877 4873 <hr><h4><a name="cmt checkout ..."></a><a href="#index"><tt>13. 3. 5</tt></a> - cmt checkout ...</h4> 4878 4874 <blockquote> 4879 See the <a href="#Using cvs together with CMT">paragraph</a>4875 See the <a href="#Using cvs together with CMT">paragraph</a> 4880 4876 on how to use cvs together with <tt>CMT</tt> 4881 4877 , and more specifically the … … 4976 4972 <pre> 4977 4973 > cmt expand model "abcd $(CMTVERSION) efgh" 4978 <i><font COLOR="#000077" face="courier new, courier">abcd v1r18p20050 401 efgh</font></i></pre>4974 <i><font COLOR="#000077" face="courier new, courier">abcd v1r18p20050501 efgh</font></i></pre> 4979 4975 </li> 4980 4976 <li><i>Recursively</i> … … 5132 5128 <li>Run a shell command described in the macro named <tt>lock_command</tt> 5133 5129 meant to install physical locks onto all files for this version of this package. A typical definition for this macro could be: 5134 <pre >5130 <pre class="cmt"> 5135 5131 macro lock_command "chmod -R a-w ../*" \ 5136 5132 WIN32 "attrib /S /D +R ../*"</pre> … … 5402 5398 <p>This command displays the current knowledge of 5403 5399 sub-project definitions and settings. It shows the 5404 5400 project names and their location (ie the corresponding 5405 5401 item in <tt>CMTPATH</tt> 5406 5402 </p> … … 5462 5458 # 5463 5459 # Selection : [4] 5464 use CMT v1r18p20050 401 (/afs/cern.ch/sw/contrib)5460 use CMT v1r18p20050501 (/afs/cern.ch/sw/contrib) 5465 5461 use ExternalLibs v4r2p0 (/afs/cern.ch/atlas/offline/external/Gaudi/0.12.1.5) [5] 5466 5462 use CLHEP v2r1820p0 (/afs/cern.ch/atlas/offline/external/Gaudi/0.12.1.5) … … 5544 5540 <li>Run a shell command described in the macro named <tt>unlock_command</tt> 5545 5541 meant to remove physical locks from all files for this version of this package. A typical definition for this macro could be: 5546 <pre >5542 <pre class="cmt"> 5547 5543 macro unlock_command "chmod -R g+w ../*" \ 5548 5544 WIN32 "attrib /S /D -R ../*"</pre> … … 5571 5567 </blockquote> 5572 5568 <hr><h4><a name="cmt cvssubpackages <module>"></a><a href="#index"><tt>13. 3.26</tt></a> - cmt cvssubpackages <module></h4> 5569 <blockquote> 5570 </blockquote> 5571 <hr><h4><a name="cmt cvssubprojects <module>"></a><a href="#index"><tt>13. 3.27</tt></a> - cmt cvssubprojects <module></h4> 5573 5572 <blockquote> 5574 5573 </blockquote> … … 5604 5603 the <tt>cmt setup</tt> 5605 5604 utility into a temporary file and 5606 running this temporary file. </li>5605 running this temporary file. </li> 5607 5606 <li> 5608 5607 Activation of the user defined setup and cleanup scripts … … 5650 5649 appropriate in all projects) is controlled by one option of the 5651 5650 build strategy, which can take one of the two values:</p> 5652 <pre >5651 <pre class="cmt"> 5653 5652 build_strategy prototypes 5654 5653 build_strategy no_prototypes</pre> … … 5838 5837 <li> 5839 5838 <tt>cmt cvssubpackages <module></tt> 5839 </li> 5840 <li> 5841 <tt>cmt cvssubprojects <module></tt> 5840 5842 </li> 5841 5843 </ul> … … 6016 6018 file, containing (among other statements 6017 6019 not shown for the sake of clarity) : 6018 <pre >6020 <pre class="cmt"> 6019 6021 package OPACS 6020 6022 … … 6033 6035 package would have just to provide a use 6034 6036 statement like : </p> 6035 <pre >6037 <pre class="cmt"> 6036 6038 use OPACS v3 </pre> 6037 6039 <p>This procedure gives the complete benefit of the use … … 6324 6326 csh> cd /Packages 6325 6327 csh> <get the tar file from the Web> 6326 csh> tar xzf CMTv1r18p20050 401.tar.gz6327 csh> cd CMT/v1r18p20050 401/mgr6328 csh> tar xzf CMTv1r18p20050501.tar.gz 6329 csh> cd CMT/v1r18p20050501/mgr 6328 6330 csh> ./INSTALL 6329 6331 csh> source setup.csh … … 6357 6359 <li>HKEY_LOCAL_MACHINE/Software/CMT/version will contain the 6358 6360 current version tag of <tt>CMT</tt> 6359 ("v1r18p20050 401" for this version). </li>6361 ("v1r18p20050501" for this version). </li> 6360 6362 <li>HKEY_LOCAL_MACHINE/Software/CMT/path/ may optionally 6361 6363 contain a set of text values corresponding to the different … … 6375 6377 dos> cd Packages 6376 6378 dos> <get the tar file from the Web> 6377 dos> cd CMT\v1r18p20050 401\mgr6379 dos> cd CMT\v1r18p20050501\mgr 6378 6380 dos> call INSTALL 6379 6381 dos> call setup.bat … … 6532 6534 </td> 6533 6535 <td>gives the current complete version tag of CMT</td> 6534 <td><tt>v1r18p20050 401</tt>6536 <td><tt>v1r18p20050501</tt> 6535 6537 </td> 6536 6538 </tr> … … 6629 6631 <td><tt>cmt_compiler_version</tt> 6630 6632 </td> 6631 <td>the version of the currently visible C++ compiler </td>6633 <td>the version of the currently visible C++ compiler </td> 6632 6634 <td><tt><none></tt> 6633 6635 </td> … … 6973 6975 <p> 6974 6976 A typical example of how to define such a macro could be : </p> 6975 <pre >6977 <pre class="cmt"> 6976 6978 macro Cm_linkopts "-L$(CMROOT)/$(Cm_tag) -lCm -lm" </pre> 6977 6979 </td> … … 6991 6993 . Thus, 6992 6994 a typical definition for this macro could be : 6993 <pre >6995 <pre class="cmt"> 6994 6996 macro Cm_stamps "$(Cm_root)/$(Cm_tag)/Cm.stamp" </pre> 6995 6997 <p>Then, these stamp file references are accumulated … … 7150 7152 to be rebuilt first (since each 7151 7153 constituent is associated with a target with the same 7152 7154 name). This is especially needed when one want to use 7153 7155 the parallel gmake (ie. the -j option of gmake). 7154 7156 </td> … … 7159 7161 </td> 7160 7162 <td> 7161 provides user defined dependency specifications for each7163 provides user defined dependency specifications for each 7162 7164 group. The typical use of this macro is fill it 7163 7165 with the name of the list of some other constituents … … 9758 9760 <hr><h3><a name="The default strategies defined in CMT"></a><a href="#index"><tt>18. 8</tt></a> - The default strategies defined in CMT</h3> 9759 9761 <blockquote> 9760 <pre >9762 <pre class="cmt"> 9761 9763 DefaultPrototypesStrategy = Prototypes, 9762 9764 DefaultInstallAreaStrategy = WithoutInstallArea</pre> … … 10184 10186 </tr> 10185 10187 <tr> 10188 <td width="100"><tt>13. 3.27</tt></td> 10189 <td> <a href="#cmt cvssubprojects <module>">cmt cvssubprojects <module></a></td> 10190 </tr> 10191 <tr> 10186 10192 <td width="100"><tt>13. 4</tt></td> 10187 10193 <td> <a href="#The setup and cleanup scripts">The setup and cleanup scripts</a></td>
Note: See TracChangeset
for help on using the changeset viewer.