* target_dir variable generation was not cpu dependent yet

This commit is contained in:
peter 2003-04-25 20:53:33 +00:00
parent 754a34200a
commit 9c08ff4f69

View File

@ -365,57 +365,79 @@ implementation
function TMakefileWriter.AddTargetDefines(const inivar,prefix:string):string;
procedure addtokens(s:string);
var
name : string;
k1,k2 : integer;
begin
repeat
Name:=GetToken(s,' ');
if Name='' then
break;
{ Remove (..) }
k1:=pos('(',name);
if k1>0 then
begin
k2:=PosIdx(')',name,k1);
if k2=0 then
k2:=length(name)+1;
Delete(Name,k1,k2);
end;
FOutput.Add(prefix+VarName(name)+'=1');
{ add to the list of dirs without duplicates }
AddTokenNoDup(result,name,' ');
until false;
end;
var
s : string;
T : TTarget;
name : string;
k1,k2 : integer;
c : TCpu;
firsttarget,
firstcpu : boolean;
begin
result:='';
s:=FInput.GetVariable(IniVar,false);
repeat
name:=GetToken(s,' ');
if Name='' then
break;
{ Remove (..) }
k1:=pos('(',name);
if k1>0 then
begin
k2:=PosIdx(')',name,k1);
if k2=0 then
k2:=length(name)+1;
Delete(Name,k1,k2);
end;
FOutput.Add(prefix+VarName(name)+'=1');
{ add to the list of dirs without duplicates }
AddTokenNoDup(result,name,' ');
until false;
addtokens(s);
for t:=low(TTarget) to high(TTarget) do
if t in FInput.IncludeTargets then
begin
firsttarget:=true;
firstcpu:=true;
s:=FInput.GetVariable(IniVar+TargetSuffix[t],false);
if s<>'' then
begin
FOutput.Add('ifeq ($(OS_TARGET),'+TargetStr[t]+')');
repeat
Name:=GetToken(s,' ');
if Name='' then
break;
{ Remove (..) }
k1:=pos('(',name);
if k1>0 then
begin
k2:=PosIdx(')',name,k1);
if k2=0 then
k2:=length(name)+1;
Delete(Name,k1,k2);
end;
FOutput.Add(prefix+VarName(name)+'=1');
{ add to the list of dirs without duplicates }
AddTokenNoDup(result,name,' ');
until false;
FOutput.Add('endif');
if firsttarget then
begin
firsttarget:=false;
FOutput.Add('ifeq ($(OS_TARGET),'+TargetStr[t]+')');
end;
addtokens(s);
end;
for c:=low(TCpu) to high(TCpu) do
if (TargetCpuPossible[t,c]) and (c in FInput.IncludeCpus) then
begin
s:=FInput.GetVariable(IniVar+TargetSuffix[t]+CpuSuffix[c],false);
if s<>'' then
begin
if firsttarget then
begin
firsttarget:=false;
FOutput.Add('ifeq ($(OS_TARGET),'+TargetStr[t]+')');
end;
if firstcpu then
begin
firstcpu:=false;
FOutput.Add('ifeq ($(CPU_TARGET),'+CpuStr[c]+')');
end;
addtokens(s);
end;
end;
if not firstcpu then
FOutput.Add('endif');
if not firsttarget then
FOutput.Add('endif');
end;
end;
@ -905,7 +927,10 @@ implementation
end.
{
$Log$
Revision 1.27 2003-04-24 23:21:01 peter
Revision 1.28 2003-04-25 20:53:33 peter
* target_dir variable generation was not cpu dependent yet
Revision 1.27 2003/04/24 23:21:01 peter
* support different cpu target
Revision 1.26 2003/03/24 10:56:02 marco