summaryrefslogtreecommitdiff
path: root/dateibeziehungen.pas
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-12-14 14:58:19 +0100
committerErich Eckner <git@eckner.net>2017-12-14 14:58:19 +0100
commit284addb3e31caaa129cd8010141932d8bd17ed67 (patch)
treeef9323f5f0cf8bae6456b92cddce1d9135a0e4eb /dateibeziehungen.pas
parentd7064636f1cff937f4489bce0bfe41dfc44a3a6c (diff)
downloadMake-284addb3e31caaa129cd8010141932d8bd17ed67.tar.xz
Option -w|--warten neu
Diffstat (limited to 'dateibeziehungen.pas')
-rw-r--r--dateibeziehungen.pas15
1 files changed, 11 insertions, 4 deletions
diff --git a/dateibeziehungen.pas b/dateibeziehungen.pas
index e69bf56..f016faa 100644
--- a/dateibeziehungen.pas
+++ b/dateibeziehungen.pas
@@ -96,11 +96,12 @@ type
_mglAbh: tExpliziteAbhaengigkeiten;
_dats: tDateienMitDaten;
_ign: array of tRegExpr;
+ _warten: boolean;
function liesMachDatei: boolean;
function liesPruefsummenfile: boolean;
function sammleDateien(wo: string; rekursiv: boolean): longint;
public
- constructor create(machDatei, pruefSummenDatei: string);
+ constructor create(machDatei, pruefSummenDatei: string; warten: boolean);
destructor destroy; override;
procedure erzeugeRegeln;
procedure findeWasZuTunIst;
@@ -700,12 +701,13 @@ end;
// tMach ***********************************************************************
-constructor tMach.create(machDatei, pruefSummenDatei: string);
+constructor tMach.create(machDatei, pruefSummenDatei: string; warten: boolean);
begin
inherited create;
_oriAbh:=tGenerischeAbhaengigkeiten.create;
_mglAbh:=tExpliziteAbhaengigkeiten.create;
_dats:=tDateienMitDaten.create;
+ _warten:=warten;
// machDatei teilweise prüfen und setzen
if machDatei='' then begin
@@ -1036,8 +1038,13 @@ begin
assignFile(ausg,ausgabeDatei);
rewrite(ausg);
writeln(ausg,'set -e');
- for i:=0 to befehle.count-1 do
- writeln(ausg,'('+befehle[i]+') || (printf ''In\n"%s"\n'' "'+escape(befehle[i],'\"','\')+'"; read -p "ist ein Fehler aufgetreten! ... "; exit 1)');
+ for i:=0 to befehle.count-1 do begin
+ write(ausg,'('+befehle[i]+') || (printf ''In\n"%s"\n'' "'+escape(befehle[i],'\"','\')+'"; ');
+ if _warten then
+ writeln(ausg,'read -p "ist ein Fehler aufgetreten! ... "; exit 1)')
+ else
+ writeln(ausg,'printf ''ist ein Fehler aufgetreten!\n''; exit 1)');
+ end;
closeFile(ausg);
end;
befehle.free;