aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeoff Voelker1997-09-03 00:41:32 +0000
committerGeoff Voelker1997-09-03 00:41:32 +0000
commit17fa2f54c036f2ca09ba2ebbc2809d0066acec86 (patch)
treeee891afc59d92cae2d89556e8dffb622645fe3e1
parentf21ef775e245772edb96b2f0cb21372b1bcff0bc (diff)
downloademacs-17fa2f54c036f2ca09ba2ebbc2809d0066acec86.tar.gz
emacs-17fa2f54c036f2ca09ba2ebbc2809d0066acec86.zip
makefile.nt (TLIB0, TOBJ, OBJ0): New macro.
(LINK_FLAGS): Separate debugging info from the executable. (LIBS): Include TLIB0. (TEMACS): Link with TLIB0. (EMACS): Copy temacs map file to emacs map file. Update file dependencies.
-rw-r--r--src/makefile.nt55
1 files changed, 49 insertions, 6 deletions
diff --git a/src/makefile.nt b/src/makefile.nt
index 9ffd18d97ae..7abd0ebb9ac 100644
--- a/src/makefile.nt
+++ b/src/makefile.nt
@@ -36,6 +36,7 @@ LOCAL_FLAGS = -Demacs=1 -DWINDOWSNT -DDOS_NT -DHAVE_CONFIG_H -I..\nt\inc
36 36
37EMACS = $(BLD)\emacs.exe 37EMACS = $(BLD)\emacs.exe
38TEMACS = $(BLD)\temacs.exe 38TEMACS = $(BLD)\temacs.exe
39TLIB0 = $(BLD)\temacs0.lib
39TLIB1 = $(BLD)\temacs1.lib 40TLIB1 = $(BLD)\temacs1.lib
40TLIB2 = $(BLD)\temacs2.lib 41TLIB2 = $(BLD)\temacs2.lib
41!IFDEF NTGUI 42!IFDEF NTGUI
@@ -43,7 +44,7 @@ TLIBW32 = $(BLD)\temacw32.lib
43!ELSE 44!ELSE
44TLIBW32 = 45TLIBW32 =
45!ENDIF 46!ENDIF
46TOBJ = $(BLD)\emacs.obj 47TOBJ = $(BLD)\firstfile.obj
47!if $(MSVCNT11) 48!if $(MSVCNT11)
48TRES = $(BLD)\emacs.res 49TRES = $(BLD)\emacs.res
49!else 50!else
@@ -53,12 +54,17 @@ TLASTLIB = $(BLD)\lastfile.lib
53 54
54# see comments in allocate_heap in w32heap.c before changing any of the 55# see comments in allocate_heap in w32heap.c before changing any of the
55# -stack, -heap, or -base settings. 56# -stack, -heap, or -base settings.
56LINK_FLAGS = $(ARCH_LDFLAGS) -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -debug:full -debugtype:cv -machine:$(ARCH) -subsystem:$(SUBSYSTEM) -entry:_start -map:$(BLD)\temacs.map 57LINK_FLAGS = $(ARCH_LDFLAGS) -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -debug:full -pdb:$(BLD)\temacs.pdb -machine:$(ARCH) -subsystem:$(SUBSYSTEM) -entry:_start -map:$(BLD)\temacs.map
57 58
58# 59#
59# Split up the objects into two sets so that we don't run out of 60# Split up the objects into two sets so that we don't run out of
60# command line space when we link them into a library. 61# command line space when we link them into a library.
61# 62#
63# Put emacs.obj in a separate lib, since we need to have firstfile.obj
64# as the "main" object file when linking.
65#
66OBJ0 = $(BLD)\emacs.obj
67
62OBJ1 = $(BLD)\abbrev.obj \ 68OBJ1 = $(BLD)\abbrev.obj \
63 $(BLD)\alloc.obj \ 69 $(BLD)\alloc.obj \
64 $(BLD)\alloca.obj \ 70 $(BLD)\alloca.obj \
@@ -133,7 +139,8 @@ WIN32OBJ = $(BLD)\w32term.obj \
133 $(BLD)\w32menu.obj \ 139 $(BLD)\w32menu.obj \
134 $(BLD)\w32reg.obj 140 $(BLD)\w32reg.obj
135 141
136LIBS = $(TLIB1) \ 142LIBS = $(TLIB0) \
143 $(TLIB1) \
137 $(TLIB2) \ 144 $(TLIB2) \
138!IFDEF NTGUI 145!IFDEF NTGUI
139 $(TLIBW32) \ 146 $(TLIBW32) \
@@ -179,13 +186,14 @@ emacs: $(EMACS)
179$(EMACS): $(PREPARED_HEADERS) $(DOC) $(TEMACS) 186$(EMACS): $(PREPARED_HEADERS) $(DOC) $(TEMACS)
180 cd $(BLD) 187 cd $(BLD)
181 temacs.exe -batch -l loadup dump 188 temacs.exe -batch -l loadup dump
189 copy temacs.map emacs.map
182 cd ..\.. 190 cd ..\..
183 191
184# 192#
185# The undumped executable 193# The undumped executable
186# 194#
187temacs: $(BLD) $(TEMACS) 195temacs: $(BLD) $(TEMACS)
188$(TEMACS): $(TLIB1) $(TLIB2) $(TLIBW32) $(TLASTLIB) $(TOBJ) $(TRES) 196$(TEMACS): $(TLIB0) $(TLIB1) $(TLIB2) $(TLIBW32) $(TLASTLIB) $(TOBJ) $(TRES)
189 $(LINK) -out:$(TEMACS) $(LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS) 197 $(LINK) -out:$(TEMACS) $(LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS)
190 198
191# 199#
@@ -202,6 +210,8 @@ $(TRES): ..\nt\emacs.rc
202# Build the library. Split up the build into two phases...otherwise we 210# Build the library. Split up the build into two phases...otherwise we
203# run out of command line space. 211# run out of command line space.
204# 212#
213$(TLIB0): $(OBJ0)
214 @- $(AR) -out:$@ $**
205$(TLIB1): $(OBJ1) 215$(TLIB1): $(OBJ1)
206 @- $(AR) -out:$@ $** 216 @- $(AR) -out:$@ $**
207$(TLIB2): $(OBJ2) 217$(TLIB2): $(OBJ2)
@@ -306,12 +316,18 @@ $(BLD)\buffer.obj : \
306 316
307$(BLD)\bytecode.obj : \ 317$(BLD)\bytecode.obj : \
308 $(SRC)\bytecode.c \ 318 $(SRC)\bytecode.c \
319 $(EMACS_ROOT)\src\s\ms-w32.h \
320 $(EMACS_ROOT)\src\m\intel386.h \
321 $(EMACS_ROOT)\src\config.h \
309 $(SRC)\lisp.h \ 322 $(SRC)\lisp.h \
310 $(SRC)\buffer.h \ 323 $(SRC)\buffer.h \
311 $(SRC)\syntax.h 324 $(SRC)\syntax.h
312 325
313$(BLD)\callint.obj : \ 326$(BLD)\callint.obj : \
314 $(SRC)\callint.c \ 327 $(SRC)\callint.c \
328 $(EMACS_ROOT)\src\s\ms-w32.h \
329 $(EMACS_ROOT)\src\m\intel386.h \
330 $(EMACS_ROOT)\src\config.h \
315 $(SRC)\lisp.h \ 331 $(SRC)\lisp.h \
316 $(SRC)\buffer.h \ 332 $(SRC)\buffer.h \
317 $(SRC)\commands.h \ 333 $(SRC)\commands.h \
@@ -534,6 +550,12 @@ $(BLD)\filemode.obj : \
534 $(SRC)\m\intel386.h \ 550 $(SRC)\m\intel386.h \
535 $(SRC)\config.h 551 $(SRC)\config.h
536 552
553$(BLD)\firstfile.obj : \
554 $(SRC)\firstfile.c \
555 $(EMACS_ROOT)\src\s\ms-w32.h \
556 $(EMACS_ROOT)\src\m\intel386.h \
557 $(EMACS_ROOT)\src\config.h
558
537$(BLD)\floatfns.obj : \ 559$(BLD)\floatfns.obj : \
538 $(SRC)\floatfns.c \ 560 $(SRC)\floatfns.c \
539 $(EMACS_ROOT)\src\s\ms-w32.h \ 561 $(EMACS_ROOT)\src\s\ms-w32.h \
@@ -677,7 +699,10 @@ $(BLD)\keymap.obj : \
677 $(SRC)\blockinput.h 699 $(SRC)\blockinput.h
678 700
679$(BLD)\lastfile.obj : \ 701$(BLD)\lastfile.obj : \
680 $(SRC)\lastfile.c 702 $(SRC)\lastfile.c \
703 $(EMACS_ROOT)\src\s\ms-w32.h \
704 $(EMACS_ROOT)\src\m\intel386.h \
705 $(EMACS_ROOT)\src\config.h
681 706
682$(BLD)\lread.obj : \ 707$(BLD)\lread.obj : \
683 $(SRC)\lread.c \ 708 $(SRC)\lread.c \
@@ -745,7 +770,10 @@ $(BLD)\w32.obj : \
745 770
746$(BLD)\w32heap.obj : \ 771$(BLD)\w32heap.obj : \
747 $(SRC)\w32heap.c \ 772 $(SRC)\w32heap.c \
748 $(SRC)\w32heap.h 773 $(SRC)\w32heap.h \
774 $(SRC)\s\ms-w32.h \
775 $(SRC)\m\intel386.h \
776 $(SRC)\config.h
749 777
750$(BLD)\w32inevt.obj : \ 778$(BLD)\w32inevt.obj : \
751 $(SRC)\w32inevt.c \ 779 $(SRC)\w32inevt.c \
@@ -764,6 +792,7 @@ $(BLD)\w32proc.obj : \
764 $(SRC)\config.h \ 792 $(SRC)\config.h \
765 $(SRC)\lisp.h \ 793 $(SRC)\lisp.h \
766 $(SRC)\w32.h \ 794 $(SRC)\w32.h \
795 $(SRC)\w32heap.h \
767 $(SRC)\vmstime.h \ 796 $(SRC)\vmstime.h \
768 $(SRC)\systime.h 797 $(SRC)\systime.h
769 798
@@ -986,6 +1015,9 @@ $(BLD)\undo.obj : \
986 1015
987$(BLD)\unexw32.obj : \ 1016$(BLD)\unexw32.obj : \
988 $(SRC)\unexw32.c \ 1017 $(SRC)\unexw32.c \
1018 $(EMACS_ROOT)\src\s\ms-w32.h \
1019 $(EMACS_ROOT)\src\m\intel386.h \
1020 $(EMACS_ROOT)\src\config.h \
989 $(SRC)\w32heap.h 1021 $(SRC)\w32heap.h
990 1022
991$(BLD)\vm-limit.obj : \ 1023$(BLD)\vm-limit.obj : \
@@ -1130,3 +1162,14 @@ $(BLD)\w32reg.obj: \
1130 $(SRC)\w32term.h \ 1162 $(SRC)\w32term.h \
1131 $(SRC)\w32gui.h \ 1163 $(SRC)\w32gui.h \
1132 $(SRC)\blockinput.h 1164 $(SRC)\blockinput.h
1165
1166$(BLD)\w32xfns.obj: \
1167 $(EMACS_ROOT)\src\s\ms-w32.h \
1168 $(EMACS_ROOT)\src\m\intel386.h \
1169 $(EMACS_ROOT)\src\config.h \
1170 $(SRC)\w32xfns.c \
1171 $(SRC)\lisp.h \
1172 $(SRC)\w32term.h \
1173 $(SRC)\w32.h \
1174 $(SRC)\frame.h \
1175 $(SRC)\blockinput.h