Mercurial > hg > xemacs-beta
annotate nt/make-nt-depend @ 5482:384423af8fb5 first-gplv3 r21-5-31
Update CHANGES-beta.
author | Stephen J. Turnbull <stephen@xemacs.org> |
---|---|
date | Sat, 30 Apr 2011 12:50:14 +0900 |
parents | 308d34e9f07d |
children |
rev | line source |
---|---|
796 | 1 : #-*- Perl -*- |
2 | |
3 # Generate dependency info in a form acceptable to nmake | |
4 # | |
5 # Copyright (C) 2000, 2002 Jonathan Harris. | |
6 # | |
7 # This file is part of XEmacs. | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
1330
diff
changeset
|
8 # |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
1330
diff
changeset
|
9 # XEmacs is free software: you can redistribute it and/or modify it |
796 | 10 # under the terms of the GNU General Public License as published by the |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
1330
diff
changeset
|
11 # Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
1330
diff
changeset
|
12 # option) any later version. |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
1330
diff
changeset
|
13 # |
796 | 14 # XEmacs is distributed in the hope that it will be useful, but WITHOUT |
15 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
16 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
17 # for more details. | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
1330
diff
changeset
|
18 # |
796 | 19 # You should have received a copy of the GNU General Public License |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
1330
diff
changeset
|
20 # along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
796 | 21 # |
22 # Author: Jonathan Harris <jonathan@xemacs.org> | |
23 # | |
24 # Synched up with: Not in FSF. | |
25 | |
26 use Getopt::Long; | |
27 | |
28 my $optsok = GetOptions ('src=s' => \$src, | |
29 'config=s' => \$config, | |
30 'obj=s' => \$obj); | |
31 | |
32 die "Generates nmake dependencies for the XEmacs src directory. | |
33 | |
34 Usage: $0 --src SRCDIR --config CONFIGDIR --obj OBJDIR | |
35 | |
36 SRCDIR Location of XEmacs sources | |
37 CONFIGDIR Location of config.inc | |
38 OBJDIR Location for compiler-generated object files | |
39 | |
40 Expects output from src/make-src-depend on stdin. | |
41 The dependencies are written to stdout. | |
42 " if (@ARGV || !$optsok | |
43 || !defined ($src) || !defined ($config) || !defined ($obj)); | |
44 | |
45 while (<>) | |
46 { | |
1111 | 47 # must hack away CRLF junk. wouldn't it be nice if perl handled this |
48 # right?? really can't be that hard!!! | |
49 s/\r\n/\n/g; | |
50 | |
796 | 51 # rewrite references to generating script |
52 s/make-src-depend/make-nt-depend/; | |
53 | |
54 # rewrite '#if defined(...)' into nmake syntax | |
55 s/^#if defined(.+)/!if defined$1/; | |
56 | |
57 # rewrite '#else' and '#endif' into nmake syntax | |
58 s/^#e/!e/; | |
59 | |
60 # add src path to source filenames | |
61 # allow for source filename being used in variable assignment | |
62 s/([\s=])([\w\d\.\-]+\.[ch])/$1$src\\$2/g; | |
63 | |
64 # add obj path to object filenames | |
65 # rewrite .o to .obj | |
1330 | 66 s/^(.+)\.o:(.+)/$obj\\$1.obj:$2/; |
796 | 67 |
1330 | 68 # add dependency on config.inc wherever config.h is. |
69 s/\\config.h/\\config.h $config\\config.inc/; | |
1111 | 70 print; |
796 | 71 } |