annotate nt/make-nt-depend @ 2834:172fb92bd156

[xemacs-hg @ 2005-06-28 11:32:13 by crestani] 2005-06-28 Marcus Crestani <crestani@xemacs.org> * gpmevent.c: Remove workaround. * gpmevent.c (Fgpm_enable): Use GET_DEFUN_LISP_OBJECT to get Lisp_Object of a built-in function. * gpmevent.c (syms_of_gpmevent): Remove workaround. * lisp.h (GET_DEFUN_LISP_OBJECT): New. Returns Lisp_Object of a DEFUN. * tooltalk.c (init_tooltalk): Use GET_DEFUN_LISP_OBJECT to get Lisp_Object of a built-in function.
author crestani
date Tue, 28 Jun 2005 11:32:15 +0000
parents 4542b72c005e
children 308d34e9f07d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
796
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
1 : #-*- Perl -*-
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
2
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
3 # Generate dependency info in a form acceptable to nmake
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
4 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
5 # Copyright (C) 2000, 2002 Jonathan Harris.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
6 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
7 # This file is part of XEmacs.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
8 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
9 # XEmacs is free software; you can redistribute it and/or modify it
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
10 # under the terms of the GNU General Public License as published by the
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
11 # Free Software Foundation; either version 2, or (at your option) any
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
12 # later version.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
13 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
14 # XEmacs is distributed in the hope that it will be useful, but WITHOUT
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
15 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
16 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
17 # for more details.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
18 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
19 # You should have received a copy of the GNU General Public License
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
20 # along with XEmacs; see the file COPYING. If not, write to
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
21 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
22 # Boston, MA 02111-1307, USA.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
23 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
24 # Author: Jonathan Harris <jonathan@xemacs.org>
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
25 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
26 # Synched up with: Not in FSF.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
27
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
28 use Getopt::Long;
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
29
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
30 my $optsok = GetOptions ('src=s' => \$src,
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
31 'config=s' => \$config,
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
32 'obj=s' => \$obj);
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
33
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
34 die "Generates nmake dependencies for the XEmacs src directory.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
35
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
36 Usage: $0 --src SRCDIR --config CONFIGDIR --obj OBJDIR
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
37
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
38 SRCDIR Location of XEmacs sources
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
39 CONFIGDIR Location of config.inc
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
40 OBJDIR Location for compiler-generated object files
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
41
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
42 Expects output from src/make-src-depend on stdin.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
43 The dependencies are written to stdout.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
44 " if (@ARGV || !$optsok
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
45 || !defined ($src) || !defined ($config) || !defined ($obj));
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
46
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
47 while (<>)
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
48 {
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 796
diff changeset
49 # must hack away CRLF junk. wouldn't it be nice if perl handled this
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 796
diff changeset
50 # right?? really can't be that hard!!!
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 796
diff changeset
51 s/\r\n/\n/g;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 796
diff changeset
52
796
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
53 # rewrite references to generating script
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
54 s/make-src-depend/make-nt-depend/;
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
55
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
56 # rewrite '#if defined(...)' into nmake syntax
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
57 s/^#if defined(.+)/!if defined$1/;
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
58
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
59 # rewrite '#else' and '#endif' into nmake syntax
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
60 s/^#e/!e/;
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
61
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
62 # add src path to source filenames
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
63 # allow for source filename being used in variable assignment
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
64 s/([\s=])([\w\d\.\-]+\.[ch])/$1$src\\$2/g;
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
65
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
66 # add obj path to object filenames
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
67 # rewrite .o to .obj
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1111
diff changeset
68 s/^(.+)\.o:(.+)/$obj\\$1.obj:$2/;
796
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
69
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1111
diff changeset
70 # add dependency on config.inc wherever config.h is.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1111
diff changeset
71 s/\\config.h/\\config.h $config\\config.inc/;
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 796
diff changeset
72 print;
796
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
73 }