DEADSOFTWARE

cpmake: pass more info to build script
authorDeaDDooMER <deaddoomer@deadsoftware.ru>
Mon, 20 Jul 2020 17:02:01 +0000 (20:02 +0300)
committerDeaDDooMER <deaddoomer@deadsoftware.ru>
Mon, 20 Jul 2020 17:02:01 +0000 (20:02 +0300)
src/generic/Dsw/Mod/MakeMain.cp

index 5c84f5296973d52dd8df3146e4eee924c5bade84..824799955d58e8aec2fe9b6eb389e46de5c63ed7 100644 (file)
@@ -29,7 +29,8 @@ MODULE DswMakeMain;
     module = 75; eof = 76;
 
     (* module state flags *)
-    imported = 0; trace = 1; hasObj = 2; hasSym = 3; hasErrors = 4; library = 5;
+    imported = 0; trace = 1; hasObj = 2; hasSym = 3; hasErrors = 4;
+    library = 5; force = 6;
 
     debugImport = FALSE;
     debugOrder = FALSE;
@@ -350,6 +351,7 @@ MODULE DswMakeMain;
     ParseModule(m);
     DevCPR.Check;
     ok := DevCPM.noerr;
+    IF DevCPR.used THEN INCL(m.flags, force) END;
     DevCPR.Close;
     DevCPM.InsertMarks;
     DevCPM.Close;
@@ -521,6 +523,14 @@ MODULE DswMakeMain;
     p := DswProcs.dir.New();
     p.Program(base + "/" + target + "/" + "build");
     p.PutParam(m.odc);
+    IF force IN m.flags THEN p.PutParam("-f") END;
+    IF library IN m.flags THEN p.PutParam("-s") END;
+    s := def.next;
+    WHILE s # NIL DO
+      IF s.value THEN p.PutParam("-D") ELSE p.PutParam("-d") END;
+      p.PutParam(s.name$);
+      s := s.next
+    END;
     RETURN p
   END PrepareCompiler;