From 0c9d48c004b5f8fea41d2c28e50ddd199e81f2a0 Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Mon, 24 Feb 2020 18:17:03 +0300 Subject: [PATCH] cpmake: add hand-link mode (default behavior) --- src/generic/Dsw/Mod/MakeMain.cp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/generic/Dsw/Mod/MakeMain.cp b/src/generic/Dsw/Mod/MakeMain.cp index 9df3961..8e68f87 100644 --- a/src/generic/Dsw/Mod/MakeMain.cp +++ b/src/generic/Dsw/Mod/MakeMain.cp @@ -67,7 +67,7 @@ MODULE DswMakeMain; END; VAR - err: INTEGER; + werr, err: INTEGER; mno, rno: INTEGER; (* num modules *) modList, lnkList, cmpList: ARRAY maxImps OF Module; def: Selector; (* with head, global list of selectors *) @@ -257,9 +257,7 @@ MODULE DswMakeMain; Log.String(" -Xi path Use executable file for internal linker (native only)"); Log.Ln; Log.String(" -Cg params Pass parameters to Component Pasacal compiler directly"); Log.Ln; Log.String(" -Ci params Pass parameters to internal linker directly"); Log.Ln; -(* Log.String(" -a Enable automatic dependency resolution"); Log.Ln; -*) Log.String(" -o name Generate executable file"); Log.Ln; Log.String(" -j num Specifies the number of jobs to run simultaneously"); Log.Ln; Log.String(' -D ident["+"|"-"] Add preprocessor selector'); Log.Ln; @@ -419,6 +417,9 @@ MODULE DswMakeMain; j := 0; (* find module in global list *) WHILE (j < mno) & (modList[j].name$ # name$) DO INC(j) END; IF j >= mno THEN + IF ~auto THEN + Log.String("module " + name + " required before " + m.name); Log.Ln; INC(werr) + END; NEW(imp); imp.name := name$; imp.selectors := CopySelectorList(m.selectors); modList[mno] := imp; INC(mno) ELSE @@ -613,6 +614,7 @@ MODULE DswMakeMain; END; INC(i) END; + INC(err, werr); num := 0; FOR i := 0 TO rno - 1 DO Trace(modList[i], modList[i], num) -- 2.29.2