Mercurial > emacs
annotate nt/nmake.defs @ 107984:bef5d1738c0b
Make variable forwarding explicit rather the using special values.
Basically, this makes the structure of buffer-local values and object
forwarding explicit in the type of Lisp_Symbols rather than use
special Lisp_Objects for that. This tends to lead to slightly more
verbose code, but is more C-like, simpler, and makes it easier to make
sure we handled all cases, among other things by letting the compiler
help us check it.
* lisp.h (enum Lisp_Misc_Type, union Lisp_Misc):
Removing forwarding objects.
(enum Lisp_Fwd_Type, enum symbol_redirect, union Lisp_Fwd): New types.
(struct Lisp_Symbol): Make the various forms of variable-forwarding
explicit rather than hiding them inside Lisp_Object "values".
(XFWDTYPE): New macro.
(XINTFWD, XBOOLFWD, XOBJFWD, XKBOARD_OBJFWD): Redefine.
(XBUFFER_LOCAL_VALUE): Remove.
(SYMBOL_VAL, SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL)
(SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD): New macros.
(SYMBOL_VALUE, SET_SYMBOL_VALUE): Remove.
(struct Lisp_Intfwd, struct Lisp_Boolfwd, struct Lisp_Objfwd)
(struct Lisp_Buffer_Objfwd, struct Lisp_Kboard_Objfwd):
Remove the Lisp_Misc_* header.
(struct Lisp_Buffer_Local_Value): Redefine.
(BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): New macros.
(struct Lisp_Misc_Any): Add filler to get the right size.
(struct Lisp_Free): Use struct Lisp_Misc_Any rather than struct
Lisp_Intfwd.
(DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
(DEFVAR_KBOARD): Allocate a forwarding object.
* data.c (do_blv_forwarding, store_blv_forwarding): New macros.
(let_shadows_global_binding_p): New function.
(union Lisp_Val_Fwd): New type.
(make_blv): New function.
(swap_in_symval_forwarding, indirect_variable, do_symval_forwarding)
(store_symval_forwarding, swap_in_global_binding, Fboundp)
(swap_in_symval_forwarding, find_symbol_value, Fset)
(let_shadows_buffer_binding_p, set_internal, default_value)
(Fset_default, Fmake_variable_buffer_local, Fmake_local_variable)
(Fkill_local_variable, Fmake_variable_frame_local)
(Flocal_variable_p, Flocal_variable_if_set_p)
(Fvariable_binding_locus):
* xdisp.c (select_frame_for_redisplay):
* lread.c (Fintern, Funintern, init_obarray, defvar_int)
(defvar_bool, defvar_lisp_nopro, defvar_lisp, defvar_kboard):
* frame.c (store_frame_param):
* eval.c (Fdefvaralias, Fuser_variable_p, specbind, unbind_to):
* bytecode.c (Fbyte_code) <varref, varset>: Adapt to the new symbol
value structure.
* buffer.c (PER_BUFFER_SYMBOL): Move from buffer.h.
(clone_per_buffer_values): Only adjust markers into the current buffer.
(reset_buffer_local_variables): PER_BUFFER_IDX is never -2.
(Fbuffer_local_value, set_buffer_internal_1)
(swap_out_buffer_local_variables):
Adapt to the new symbol value structure.
(DEFVAR_PER_BUFFER): Allocate a Lisp_Buffer_Objfwd object.
(defvar_per_buffer): Take a new arg for the fwd object.
(buffer_lisp_local_variables): Return a proper alist (different fix
for bug#4138).
* alloc.c (Fmake_symbol): Use SET_SYMBOL_VAL.
(Fgarbage_collect): Don't handle buffer_defaults specially.
(mark_object): Handle new symbol value structure rather than the old
special Lisp_Misc_* objects.
(gc_sweep) <symbols>: Free also the buffer-local-value objects.
* term.c (set_tty_color_mode):
* bidi.c (bidi_initialize): Don't access the ->value field directly.
* buffer.h (PER_BUFFER_VAR_OFFSET): Don't bother with
a buffer_local_flags.
* print.c (print_object): Get rid of impossible forwarding objects.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Mon, 19 Apr 2010 21:50:52 -0400 |
parents | 1d1d5d9bd884 |
children | a2184d0e089b 376148b31b5e |
rev | line source |
---|---|
55092
9077e3f7cd49
Add "-*- makefile -*-" mode tag.
Juanma Barranquero <lekktu@gmail.com>
parents:
53738
diff
changeset
|
1 # -*- Makefile -*- definition file for building GNU Emacs on Windows NT. |
94795
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
2 # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
106815 | 3 # 2008, 2009, 2010 Free Software Foundation, Inc. |
94795
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
4 |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
5 # This file is part of GNU Emacs. |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
6 |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
7 # GNU Emacs is free software: you can redistribute it and/or modify |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
8 # it under the terms of the GNU General Public License as published by |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
9 # the Free Software Foundation, either version 3 of the License, or |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
10 # (at your option) any later version. |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
11 |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
12 # GNU Emacs is distributed in the hope that it will be useful, |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
15 # GNU General Public License for more details. |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
16 |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
17 # You should have received a copy of the GNU General Public License |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
18 # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
188974bfdea0
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93592
diff
changeset
|
19 |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
20 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
21 # Ensure 'all' is the default target |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
22 all: |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
23 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
24 THE_SHELL = $(COMSPEC) |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
25 SHELLTYPE=CMD |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
26 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
27 MAKETYPE=nmake |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
28 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
29 CURDIR = $(MAKEDIR:\=/) |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
30 THISDIR = $(MAKEDIR) |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
31 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
32 ALL_DEPS = $** |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
33 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
34 SUBSYSTEM_WINDOWS=-subsystem:windows |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
35 SUBSYSTEM_CONSOLE=-subsystem:console |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
36 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
37 # INSTALL_DIR is the directory into which emacs will be installed. |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
38 # |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
39 !ifndef INSTALL_DIR |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
40 INSTALL_DIR = $(CURDIR)/.. |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
41 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
42 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
43 # Ensure EMACSLOADPATH is defined in the environment. |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
44 # |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
45 !if [set EMACSLOADPATH=foo] |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
46 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
47 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
48 # Allow detection of builds with MSVC 5 or later, so we can |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
49 # speed up compiles (see rule at end). |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
50 # |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
51 _NMAKE_VER_5=162 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
52 _NMAKE_VER_4=0 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
53 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
54 !IFNDEF _NMAKE_VER |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
55 _NMAKE_VER=$(_NMAKE_VER_4) |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
56 !ENDIF |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
57 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
58 # Check that the INCLUDE and LIB environment variables are set. |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
59 # |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
60 !ifndef INCLUDE |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
61 !error The INCLUDE environment variable needs to be set. |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
62 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
63 !ifndef LIB |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
64 !error The LIB environment variable needs to be set. |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
65 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
66 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
67 # Determine the architecture we're running on. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48375
diff
changeset
|
68 # Define ARCH for our purposes; |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
69 # Define CPU for use by ntwin32.mak; |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
70 # Define CONFIG_H to the appropriate config.h for the system; |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
71 # |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
72 !ifdef PROCESSOR_ARCHITECTURE |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
73 # We're on Windows NT |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
74 CPU = $(PROCESSOR_ARCHITECTURE) |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
75 CONFIG_H = config.nt |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
76 OS_TYPE = windowsnt |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
77 ! if "$(PROCESSOR_ARCHITECTURE)" == "x86" |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
78 ARCH = i386 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
79 CPU = i386 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
80 ! else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
81 ! if "$(PROCESSOR_ARCHITECTURE)" == "MIPS" |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
82 ARCH = mips |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
83 ! else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
84 ! if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA" |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
85 ARCH = alpha |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
86 ! else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
87 ! if "$(PROCESSOR_ARCHITECTURE)" == "PPC" |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
88 ARCH = ppc |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
89 ! else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
90 ! error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)" |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
91 ! endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
92 ! endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
93 ! endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
94 ! endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
95 !else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
96 # We're on Windows 95 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
97 ARCH = i386 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
98 CPU = i386 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
99 CONFIG_H = config.nt |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
100 OS_TYPE = windows95 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
101 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
102 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
103 AR = lib |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
104 AR_OUT = -out: |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
105 CC = cl |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
106 CC_OUT = -Fo |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
107 LINK = link |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
108 LINK_OUT = -out: |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
109 RC = rc |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
110 RC_OUT = -Fo |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
111 RC_INCLUDE = -i |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
112 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
113 libc = libc.lib |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48375
diff
changeset
|
114 baselibs = |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
115 O = obj |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
116 A = lib |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
117 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
118 BASE_LIBS = $(libc) $(baselibs) oldnames.lib |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
119 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
120 ADVAPI32 = advapi32.lib |
78900
3cfbdc2ce032
(COMCTL32): New system library.
Jason Rumney <jasonr@gnu.org>
parents:
78246
diff
changeset
|
121 COMCTL32 = comctl32.lib |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
122 COMDLG32 = comdlg32.lib |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
123 GDI32 = gdi32.lib |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
124 MPR = mpr.lib |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
125 SHELL32 = shell32.lib |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
126 USER32 = user32.lib |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
127 WSOCK32 = wsock32.lib |
78103
2243cbff72b1
(OLE32): New library to link.
Jason Rumney <jasonr@gnu.org>
parents:
75348
diff
changeset
|
128 WINMM = winmm.lib |
53738
db94fc6b4b22
gmake.defs, nmake.defs: Add linking to ``winspool.lib''.
Jason Rumney <jasonr@gnu.org>
parents:
52414
diff
changeset
|
129 WINSPOOL = winspool.lib |
78103
2243cbff72b1
(OLE32): New library to link.
Jason Rumney <jasonr@gnu.org>
parents:
75348
diff
changeset
|
130 OLE32 = ole32.lib |
93592 | 131 UNISCRIBE = usp10.lib |
101211
95db9e30a333
(UUID): New library for COM/OLE lookups.
Jason Rumney <jasonr@gnu.org>
parents:
100954
diff
changeset
|
132 UUID = uuid.lib |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
133 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
134 !ifdef NOOPT |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
135 DEBUG_CFLAGS = -DEMACSDEBUG |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
136 !else |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48375
diff
changeset
|
137 DEBUG_CFLAGS = |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
138 !endif |
96348
ecd6143014da
Remove unneeded -Defines in the compiler command line (MinGW and MSVC).
Juanma Barranquero <lekktu@gmail.com>
parents:
94795
diff
changeset
|
139 CFLAGS = -I. $(ARCH_CFLAGS) \ |
92476
61be4b6febb2
(FONT_CFLAGS): New optional compiler flag.
Jason Rumney <jasonr@gnu.org>
parents:
79730
diff
changeset
|
140 $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS) |
96348
ecd6143014da
Remove unneeded -Defines in the compiler command line (MinGW and MSVC).
Juanma Barranquero <lekktu@gmail.com>
parents:
94795
diff
changeset
|
141 EMACS_EXTRA_C_FLAGS = |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
142 |
55339
1bfdadb27615
Remove files related to old msvc only windows build.
Jason Rumney <jasonr@gnu.org>
parents:
55092
diff
changeset
|
143 SYS_LDFLAGS = -nologo -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net setargv.obj |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
144 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
145 # see comments in allocate_heap in w32heap.c before changing any of the |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
146 # -stack, -heap, or -base settings. |
74959
fd8d04432f19
(TEMACS_EXTRA_LINK): Remove duplicated flags from DEBUG_LINK.
Jason Rumney <jasonr@gnu.org>
parents:
74799
diff
changeset
|
147 TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -pdb:$(BLD)\temacs.pdb -machine:$(ARCH) $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK) |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
148 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
149 !ifdef NOOPT |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
150 OBJDIR = obj |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
151 !else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
152 OBJDIR = obj-spd |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
153 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
154 $(OBJDIR):; -mkdir $(OBJDIR) |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
155 BLD = $(OBJDIR)/$(ARCH) |
74799
e858b15de8f3
(stamp_BLD): Rename from $(BLD). Create a file stamp_BLD after creating
Eli Zaretskii <eliz@gnu.org>
parents:
68648
diff
changeset
|
156 stamp_BLD: $(OBJDIR) |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
157 -mkdir "$(BLD)" |
74799
e858b15de8f3
(stamp_BLD): Rename from $(BLD). Create a file stamp_BLD after creating
Eli Zaretskii <eliz@gnu.org>
parents:
68648
diff
changeset
|
158 echo $(BLD) > $@ |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
159 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
160 COMPILER_TEMP_FILES = *.pdb |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
161 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
162 CP = cp -f |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
163 CP_DIR = cp -rf |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
164 IFNOTSAMEDIR = if not exist ..\same-dir.tst |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
165 ENDIF = |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
166 FOREACH = for %%f in ( |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
167 FORVAR = %%f |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
168 FORDO = ) do |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
169 ENDFOR = |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
170 ARGQUOTE = " |
55932
68f52ab81acb
Add quote in comment to resync font-locking.
Juanma Barranquero <lekktu@gmail.com>
parents:
55339
diff
changeset
|
171 # " |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
172 DQUOTE = \" |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
173 DEL = rm |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
174 DEL_TREE = rm -r |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
175 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
176 !ifdef NODEBUG |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48375
diff
changeset
|
177 DEBUG_FLAG = |
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48375
diff
changeset
|
178 DEBUG_LINK = |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
179 !else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
180 DEBUG_FLAG = -Zi |
74959
fd8d04432f19
(TEMACS_EXTRA_LINK): Remove duplicated flags from DEBUG_LINK.
Jason Rumney <jasonr@gnu.org>
parents:
74799
diff
changeset
|
181 DEBUG_LINK = -debug:full |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
182 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
183 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
184 !if "$(ARCH)" == "i386" |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
185 !ifdef NOOPT |
96348
ecd6143014da
Remove unneeded -Defines in the compiler command line (MinGW and MSVC).
Juanma Barranquero <lekktu@gmail.com>
parents:
94795
diff
changeset
|
186 ARCH_CFLAGS = -nologo -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG) |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
187 !else |
96348
ecd6143014da
Remove unneeded -Defines in the compiler command line (MinGW and MSVC).
Juanma Barranquero <lekktu@gmail.com>
parents:
94795
diff
changeset
|
188 ARCH_CFLAGS = -nologo -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG) |
37382
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
189 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
190 ARCH_LDFLAGS = $(SYS_LDFLAGS) |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
191 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
192 !else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
193 !if "$(ARCH)" == "mips" |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
194 ARCH_CFLAGS = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
195 ARCH_LDFLAGS = $(SYS_LDFLAGS) |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
196 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
197 !else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
198 !if "$(ARCH)" == "alpha" |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
199 !if "$(BUILD_TYPE)" == "spd" |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
200 ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl= |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
201 !else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
202 ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl= |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
203 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
204 ARCH_LDFLAGS = $(SYS_LDFLAGS) |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
205 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
206 !else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
207 !if "$(ARCH)" == "ppc" |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
208 # These flags are a guess...if they don't work, please send me mail. |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
209 ARCH_CFLAGS = -D_PPC_=1 -c -Ze -Zi -W2 -Od |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
210 ARCH_LDFLAGS = $(SYS_LDFLAGS) |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
211 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
212 !else |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
213 !ERROR Unknown architecture type "$(ARCH)". |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
214 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
215 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
216 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
217 !endif |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
218 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
219 LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(USER_LDFLAGS) |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
220 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
221 # From MSVC 5.0 onwards, it seem base relocation information is not included, |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
222 # at least in release builds. We need to ensure the reloc info is included |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
223 # in order to use the MSVC profiler. |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
224 !IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)") |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
225 EXTRA_LINK = |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
226 !ELSE |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
227 EXTRA_LINK = -profile |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
228 !ENDIF |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
229 |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
230 # |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
231 # If the compiler supports compiling multiple .c files to .o files at |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
232 # one time, use this feature. |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
233 # |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
234 !IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)") |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
235 .c{$(BLD)}.obj: |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
236 $(CC) $(CFLAGS) -Fo$(BLD)\ $< |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
237 !ELSE |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
238 .c{$(BLD)}.obj:: |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
239 $(CC) $(CFLAGS) -Fo$(BLD)\ $< |
3e0214f03d95
(EMACSLOADPATH): Ensure EMACSLOADPATH is defined in
Andrew Innes <andrewi@gnu.org>
parents:
36859
diff
changeset
|
240 !ENDIF |
52414
93ce5f375b46
Fix some DOS line-ending inconsistencies introduced with arch-tag:
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
241 |
93ce5f375b46
Fix some DOS line-ending inconsistencies introduced with arch-tag:
Miles Bader <miles@gnu.org>
parents:
52401
diff
changeset
|
242 # arch-tag: fefa49b0-c23c-46c7-9094-cab2a405058e |