Mercurial > emacs
annotate nt/makefile.nt @ 20704:10eb136ca94b
(skip_chars): Use unibyte_char_to_multibyte,
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 21 Jan 1998 22:02:05 +0000 |
parents | b51bc33594a4 |
children | 9d378aaf7cd3 |
rev | line source |
---|---|
11766 | 1 # |
2 # Top level makefile for building GNU Emacs on Windows NT | |
3 # | |
4 # This file is part of GNU Emacs. | |
5 # | |
6 # GNU Emacs is free software; you can redistribute it and/or modify | |
7 # it under the terms of the GNU General Public License as published by | |
8 # the Free Software Foundation; either version 2, or (at your option) | |
9 # any later version. | |
10 # | |
11 # GNU Emacs is distributed in the hope that it will be useful, | |
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 # GNU General Public License for more details. | |
15 # | |
16 # You should have received a copy of the GNU General Public License | |
17 # along with GNU Emacs; see the file COPYING. If not, write to | |
14185
aba3b91c8b3d
Update FSF's ddress in preamble
Erik Naggum <erik@naggum.no>
parents:
13630
diff
changeset
|
18 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
aba3b91c8b3d
Update FSF's ddress in preamble
Erik Naggum <erik@naggum.no>
parents:
13630
diff
changeset
|
19 # Boston, MA 02111-1307, USA. |
11766 | 20 # |
21 # Geoff Voelker (voelker@cs.washington.edu) 11-20-93 | |
22 # 9-6-94 | |
23 !include makefile.def | |
24 | |
19398
7ef1d548462a
(ALL): Build cmdproxy.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16827
diff
changeset
|
25 ALL = $(BLD)\addpm.exe $(BLD)\runemacs.exe $(BLD)\cmdproxy.exe |
15133
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
26 !if $(MSVCNT11) |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
27 TRES = $(BLD)\emacs.res |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
28 !else |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
29 TRES = $(BLD)\emacs.rbj |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
30 !endif |
12179
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
31 |
12236
791ee9839187
Define .c to .obj suffix rule.
Richard M. Stallman <rms@gnu.org>
parents:
12217
diff
changeset
|
32 .c{$(BLD)}.obj: |
791ee9839187
Define .c to .obj suffix rule.
Richard M. Stallman <rms@gnu.org>
parents:
12217
diff
changeset
|
33 $(CC) $(CFLAGS) -Fo$@ $< |
791ee9839187
Define .c to .obj suffix rule.
Richard M. Stallman <rms@gnu.org>
parents:
12217
diff
changeset
|
34 |
12179
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
35 addpm: $(BLD) $(BLD)\addpm.exe |
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
36 $(BLD)\addpm.obj: addpm.c |
12236
791ee9839187
Define .c to .obj suffix rule.
Richard M. Stallman <rms@gnu.org>
parents:
12217
diff
changeset
|
37 $(BLD)\addpm.exe: $(BLD)\addpm.obj |
12322
5b3931c846b1
(addpm.exe): Change WinMainCRTStartup to mainCRTStartup.
Richard M. Stallman <rms@gnu.org>
parents:
12236
diff
changeset
|
38 $(LINK) -out:$@ -subsystem:console -entry:mainCRTStartup \ |
13435
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
39 $(SYS_LDFLAGS) $** $(BASE_LIBS) $(ADVAPI32) user32.lib |
12179
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
40 |
19398
7ef1d548462a
(ALL): Build cmdproxy.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16827
diff
changeset
|
41 cmdproxy: $(BLD) $(BLD)\cmdproxy.exe |
7ef1d548462a
(ALL): Build cmdproxy.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16827
diff
changeset
|
42 $(BLD)\cmdproxy.obj: cmdproxy.c |
7ef1d548462a
(ALL): Build cmdproxy.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16827
diff
changeset
|
43 $(BLD)\cmdproxy.exe: $(BLD)\cmdproxy.obj |
7ef1d548462a
(ALL): Build cmdproxy.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16827
diff
changeset
|
44 $(LINK) -out:$@ -subsystem:console -entry:mainCRTStartup \ |
7ef1d548462a
(ALL): Build cmdproxy.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16827
diff
changeset
|
45 $(SYS_LDFLAGS) $** $(BASE_LIBS) user32.lib |
7ef1d548462a
(ALL): Build cmdproxy.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16827
diff
changeset
|
46 |
15133
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
47 # |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
48 # The resource file. NT 3.10 requires the use of cvtres; even though |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
49 # it is not necessary on later versions, it is still ok to use it. |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
50 # |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
51 $(TRES): emacs.rc |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
52 $(RC) -Fo$(BLD)\emacs.res $** |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
53 !if !$(MSVCNT11) |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
54 $(CVTRES) -r -$(ARCH) -o $@ $(BLD)\emacs.res |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
55 !endif |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
56 |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
57 runemacs: $(BLD) $(BLD)\runemacs.exe |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
58 $(BLD)\runemacs.obj: runemacs.c |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
59 $(BLD)\runemacs.exe: $(BLD)\runemacs.obj $(TRES) |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
60 $(LINK) -out:$@ -subsystem:windows -entry:WinMainCRTStartup \ |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
61 $(SYS_LDFLAGS) $** $(BASE_LIBS) $(ADVAPI32) user32.lib |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
62 |
11938 | 63 # Since Windows 95 does not support multiple commands on one command line |
64 # (e.g., in for loops), we cannot use for loops any more. | |
65 # SUBDIRS = lib-src src lisp | |
11766 | 66 |
67 # | |
68 # Build emacs | |
69 # | |
11938 | 70 BUILD_CMD = $(MAKE) -f makefile.nt all |
12179
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
71 all: $(BLD) $(ALL) |
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
72 cd ..\lib-src |
11938 | 73 $(BUILD_CMD) |
74 cd ..\src | |
75 $(BUILD_CMD) | |
76 cd ..\lisp | |
77 $(BUILD_CMD) | |
78 cd ..\nt | |
79 | |
11766 | 80 |
12179
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
81 emacs.bat: emacs.bat.in |
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
82 echo @echo off > emacs.bat |
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
83 echo REM !!! Warning: This file automatically generated !!! >> emacs.bat |
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
84 echo set emacs_dir=$(INSTALL_DIR)>> emacs.bat |
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
85 type emacs.bat.in >> emacs.bat |
3b0a6bb0ca8c
(ALL,addpm,addpm.exe,addpm.obj): Defined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
11938
diff
changeset
|
86 |
19867
b51bc33594a4
(debug.bat): New target.
Geoff Voelker <voelker@cs.washington.edu>
parents:
19398
diff
changeset
|
87 debug.bat: debug.bat.in |
b51bc33594a4
(debug.bat): New target.
Geoff Voelker <voelker@cs.washington.edu>
parents:
19398
diff
changeset
|
88 echo @echo off > debug.bat |
b51bc33594a4
(debug.bat): New target.
Geoff Voelker <voelker@cs.washington.edu>
parents:
19398
diff
changeset
|
89 echo REM !!! Warning: This file automatically generated !!! >> debug.bat |
b51bc33594a4
(debug.bat): New target.
Geoff Voelker <voelker@cs.washington.edu>
parents:
19398
diff
changeset
|
90 echo set emacs_dir=$(INSTALL_DIR)>> debug.bat |
b51bc33594a4
(debug.bat): New target.
Geoff Voelker <voelker@cs.washington.edu>
parents:
19398
diff
changeset
|
91 type debug.bat.in >> debug.bat |
b51bc33594a4
(debug.bat): New target.
Geoff Voelker <voelker@cs.washington.edu>
parents:
19398
diff
changeset
|
92 |
11766 | 93 # |
94 # Build and install emacs in INSTALL_DIR | |
95 # | |
11938 | 96 INSTALL_CMD = $(MAKE) -f makefile.nt install |
19867
b51bc33594a4
(debug.bat): New target.
Geoff Voelker <voelker@cs.washington.edu>
parents:
19398
diff
changeset
|
97 install: all emacs.bat debug.bat |
11766 | 98 - mkdir $(INSTALL_DIR) |
11938 | 99 cd ..\lib-src |
100 $(INSTALL_CMD) | |
101 cd ..\src | |
102 $(INSTALL_CMD) | |
103 cd ..\lisp | |
104 $(INSTALL_CMD) | |
105 cd ..\nt | |
11766 | 106 - $(CP) emacs.bat $(INSTALL_DIR)\bin |
19867
b51bc33594a4
(debug.bat): New target.
Geoff Voelker <voelker@cs.washington.edu>
parents:
19398
diff
changeset
|
107 - $(CP) debug.bat $(INSTALL_DIR)\bin |
15133
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
108 - $(CP) $(BLD)\addpm.exe $(INSTALL_DIR)\bin |
19398
7ef1d548462a
(ALL): Build cmdproxy.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16827
diff
changeset
|
109 - $(CP) $(BLD)\cmdproxy.exe $(INSTALL_DIR)\bin |
15133
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
110 - $(CP) $(BLD)\runemacs.exe $(INSTALL_DIR)\bin |
13435
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
111 - $(ADDPM) $(INSTALL_DIR) |
14899
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
112 - $(DEL) ..\same-dir.tst |
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
113 - $(DEL) $(INSTALL_DIR)\same-dir.tst |
13435
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
114 echo SameDirTest > $(INSTALL_DIR)\same-dir.tst |
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
115 if not exist ..\same-dir.tst $(MAKE) -f makefile.nt real_install |
14899
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
116 - $(DEL) ..\same-dir.tst |
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
117 - $(DEL) $(INSTALL_DIR)\same-dir.tst |
11766 | 118 |
119 # | |
120 # This installs executables from ..\bin into the installation directory | |
121 # without building anything. | |
122 # | |
123 fast_install: | |
124 - mkdir $(INSTALL_DIR)\data | |
125 $(CP) ..\lib-src\DOC $(INSTALL_DIR)\etc | |
126 - mkdir $(INSTALL_DIR)\bin | |
127 - $(CP) emacs.bat $(INSTALL_DIR)\bin | |
19867
b51bc33594a4
(debug.bat): New target.
Geoff Voelker <voelker@cs.washington.edu>
parents:
19398
diff
changeset
|
128 - $(CP) debug.bat $(INSTALL_DIR)\bin |
15133
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
129 - $(CP) $(BLD)\addpm.exe $(INSTALL_DIR)\bin |
dddda397bca0
Build and install runemacs.exe.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14899
diff
changeset
|
130 - $(CP) $(BLD)\runemacs.exe $(INSTALL_DIR)\bin |
14899
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
131 - $(DEL) ..\same-dir.tst |
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
132 - $(DEL) $(INSTALL_DIR)\same-dir.tst |
13435
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
133 echo SameDirTest > $(INSTALL_DIR)\same-dir.tst |
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
134 if not exist ..\same-dir.tst $(CP) ..\bin\emacs.exe $(INSTALL_DIR)\bin |
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
135 if not exist ..\same-dir.tst $(CP) ..\bin\etags.exe $(INSTALL_DIR)\bin |
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
136 if not exist ..\same-dir.tst $(CP) ..\bin\ctags.exe $(INSTALL_DIR)\bin |
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
137 if not exist ..\same-dir.tst nmake -f $(MAKE) real_install |
14899
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
138 - $(DEL) ..\same-dir.tst |
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
139 - $(DEL) $(INSTALL_DIR)\same-dir.tst |
11766 | 140 |
141 real_install: | |
14899
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
142 - $(DEL) ..\same-dir.tst |
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
143 - $(DEL) $(INSTALL_DIR)\same-dir.tst |
13435
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
144 echo SameDirTest > $(INSTALL_DIR)\same-dir.tst |
11766 | 145 - mkdir $(INSTALL_DIR)\etc |
146 - mkdir $(INSTALL_DIR)\info | |
147 - mkdir $(INSTALL_DIR)\lock | |
148 - mkdir $(INSTALL_DIR)\data | |
16827
6f4bc15744a4
(real_install): Create site-lisp in installation dir.
Geoff Voelker <voelker@cs.washington.edu>
parents:
15722
diff
changeset
|
149 - mkdir $(INSTALL_DIR)\site-lisp |
13435
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
150 if not exist ..\same-dir.tst $(CP_DIR) ..\etc $(INSTALL_DIR)\etc |
02308cb19c55
(addpm.exe): Link with $(ADVAPI32).
Geoff Voelker <voelker@cs.washington.edu>
parents:
12322
diff
changeset
|
151 if not exist ..\same-dir.tst $(CP_DIR) ..\info $(INSTALL_DIR)\info |
14899
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
152 - $(DEL) ..\same-dir.tst |
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
153 - $(DEL) $(INSTALL_DIR)\same-dir.tst |
11766 | 154 |
155 # | |
156 # Maintenance | |
157 # | |
11938 | 158 CLEAN_CMD = $(MAKE) -f makefile.nt clean |
14899
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
159 clean:; - $(DEL) *~ *.pdb |
11766 | 160 - $(DEL_TREE) deleted |
15722 | 161 - $(DEL_TREE) $(OBJDIR) |
11766 | 162 - $(DEL_TREE) ..\bin |
14899
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
163 - $(DEL) ..\etc\DOC ..\etc\DOC-X |
4b7b8a937a5d
Change uses of del to $(DEL).
Geoff Voelker <voelker@cs.washington.edu>
parents:
14185
diff
changeset
|
164 - $(DEL) emacs.bat |
19867
b51bc33594a4
(debug.bat): New target.
Geoff Voelker <voelker@cs.washington.edu>
parents:
19398
diff
changeset
|
165 - $(DEL) debug.bat |
11938 | 166 cd ..\lib-src |
167 $(CLEAN_CMD) | |
168 cd ..\src | |
169 $(CLEAN_CMD) | |
170 cd ..\lisp | |
171 $(CLEAN_CMD) | |
172 cd ..\nt |