diff options
author | Erich Eckner <git@eckner.net> | 2018-01-09 15:39:07 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2018-01-09 15:39:07 +0100 |
commit | 2c55053cb2f874fb2699eb719f2b51f72fce045f (patch) | |
tree | 3504ffd8038e037fc9e4791f2616cf87e8419829 /dateibeziehungen.pas | |
parent | 0cb6da8778659926553487e8751f6685be5a79af (diff) | |
download | Make-2c55053cb2f874fb2699eb719f2b51f72fce045f.tar.xz |
dateibeziehungen.pas: alle explizit zu überwachenden sind "lokal"
Diffstat (limited to 'dateibeziehungen.pas')
-rw-r--r-- | dateibeziehungen.pas | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/dateibeziehungen.pas b/dateibeziehungen.pas index 4fb444f..d55fe43 100644 --- a/dateibeziehungen.pas +++ b/dateibeziehungen.pas @@ -5,7 +5,7 @@ unit dateiBeziehungen; interface uses - classes, sysUtils, tools, regExpr; + classes, sysUtils, tools, regExpr, mystringlistunit; type tZeilenTyp = (ztSuche,ztZiel,ztQuelle,ztBefehl); @@ -92,6 +92,7 @@ type tMach = class private _machDatei,_pruefSummenDatei: string; + _ueberwachteDateien: tMyStringList; _oriAbh: tGenerischeAbhaengigkeiten; _mglAbh: tExpliziteAbhaengigkeiten; _dats: tDateienMitDaten; @@ -116,7 +117,7 @@ procedure allgemeineErsetzungen(var worin: string; worinIstRegex: tRegexTyp; mac implementation uses - lowlevelunit, mystringlistunit, systemunit; + lowlevelunit, systemunit; // tGenerischeAbhaengigkeiten ************************************************************ @@ -725,6 +726,7 @@ begin _mglAbh:=tExpliziteAbhaengigkeiten.create; _dats:=tDateienMitDaten.create; _warten:=warten; + _ueberwachteDateien:=tMyStringList.create; // machDatei teilweise prüfen und setzen if machDatei='' then begin @@ -761,6 +763,7 @@ begin _mglAbh.free; _dats.mrProper; _dats.free; + _ueberwachteDateien.free; for i:=0 to length(_ign)-1 do _ign[i].free; setLength(_ign,0); @@ -830,7 +833,8 @@ begin end else begin rek:=startetMit('-r',s); - while s<>'' do + while s<>'' do begin + _ueberwachteDateien.add(char(ord('0')+byte(rek))+s); if sammleDateien(erstesArgument(s),rek)=0 then begin f.stepBack; f.readln(s); @@ -838,6 +842,7 @@ begin aufraeumen; exit; end; + end; end; end; ztBefehl: begin @@ -1038,11 +1043,10 @@ begin if (sicher=1) or // der Benutzer will es ((sicher=0) and (_dats.finde(_machDatei).aktuell<>aAktuell)) then begin // die Machdatei ist nicht aktuell lokTest:=tRegExpr.create; - if (ausgabeDatei='') or - (extractFilePath(ausgabeDatei)=extractFilePath(_pruefSummenDatei)) then - lokTest.expression:=unterVerzeichnisRegex([_pruefSummenDatei]) + if ausgabeDatei<>'' then + lokTest.expression:=unterVerzeichnisRegex(['0'+ausgabeDatei,_ueberwachteDateien]) else - lokTest.expression:=unterVerzeichnisRegex([ausgabeDatei,_pruefSummenDatei]); + lokTest.expression:=unterVerzeichnisRegex([_ueberwachteDateien]); alleDateien:=_dats.toMyStringList; alleDateien.grep('^\.uralt\.$',true); for i:=0 to befehle.count-1 do |