Merge remote-tracking branch 'origin/6.1'
[scilab.git] / scilab / modules / dynamic_link / macros / G_make.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA - Allan CORNET
3 // Copyright (C) DIGITEO - 2010 - Allan CORNET
4 //
5 // Copyright (C) 2012 - 2016 - Scilab Enterprises
6 //
7 // This file is hereby licensed under the terms of the GNU GPL v2.0,
8 // pursuant to article 5.3.4 of the CeCILL v.2.1.
9 // This file was originally licensed under the terms of the CeCILL v2.1,
10 // and continues to be available under such terms.
11 // For more information, see the COPYING file which you should have received
12 // along with this program.
13
14 //=============================================================================
15 function res = G_make(files, objects_or_dll)
16
17     if ~haveacompiler() then
18         error(msprintf(gettext("%s: A Fortran or C compiler is required.\n"),"G_make"))
19     end
20
21     [lhs,rhs] = argn(0);
22     if rhs <> 2 then
23         error(msprintf(gettext("%s: Wrong number of input argument(s).\n"),"G_make"));
24         return
25     end
26
27     msg = "";
28
29     if getos() == "Windows" then // WINDOWS
30         // Load dynamic_link Internal lib if it's not already loaded
31         if ~ exists("dynamic_linkwindowslib") then
32             load("SCI/modules/dynamic_link/macros/windows/lib");
33         end
34         res = dlwMake(files, objects_or_dll);
35     else // LINUX
36
37         mk = [];
38         for x = files(:)', if strindex(x,"-l")==[], mk=mk+" "+x ; end ;end
39
40         if ilib_verbose() > 1 then
41             msg = unix_g("make "+ mk);
42         else
43             host("make "+ mk);
44         end
45
46         res = files ;
47
48     end
49
50     if ilib_verbose() > 1 then
51         disp(msg);
52     end
53
54 endfunction
55 //=============================================================================