<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ice-online.com/index.php?action=history&amp;feed=atom&amp;title=MAKE</id>
	<title>MAKE - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ice-online.com/index.php?action=history&amp;feed=atom&amp;title=MAKE"/>
	<link rel="alternate" type="text/html" href="https://wiki.ice-online.com/index.php?title=MAKE&amp;action=history"/>
	<updated>2026-08-03T20:47:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.ice-online.com/index.php?title=MAKE&amp;diff=793&amp;oldid=prev</id>
		<title>ConvertBot: handles various build and configuration functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.ice-online.com/index.php?title=MAKE&amp;diff=793&amp;oldid=prev"/>
		<updated>2020-04-27T22:04:58Z</updated>

		<summary type="html">&lt;p&gt;handles various build and configuration functions&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;handles various build and configuration functions&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;func&amp;gt;   - Function to perform (ALL,CODE,HELP,JAR,BUNDLE). Multiple options can&lt;br /&gt;
           be combined with a pipe (&amp;quot;CODE|JAR&amp;quot;) [DEF=&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;option&amp;gt; - Option tree to perform operation on or &amp;quot;ALL&amp;quot; for all option tree(s)&lt;br /&gt;
           in the path.                                              [DEF=&amp;quot;ALL&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Functions:&lt;br /&gt;
  BUN:  The BUNDLE or BUN (alias) function creates OSGi bundles (jars) under&lt;br /&gt;
        $NMROOT/bundle directory.                        (Since NeXtMidas 3.3.0)&lt;br /&gt;
&lt;br /&gt;
        Same as:&lt;br /&gt;
          nM&amp;gt; generate/verbose bundle &amp;lt;option&amp;gt; bundle&lt;br /&gt;
&lt;br /&gt;
  CODE: The CODE function builds the Java and C code known to the NeXtMidas&lt;br /&gt;
        system.&lt;br /&gt;
&lt;br /&gt;
        Same as:&lt;br /&gt;
          nM&amp;gt; build all all &amp;lt;option&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  DOCS: An alias for &amp;quot;HELP&amp;quot; (see below).&lt;br /&gt;
&lt;br /&gt;
  HELP: The HELP function builds the Help system files and their browser&lt;br /&gt;
        compatible versions. This includes the building of the JavaDoc&lt;br /&gt;
        files (which document any Java files). The building of the database used&lt;br /&gt;
        to perform the search in HELP/GUI is only done when this function and&lt;br /&gt;
        the &amp;quot;ALL&amp;quot; option is specified.&lt;br /&gt;
&lt;br /&gt;
        Same as:&lt;br /&gt;
          nM&amp;gt; help/build ,, &amp;lt;option&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  JAR:  The JAR function creates Java Web Start compatible jars for web&lt;br /&gt;
        deployment under $NMROOT/jars directory.&lt;br /&gt;
&lt;br /&gt;
        Same as:&lt;br /&gt;
          nM&amp;gt; generate/sign/verbose jars &amp;lt;option&amp;gt; jars&lt;br /&gt;
&lt;br /&gt;
        Note: Under Windows, this function may fail if the destination jar file&lt;br /&gt;
              is open (e.g. in use by another process running in Web Start).&lt;br /&gt;
&lt;br /&gt;
  ALL:  The ALL function is identical &amp;quot;CODE|HELP|JAR&amp;quot;. Combining &amp;quot;ALL&amp;quot; with any&lt;br /&gt;
        other functions has no affect (i.e. &amp;quot;ALL|JAR&amp;quot; is the same as &amp;quot;ALL&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
  Since NeXtMidas 2.5.1, if an unsupported function is specified, MAKE displays&lt;br /&gt;
  an error message with the list of supported functions.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
  When MAKE is run outside the NeXtMidas shell (i.e. via '$ nm make ...'), it&lt;br /&gt;
  uses tools.NmMake to provide the boot-strap build of NeXtMidas from scratch.&lt;br /&gt;
  In this mode, Native code is disabled. Option trees that require native code,&lt;br /&gt;
  such as XBC to preprocess Fortran files and all dependent option trees must&lt;br /&gt;
  run MAKE in the NeXtMidas shell and with native code enabled (on by default).&lt;br /&gt;
  View the User's Guide -&amp;gt; Installation and Customization -&amp;gt; Compilation&lt;br /&gt;
  for more information.&lt;br /&gt;
&lt;br /&gt;
  In NeXtMidas 3.5.3, the JVM target (-source and -target javac flags) were&lt;br /&gt;
  removed from build.props. This means that the lowest desired JDK should&lt;br /&gt;
  be used to compile the baseline and option trees otherwise trying to run&lt;br /&gt;
  NeXtMidas on a lower JVM will error with following Exception:&lt;br /&gt;
    java.lang.UnsupportedClassVersionError: ... Unsupported major.minor version&lt;br /&gt;
&lt;br /&gt;
  To downgrade to a lower JVM target (e.g. from Java 8 to Java 7), it is&lt;br /&gt;
  recommended to rebuild from a refresh tarball/zip of the NeXtMidas baseline.&lt;br /&gt;
  But if that is not available, then the following steps can take from OS shell:&lt;br /&gt;
    1. nm make clean&lt;br /&gt;
    2. nm make all&lt;br /&gt;
    3. rebuild your option trees (e.g. path add option trees, make all)&lt;br /&gt;
&lt;br /&gt;
Extending Make:&lt;br /&gt;
  Prior to building an option tree MAKE will look for a BUILDOPT macro in the&lt;br /&gt;
  MCR area of the option tree being built. If a BUILDOPT macro is found MAKE&lt;br /&gt;
  will call it and let it handle the building of the option tree. If no BUILDOPT&lt;br /&gt;
  macro is found the default system one (see BUILDOPT;SYS) will be used.&lt;br /&gt;
&lt;br /&gt;
  The BUIDLOPT macro should handle all of the tasks required to build the option&lt;br /&gt;
  tree. BUILDOPT may call BUILDOPT;SYS if applicable but may NOT call MAKE.&lt;br /&gt;
&lt;br /&gt;
  Example of a typical BUILDOPT:&lt;br /&gt;
      startmacro u:option[&amp;quot;MYOPT&amp;quot;]&lt;br /&gt;
        say &amp;quot;Using custom buildopt for ^{option} option tree.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        ! Get the standard /NC=, /NH=, and /NJ= switches that MAKE&lt;br /&gt;
        ! passed here and and passes them on to BUILDOPT;SYS later&lt;br /&gt;
        SWITCH NAME=NC VALUE=NC FUNC=GET DEF=false SDEF=true&lt;br /&gt;
        SWITCH NAME=NH VALUE=NH FUNC=GET DEF=false SDEF=true&lt;br /&gt;
        SWITCH NAME=NJ VALUE=NJ FUNC=GET DEF=false SDEF=true&lt;br /&gt;
&lt;br /&gt;
        ! Do special build steps for this option tree&lt;br /&gt;
        if NC isFalse then&lt;br /&gt;
          bld mylibrary libxxx ^option&lt;br /&gt;
          bld all libxxx ^option&lt;br /&gt;
        endif&lt;br /&gt;
&lt;br /&gt;
        ! Then perform the standard build with user specified switches&lt;br /&gt;
        BUILDOPT;SYS/NC=^{nc}/NH=^{nh}/NJ=^{nj} ^option&lt;br /&gt;
      endmacro&lt;br /&gt;
&lt;br /&gt;
  Warning: When calling BUILDOPT;SYS, always include the &amp;quot;;SYS&amp;quot; since other&lt;br /&gt;
           option trees are likely to have their own buildopt variants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
  1. Build all of the Java and C code for the SYS tree and package it in the JAR&lt;br /&gt;
     files:&lt;br /&gt;
       nM&amp;gt; make CODE|JAR sys&lt;br /&gt;
         or&lt;br /&gt;
       nM&amp;gt; make JAR|CODE sys&lt;br /&gt;
&lt;br /&gt;
     Note that in all cases the make macro will perform each function in its&lt;br /&gt;
     logical order (e.g. &amp;quot;CODE&amp;quot; will be performed before &amp;quot;JAR&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
  2. Build the help files for all known option trees.&lt;br /&gt;
       nM&amp;gt; make HELP all&lt;br /&gt;
&lt;br /&gt;
  3. Build everything for the &amp;quot;DSP&amp;quot; option tree.&lt;br /&gt;
       nM&amp;gt; make all dsp&lt;br /&gt;
&lt;br /&gt;
  4. Build everything for all known option trees:&lt;br /&gt;
       nM&amp;gt; make all all&lt;br /&gt;
&lt;br /&gt;
  5. Build code (except for native files) for MAP option tree:&lt;br /&gt;
      nM&amp;gt; make code map /donative=f&lt;br /&gt;
&lt;br /&gt;
  6. Build only native files (code) for all option trees on path (Since 3.3.1):&lt;br /&gt;
       nM&amp;gt; make code /bldtypes=native&lt;br /&gt;
       &lt;br /&gt;
  7. Exclude all test directories (&amp;quot;*/test/*&amp;quot;) when creating JAR files &lt;br /&gt;
     (since 3.3.4):&lt;br /&gt;
       nM&amp;gt; make jars /notest&lt;br /&gt;
       &lt;br /&gt;
  8. Exclude all docs directories (&amp;quot;*/docs/*&amp;quot;) when creating JAR files &lt;br /&gt;
     (since 3.3.4):&lt;br /&gt;
       nM&amp;gt; make jars /nodocs&lt;br /&gt;
&lt;br /&gt;
Switches:&lt;br /&gt;
  See BUILDOPT, BUILD, GENERATE, HELP explain files for switches that MUST be&lt;br /&gt;
  specified at the end of command line after all arguments to MAKE for it to&lt;br /&gt;
  propagate to those commands.&lt;br /&gt;
  Here are some common switches for BUILD and GENERATE:&lt;br /&gt;
  /BLDTYPES= - Types of files to build (Java,Native,Host). When specified takes&lt;br /&gt;
               precedence over /DOHOST and /DONATIVE. (Since 3.3.1) [DEF=ALL]&lt;br /&gt;
  /DEBUG     - Turn on debugging.&lt;br /&gt;
  /DOHOST    - Compiles the host (C++/Fortran) files [DEF=FALSE, TRUE if XBC on&lt;br /&gt;
               path). Note: /DOHOST should usually be included with /DONATIVE.&lt;br /&gt;
  /DONATIVE  - Compiles the native (C/C++) files. [DEF=TRUE]&lt;br /&gt;
  /NODOCS    - Do not include /docs directories in JAR files (since 3.3.4)&lt;br /&gt;
  /NOTEST    - Do not include /test directories in JAR files (since 3.3.4)&lt;br /&gt;
  /SKIP=     - For FUNC=JAR, skip specified step(s) options mask value:&lt;br /&gt;
                 JARSTANDARD - Skip standard jar file creation&lt;br /&gt;
                 JARNATIVE   - Skip JAR of native library files for current OS&lt;br /&gt;
                 COPYJARS    - Skip copying and signing jar files from JAR area&lt;br /&gt;
               For FUNC=BUNDLE, skip options mask value:           (Since 3.3.0)&lt;br /&gt;
                 BUNSTANDARD - Skip standard OSGi bundle file creation&lt;br /&gt;
                 BUNNATIVE   - Skip native libraries OSGi bundle file creation&lt;br /&gt;
                 BUNSOURCE   - Skip source code OSGi bundle file creation&lt;br /&gt;
&lt;br /&gt;
See Also: BUILDOPT, BUILD, BLD, GENERATE, HELP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:NXM_Explain]]&lt;/div&gt;</summary>
		<author><name>ConvertBot</name></author>
		
	</entry>
</feed>