lazbuild: added optin --create-makefile

git-svn-id: trunk@29410 -
This commit is contained in:
mattias 2011-02-07 13:47:51 +00:00
parent ca3bc870b2
commit 8d2dbd9ff1
3 changed files with 30 additions and 4 deletions

View File

@ -5177,6 +5177,8 @@ resourcestring
dlgInsertSection = 'Insert into Uses section of';
dlgInsertInterface = 'Interface';
dlgInsertImplementation = 'Implementation';
lisInsteadOfCompilePackageCreateASimpleMakefile = 'Instead of compile '
+'package create a simple Makefile.';
implementation

View File

@ -9,6 +9,9 @@
<SessionStorage Value="InIDEConfig"/>
<MainUnit Value="0"/>
</General>
<MacroValues Count="1">
<Macro1 Name="LCLWidgetType" Value="nogui"/>
</MacroValues>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
@ -57,17 +60,19 @@
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="9"/>
<Version Value="10"/>
<Target>
<Filename Value="../lazbuild"/>
</Target>
<SearchPaths>
<IncludeFiles Value="include;include/$(TargetOS)"/>
<OtherUnitFiles Value="../designer;../packager"/>
<OtherUnitFiles Value="../designer;../packager;../debugger"/>
<UnitOutputDirectory Value="../units/$(TargetCPU)-$(TargetOS)"/>
<LCLWidgetType Value="nogui"/>
</SearchPaths>
<Other>
<CompilerMessages>
<UseMsgFile Value="True"/>
</CompilerMessages>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>

View File

@ -49,6 +49,7 @@ type
FBuildModeOverride: String;
FBuildRecursive: boolean;
fCompilerOverride: String;
FCreateMakefile: boolean;
fLazarusDirOverride : String;
fCPUOverride: String;
fOSOverride: String;
@ -89,6 +90,7 @@ type
function BuildPackage(const AFilename: string): boolean;
function LoadPackage(const AFilename: string): TLazPackage;
procedure CompilePackage(APackage: TLazPackage; Flags: TPkgCompileFlags);
procedure DoCreateMakefile(APackage: TLazPackage);
procedure CheckPackageGraphForCompilation(APackage: TLazPackage;
FirstDependency: TPkgDependency);
@ -128,6 +130,7 @@ type
write FSkipDependencies;
property BuildIDE: boolean read FBuildIDE write FBuildIDE;
property BuildIDEOptions: string read FBuildIDEOptions write FBuildIDEOptions;
property CreateMakefile: boolean read FCreateMakefile write FCreateMakefile;
property WidgetSetOverride: String read fWidgetsetOverride
write fWidgetsetOverride;
property OSOverride: String read fOSOverride write fOSOverride;
@ -309,7 +312,10 @@ begin
if (Length(WidgetSetOverride) <> 0) then
APackage.CompilerOptions.LCLWidgetType:=WidgetSetOverride;
CompilePackage(APackage,Flags);
if CreateMakefile then
DoCreateMakefile(APackage)
else
CompilePackage(APackage,Flags);
Result:=true;
end;
@ -516,6 +522,11 @@ begin
Error(ErrorBuildFailed,APackage.IDAsString+' compilation failed');
end;
procedure TLazBuildApplication.DoCreateMakefile(APackage: TLazPackage);
begin
PackageGraph.WriteMakeFile(APackage);
end;
procedure TLazBuildApplication.CheckPackageGraphForCompilation(
APackage: TLazPackage; FirstDependency: TPkgDependency);
@ -1073,6 +1084,7 @@ begin
LongOptions.Add('build-mode:');
LongOptions.Add('compiler:');
LongOptions.Add('lazarusdir:');
LongOptions.Add('create-makefile');
ErrorMsg:=RepairedCheckOptions('lBrd',LongOptions,Options,NonOptions);
if ErrorMsg<>'' then begin
writeln(ErrorMsg);
@ -1144,6 +1156,8 @@ begin
if HasOption('lazarusdir') then
LazarusDirOverride := GetOptionValue('lazarusdir');
if HasOption('create-makefile') then
CreateMakefile := true;
finally
Options.Free;
NonOptions.Free;
@ -1212,6 +1226,11 @@ begin
writeln('');
writeln(LanguageOpt);
writeln(UTF8ToConsole(BreakString(space+lisOverrideLanguage,75, 22)));
writeln('');
writeln('--create-makefile');
writeln(UTF8ToConsole(BreakString(space+
lisInsteadOfCompilePackageCreateASimpleMakefile, 75, 22)));
end;
procedure TLazBuildApplication.Error(ErrorCode: Byte; const ErrorMsg: string);