sbsv1/abld/makmake/makhelp.pm
author Bob Rosenberg <bob.rosenberg@nokia.com>
Mon, 18 Oct 2010 10:33:54 +0100
changeset 660 66ff3e731c60
parent 599 fa7a3cc6effd
permissions -rw-r--r--
Sysdeftools additional support for merging misordered system definitions. More extensive validation. Minor bug fixes. Bash wrappers for perl scripts for unix installs.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
599
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     1
# Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     2
# All rights reserved.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     3
# This component and the accompanying materials are made available
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     4
# under the terms of "Eclipse Public License v1.0"
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     5
# which accompanies this distribution, and is available
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     6
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     7
#
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     8
# Initial Contributors:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     9
# Nokia Corporation - initial contribution.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    10
#
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    11
# Contributors:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    12
#
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    13
# Description:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    14
#
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    15
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    16
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    17
package Makhelp;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    18
require Exporter;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    19
@ISA=qw(Exporter);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    20
@EXPORT=qw(
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    21
	Help_Invocation
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    22
	Help_Mmp
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    23
	Help_Plat
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    24
);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    25
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    26
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    27
use E32tpver;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    28
use featurevariantparser;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    29
# also requires main module to have loaded platform module(s) and Modload.pm and Trgtype.pm
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    30
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    31
sub Help_Invocation () {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    32
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    33
	print
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    34
		"\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    35
		"MAKMAKE - Makefile Creation Utility (Build ",&E32tpver,")\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    36
		"\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    37
		"MAKMAKE {flags} [{MMPFilePath}MMPFileRoot] [Platform[.Feature Variant]]\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    38
		"\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    39
		"Flags: (case insensitive)\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    40
		" -D               -> create makefile in ", $E32env::Data{BldPath}, "[project]\\[platform]\\\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    41
		" -MMP             -> information - basic mmp syntax\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    42
		" -PLAT [platform] -> information - platform-specific mmp syntax\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    43
		" -V               -> verbose mode\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    44
		" -ND              -> generate no dependencies info\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    45
		" -[debug|no_debug]-> enable/disable generation of symbolic debug information for ARM ABI compliant platforms\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    46
		" -LOGFC           -> enable function call logging\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    47
		" -INVARIANT       -> force default feature variant processing only, unless FEATUREVARIANT is present in the .mmp file\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    48
		"\n"
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    49
	;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    50
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    51
	my @Plats=&main::Plat_List;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    52
	print
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    53
		"Available Platforms: (case insensitive)\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    54
		" @Plats\n"
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    55
	;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    56
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    57
	my @BuildableFeatureVariants=featurevariantparser->GetBuildableFeatureVariants();
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    58
	if (@BuildableFeatureVariants)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    59
		{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    60
		@BuildableFeatureVariants = map{uc($_)} @BuildableFeatureVariants;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    61
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    62
		print
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    63
			"\nAvailable Feature Variants for Supporting Platforms: (case insensitive)\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    64
			" @BuildableFeatureVariants\n"
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    65
		;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    66
		}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    67
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    68
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    69
sub Help_Mmp () {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    70
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    71
	my @TrgTypes=&main::Trg_List;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    72
	my $TrgTypes='TARGETTYPE             [';
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    73
	my $Spacing=length($TrgTypes);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    74
	my $LineLen=$Spacing;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    75
	foreach (@TrgTypes) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    76
		$TrgTypes.=$_.'|';
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    77
		$LineLen+=(length($_)+1);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    78
		if ($LineLen>($Spacing+50)) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    79
			$TrgTypes.="\n".(' 'x$Spacing);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    80
			$LineLen=$Spacing;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    81
		}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    82
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    83
	chop $TrgTypes;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    84
	$TrgTypes.=']';
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    85
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    86
	print <<ENDHERE;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    87
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    88
Makmake Project File - Basic Syntax
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    89
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    90
/* Use C++ comments if required */
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    91
START BITMAP           [target]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    92
TARGETPATH             [emulated_path_on_target_machine]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    93
HEADER
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    94
SOURCEPATH             [.mmp-relative_source_path (default - .mmp_dir)]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    95
SOURCE                 [color_depth] [source_bitmaps]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    96
END
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    97
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    98
START RESOURCE         [source]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    99
TARGET                 [target (default - source)]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   100
TARGETPATH             [emulated_path_on_target_machine]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   101
HEADER
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   102
LANG                   [languages (overrides global LANG)]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   103
UID                    [uid(s) for resource file]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   104
END
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   105
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   106
START STRINGTABLE      [source]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   107
EXPORTPATH             [location]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   108
HEADERONLY             [export only header file]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   109
END
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   110
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   111
AIF                    [target] [src_path] [resource] {[color_depth] [bitmaps]}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   112
ALWAYS_BUILD_AS_ARM
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   113
ARMFPU                 [SOFTVFP | VFPV2]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   114
ASSPABI
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   115
ASSPEXPORTS
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   116
ASSPLIBRARY            [ASSP_libraries]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   117
BYTEPAIRCOMPRESSTARGET
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   118
CAPABILITY             [NONE | list of {-}CAPABILITY_NAME]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   119
COMPRESSTARGET
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   120
DEBUGGABLE             [Executable can be debugged in a running system]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   121
DEBUGGABLE_UDEBONLY    [Only Debug (UDEB) executables can be debugged in a running system]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   122
DEBUGLIBRARY           [libraries - use in addition to LIBRARY for DEBUG builds]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   123
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   124
DEFFILE                [{path}{deffile} (default -
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   125
                          \[project]\B[platform]\[target basename].DEF)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   126
                        If the path ends in \~\ the ~ is replace by B[platform] ]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   127
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   128
DOCUMENT               [sourcepath-relative_documents]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   129
EPOCALLOWDLLDATA
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   130
EPOCCALLDLLENTRYPOINTS
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   131
EPOCDATALINKADDRESS    [relocation_address]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   132
EPOCFIXEDPROCESS
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   133
EPOCHEAPSIZE           [min_size][max_size]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   134
EPOCPROCESSPRIORITY    [PRIORITY_NAME]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   135
EPOCSTACKSIZE          [stack_size]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   136
EXPORTLIBRARY          [executables export library name if different from TARGET]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   137
EXPORTUNFROZEN
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   138
FIRSTLIB               [first link object - overrides EEXE.LIB or EDLL.LIB]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   139
FEATUREVARIANT         [process for all variants when '-invariant' is used in MAKMAKE calls]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   140
INFLATECOMPRESSTARGET
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   141
LANG                   [languages (defaults to SC)]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   142
LIBRARY                [libraries]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   143
LINKAS                 [executable's linking name if different from TARGET]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   144
LINKEROPTION           [COMPILER] [rest of line is linker options]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   145
MACRO                  [user-defined_macros]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   146
NEWLIB                 [override default operator new/operator delete library]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   147
NOCOMPRESSTARGET
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   148
NOEXPORTLIBRARY        [don't generate an export library]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   149
NOSTRICTDEF
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   150
OPTION                 [COMPILER] [rest of line is extra compiler options]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   151
OPTION_REPLACE         [oldComplierOption] [newOption]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   152
PAGED
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   153
PAGEDCODE
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   154
PAGEDDATA
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   155
RAMTARGET              // syntax not yet finalized
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   156
RESOURCE               [sourcepath-relative_resources]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   157
ROMTARGET              // syntax not yet finalized
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   158
SECUREID               [secure ID]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   159
SMPSAFE                [mark executable as SMP safe]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   160
SOURCE                 [sourcepath-relative_sources]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   161
SOURCEPATH             [.mmp relative_source_path (default - .mmp_dir]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   162
SRCDBG
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   163
STATICLIBRARY          [static_libraries]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   164
STDCPP
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   165
NOSTDCPP
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   166
STRICTDEPEND
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   167
SYSTEMINCLUDE          [system_include_path]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   168
SYSTEMRESOURCE         [sourcepath-relative_system_resources]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   169
TARGET                 [target]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   170
TARGETPATH             [emulated_path_on_target_machine]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   171
$TrgTypes
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   172
UID                    [uid2|0 {uid3}]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   173
UNPAGED
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   174
UNPAGEDCODE
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   175
UNPAGEDDATA
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   176
USERINCLUDE            [user_include_path - source_dir searched first always]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   177
VENDORID               [vendorid]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   178
VERSION                [MAJOR.minor {explicit} - specify version number of
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   179
                         the target. If EXPLICIT specified decorate target
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   180
                         filename and DEF file name with version.]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   181
WCHARENTRYPOINT
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   182
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   183
#if defined([PLATFORM])
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   184
[universal keyword statements restricted to [PLATFORM] ]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   185
#endif
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   186
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   187
START [PLATFORM]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   188
[platform-specific keyword statements]
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   189
// use MAKMAKE /PLAT [PLATFORM] to display these
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   190
END
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   191
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   192
ENDHERE
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   193
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   194
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   195
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   196
sub Help_Plat ($$$$$) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   197
	my ($Plat,$CPU,$DefFile,$MmpMacrosRef, $MacrosRef)=@_;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   198
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   199
#	list of source macros is incomplete in this function.  It may also contain:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   200
#	__MARM_<ABI>__ if the platform CPU is MARM - (ABI may vary according to .MMP contents though)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   201
#	Any macros defined in the .MMP file
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   202
#	__DLL__ or __EXE__ respectively if the $BasicTrgType is DLL or EXE
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   203
#	WIN32 and _WINDOWS if the project links to Win32 libraries
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   204
#
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   205
#	Furthermore, build macros _UNICODE, _DEBUG or _NDEBUG aren't listed - the _UNICODE
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   206
#	macro should probably be defined as a permanent macro now that we're not doing Narrow
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   207
#	builds anymore.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   208
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   209
	$DefFile= 'B'.$DefFile unless ($DefFile eq 'EABI');
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   210
	print
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   211
		"\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   212
		"Makmake Project File - Platform-specific Syntax\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   213
		"\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   214
		"// Platform   -> $Plat\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   215
		"// Default_Def_Dir -> \\[project]\\$DefFile\\\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   216
		"// MMP_Macros -> @$MmpMacrosRef\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   217
		"// Source_Macros -> @$MacrosRef (+ others)\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   218
		"\n",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   219
		"START [MMP_Macro]\n"
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   220
	;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   221
	&main::PMHelp_Mmp if defined &main::PMHelp_Mmp;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   222
	print "END\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   223
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   224
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   225
1;