/
makemake.cmd
executable file
·96 lines (81 loc) · 2.09 KB
/
makemake.cmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/*
* MAKEMAKE.CMD for OS/2
*
* REXX script to make Makefile from Makefile.in in OS/2
*
* Usage:
* MAKEMAKE.CMD [/R] [ObjDir]
*
* /R: create Makefiles recursively in all subdirectories
* ObjDir: should correspond to the MOZ_OBJDIR parameter of
* your .mozconfig, if defined
*
*/
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs
PARSE ARG ObjDir;
if ObjDir = '' then do
Makelist.0 = 1;
Makelist.1 = 'Makefile.in';
ObjDir = '';
end
else do
Switch = SUBWORD(ObjDir, 1, 1);
ObjDir = SUBWORD(ObjDir, 2, 1);
if (Switch = '/r') | (Switch = '/R') then do
CALL SysFileTree 'Makefile.in', 'Makelist', 'FSO'
end /* do */
else do
Makelist.0 = 1;
Makelist.1 = 'Makefile.in';
ObjDir = Switch;
end /* do */
end
/*
* Check if ObjDir is correct
*/
CurDir = DIRECTORY();
if ObjDir \= '' then do
ObjDir = DIRECTORY(ObjDir);
if ObjDir = '' then
SIGNAL Usage
SAY 'ObjDir:' ObjDir
end /* if ObjDir */
/*
* Find TOPSRCDIR (usally x:/Mozilla)
*/
TopSrcDir = DIRECTORY(CurDir);
DO WHILE (TopSrcDir \= '') & (FILESPEC('name', TopSrcDir) \= 'mozilla')
TopSrcDir = DIRECTORY(..);
end /* do */
TopSrcDir = TRANSLATE(TopSrcDir, '/', '\');
n = LENGTH(TopSrcDir);
CALL DIRECTORY CurDir
/*
* Create Makefile
*/
'@ECHO OFF'
do i = 1 to Makelist.0
SAY Makelist.i
SrcDir = FILESPEC('path', Makelist.i);
Drive = FILESPEC('drive', Makelist.i);
SrcDir = STRIP(Drive||SrcDir,'T','\');
SrcDir = DIRECTORY(SrcDir);
ObjMake = 'Makefile';
if ObjDir \= '' then do
RelDir = SUBSTR(SrcDir, n+1);
ObjMake = ObjDir||RelDir'\Makefile';
CALL SysMkDir ObjDir||RelDir;
end /* do */
SAY ObjMake
SrcDir = TRANSLATE(SrcDir, '/', '\');
'sed.exe -e "s,@top_srcdir@,'TopSrcDir',g" -e "s,@srcdir@,'SrcDir',g" Makefile.in > 'ObjMake
SAY 'srcdir:' SrcDir
SAY 'topsrcdir:' TopSrcDir
SAY
end /* do 1 to Makelist.0 ... */
CALL DIRECTORY CurDir
EXIT 0;
Usage:
SAY 'Usage: MAKEMAKE.CMD [/R] [ObjDir]'
EXIT 1;