diff -r fa9d7d89d3d6 -r 68f68128601f sbsv1/abld/makmake/makhelp.pm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv1/abld/makmake/makhelp.pm Thu Nov 25 13:59:07 2010 +0000 @@ -0,0 +1,225 @@ +# Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + + +package Makhelp; +require Exporter; +@ISA=qw(Exporter); +@EXPORT=qw( + Help_Invocation + Help_Mmp + Help_Plat +); + + +use E32tpver; +use featurevariantparser; +# also requires main module to have loaded platform module(s) and Modload.pm and Trgtype.pm + +sub Help_Invocation () { + + print + "\n", + "MAKMAKE - Makefile Creation Utility (Build ",&E32tpver,")\n", + "\n", + "MAKMAKE {flags} [{MMPFilePath}MMPFileRoot] [Platform[.Feature Variant]]\n", + "\n", + "Flags: (case insensitive)\n", + " -D -> create makefile in ", $E32env::Data{BldPath}, "[project]\\[platform]\\\n", + " -MMP -> information - basic mmp syntax\n", + " -PLAT [platform] -> information - platform-specific mmp syntax\n", + " -V -> verbose mode\n", + " -ND -> generate no dependencies info\n", + " -[debug|no_debug]-> enable/disable generation of symbolic debug information for ARM ABI compliant platforms\n", + " -LOGFC -> enable function call logging\n", + " -INVARIANT -> force default feature variant processing only, unless FEATUREVARIANT is present in the .mmp file\n", + "\n" + ; + + my @Plats=&main::Plat_List; + print + "Available Platforms: (case insensitive)\n", + " @Plats\n" + ; + + my @BuildableFeatureVariants=featurevariantparser->GetBuildableFeatureVariants(); + if (@BuildableFeatureVariants) + { + @BuildableFeatureVariants = map{uc($_)} @BuildableFeatureVariants; + + print + "\nAvailable Feature Variants for Supporting Platforms: (case insensitive)\n", + " @BuildableFeatureVariants\n" + ; + } +} + +sub Help_Mmp () { + + my @TrgTypes=&main::Trg_List; + my $TrgTypes='TARGETTYPE ['; + my $Spacing=length($TrgTypes); + my $LineLen=$Spacing; + foreach (@TrgTypes) { + $TrgTypes.=$_.'|'; + $LineLen+=(length($_)+1); + if ($LineLen>($Spacing+50)) { + $TrgTypes.="\n".(' 'x$Spacing); + $LineLen=$Spacing; + } + } + chop $TrgTypes; + $TrgTypes.=']'; + + print <__ if the platform CPU is MARM - (ABI may vary according to .MMP contents though) +# Any macros defined in the .MMP file +# __DLL__ or __EXE__ respectively if the $BasicTrgType is DLL or EXE +# WIN32 and _WINDOWS if the project links to Win32 libraries +# +# Furthermore, build macros _UNICODE, _DEBUG or _NDEBUG aren't listed - the _UNICODE +# macro should probably be defined as a permanent macro now that we're not doing Narrow +# builds anymore. + + $DefFile= 'B'.$DefFile unless ($DefFile eq 'EABI'); + print + "\n", + "Makmake Project File - Platform-specific Syntax\n", + "\n", + "// Platform -> $Plat\n", + "// Default_Def_Dir -> \\[project]\\$DefFile\\\n", + "// MMP_Macros -> @$MmpMacrosRef\n", + "// Source_Macros -> @$MacrosRef (+ others)\n", + "\n", + "START [MMP_Macro]\n" + ; + &main::PMHelp_Mmp if defined &main::PMHelp_Mmp; + print "END\n"; +} + +1;