448
|
1 # Makefile for Microsoft NMAKE
|
|
2 # Copyright (C) 1995 Board of Trustees, University of Illinois.
|
|
3 # Copyright (C) 1995, 1996, 2000 Ben Wing.
|
|
4 # Copyright (C) 1995 Sun Microsystems, Inc.
|
|
5 # Copyright (C) 1998 Free Software Foundation, Inc.
|
|
6 #
|
|
7 # This file is part of XEmacs.
|
|
8 #
|
|
9 # XEmacs is free software; you can redistribute it and/or modify it
|
|
10 # under the terms of the GNU General Public License as published by the
|
|
11 # Free Software Foundation; either version 2, or (at your option) any
|
|
12 # later version.
|
|
13 #
|
|
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.
|
|
18 #
|
|
19 # You should have received a copy of the GNU General Public License
|
|
20 # along with XEmacs; see the file COPYING. If not, write to
|
|
21 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
22 # Boston, MA 02111-1307, USA.
|
|
23 #
|
|
24 # Synched up with: Not in FSF.
|
|
25 #
|
|
26
|
|
27 TARGETOS=BOTH
|
|
28 APPVER=4.0
|
|
29 !include "c:\Program Files\Microsoft Platform SDK\Include\win32.mak"
|
|
30
|
|
31 default: all
|
|
32
|
|
33 # APA: Since there seems to be no way to determine the directory where
|
|
34 # xemacs.mak is located (from within nmake) we just insist on the user
|
|
35 # to invoke nmake in the directory where xemacs.mak is.
|
|
36 !if !exist("$(MAKEDIR)\setup.mak")
|
|
37 !error Please run nmake from the directory of this makefile (xemacs\netinstall).
|
|
38 !endif
|
|
39
|
|
40 XEMACS=$(MAKEDIR)\..
|
|
41
|
|
42 # Define a variable for the 'del' command to use
|
|
43 DEL=-del
|
|
44
|
|
45 # Configuration from nt subdirectory if needed
|
|
46
|
|
47 !include "$(XEMACS)\nt\config.inc"
|
|
48
|
|
49 OUTDIR = obj
|
|
50
|
|
51 #
|
|
52 # Compiler command echo control. Define VERBOSECC=1 to get verbose compilation.
|
|
53 #
|
|
54 !if !defined(VERBOSECC)
|
|
55 VERBOSECC=0
|
|
56 !endif
|
|
57 !if $(VERBOSECC)
|
|
58 cc=$(cc)
|
|
59 !else
|
|
60 cc=@$(cc)
|
|
61 !endif
|
|
62
|
|
63 !if $(DEBUG_XEMACS)
|
|
64 cdebug=-Od -Gr -Zi -Zp8
|
|
65 !else
|
|
66 cdebug=-Oxsb2 -Oy- -G5rFs -Zi -Zp8
|
|
67 !endif
|
|
68
|
|
69 defines = -DWIN32_NATIVE -I$(ZLIBDIR) $(ZLIB_FLAGS)
|
|
70
|
|
71 #
|
|
72 # Object files
|
|
73 #
|
|
74 OBJS = \
|
|
75 $(OUTDIR)\choose.obj \
|
|
76 $(OUTDIR)\concat.obj \
|
|
77 $(OUTDIR)\desktop.obj \
|
|
78 $(OUTDIR)\dialog.obj \
|
|
79 $(OUTDIR)\diskfull.obj \
|
|
80 $(OUTDIR)\download.obj \
|
|
81 $(OUTDIR)\find.obj \
|
|
82 $(OUTDIR)\fromcwd.obj \
|
|
83 $(OUTDIR)\geturl.obj \
|
|
84 $(OUTDIR)\hash.obj \
|
|
85 $(OUTDIR)\ini.obj \
|
|
86 $(OUTDIR)\inilex.obj \
|
|
87 $(OUTDIR)\iniparse.obj \
|
|
88 $(OUTDIR)\install.obj \
|
|
89 $(OUTDIR)\localdir.obj \
|
|
90 $(OUTDIR)\log.obj \
|
|
91 $(OUTDIR)\main.obj \
|
|
92 $(OUTDIR)\mkdir.obj \
|
|
93 $(OUTDIR)\mklink2.obj \
|
|
94 $(OUTDIR)\regedit.obj \
|
|
95 $(OUTDIR)\msg.obj \
|
|
96 $(OUTDIR)\net.obj \
|
|
97 $(OUTDIR)\netio.obj \
|
|
98 $(OUTDIR)\nio-ie5.obj \
|
|
99 $(OUTDIR)\nio-file.obj \
|
|
100 $(OUTDIR)\nio-ftp.obj \
|
|
101 $(OUTDIR)\nio-http.obj \
|
|
102 $(OUTDIR)\other.obj \
|
|
103 $(OUTDIR)\postinstall.obj \
|
|
104 # $(OUTDIR)\res.obj \
|
|
105 $(OUTDIR)\root.obj \
|
|
106 $(OUTDIR)\simpsock.obj \
|
|
107 $(OUTDIR)\site.obj \
|
|
108 $(OUTDIR)\source.obj \
|
|
109 $(OUTDIR)\splash.obj \
|
|
110 $(OUTDIR)\state.obj \
|
|
111 $(OUTDIR)\tar.obj \
|
|
112 $(OUTDIR)\version.obj
|
|
113
|
|
114 #
|
|
115 # Libraries
|
|
116 #
|
|
117 LIBS = libcmt.lib $(olelibsmt) \
|
|
118 kernel32.lib shell32.lib \
|
|
119 wsock32.lib netapi32.lib \
|
|
120 wininet.lib $(zlib)
|
|
121
|
|
122 # Rules
|
|
123
|
|
124 .SUFFIXES:
|
|
125 .SUFFIXES: .c .cc .obj .texi .info
|
|
126
|
|
127 # nmake rule
|
|
128 .cc{$(OUTDIR)}.obj:
|
|
129 $(cc) /TP $(cflags) $(cdebug) $(cvarsmt) $(defines) -Fo$@ $<
|
|
130 .c{$(OUTDIR)}.obj:
|
|
131 $(cc) $(cflags) $(cdebug) $(cvarsmt) $(defines) -Fo$@ $<
|
|
132
|
|
133 #
|
|
134 # Main target
|
|
135 #
|
|
136 all: setup.exe
|
|
137
|
|
138 #
|
|
139 # Link target. setargv.obj is provided in the compiler library directory.
|
|
140 #
|
|
141 setup.exe: $(OUTDIR) $(OBJS) res.res
|
|
142 $(link) /OUT:$@ $(ldebug) $(guilflags) $(OBJS) res.res $(LIBS)
|
|
143
|
|
144 iniparse.c iniparse.h : iniparse.y
|
|
145 bison -d -o iniparse.c $(srcdir)/iniparse.y
|
|
146
|
|
147 $(OUTDIR)\inilex.obj: iniparse.h
|
|
148
|
|
149 inilex.c : inilex.l iniparse.h
|
|
150 flex -t $(srcdir)/inilex.l | sed "/^extern int isatty YY/d" > inilex.c
|
|
151
|
|
152 version.c : $(srcdir)/ChangeLog version.pl
|
|
153 perl version.pl < ChangeLog > version.c
|
|
154
|
|
155 res.res: res.rc
|
|
156 $(rc) $(rcvars) $(rcflags) /fo$@ $**
|
|
157
|
|
158 $(OUTDIR):
|
|
159 -@mkdir $(OUTDIR)
|
|
160
|
|
161 install:: all
|
|
162
|
|
163 clean::
|
|
164 $(DEL) $(OUTDIR)\*.obj *.pdb *.aps res.res lex.yy.c
|
|
165
|
|
166 distclean:: clean
|
|
167 $(DEL) *~ setup.exe
|
|
168
|
|
169 # DO NOT DELETE
|
|
170
|
|
171 $(OUTDIR)/autoload.obj: autoload.c win32.h
|
|
172 $(OUTDIR)/inilex.obj: inilex.c win32.h ini.h iniparse.h \
|
|
173
|
|
174 $(OUTDIR)/iniparse.obj: iniparse.c ini.h iniparse.h port.h
|
|
175 $(OUTDIR)/inilex.obj: inilex.c win32.h ini.h iniparse.h
|
|
176 $(OUTDIR)/mklink2.obj: mklink2.c win32.h
|
|
177 $(OUTDIR)/choose.obj: choose.cc win32.h dialog.h resource.h \
|
|
178 state.h ini.h concat.h msg.h log.h find.h reginfo.h
|
|
179 $(OUTDIR)/concat.obj: concat.cc win32.h
|
|
180 $(OUTDIR)/desktop.obj: desktop.cc win32.h \
|
|
181 resource.h ini.h msg.h state.h \
|
|
182 concat.h mkdir.h dialog.h version.h reginfo.h regedit.h port.h
|
|
183 $(OUTDIR)/dialog.obj: dialog.cc win32.h dialog.h msg.h log.h \
|
|
184 win32.h
|
|
185 $(OUTDIR)/diskfull.obj: diskfull.cc diskfull.h
|
|
186 $(OUTDIR)/download.obj: download.cc win32.h resource.h msg.h \
|
|
187 ini.h dialog.h concat.h geturl.h state.h mkdir.h log.h
|
|
188 $(OUTDIR)/find.obj: find.cc win32.h port.h
|
|
189 $(OUTDIR)/fromcwd.obj: fromcwd.cc win32.h \
|
|
190 ini.h resource.h concat.h \
|
|
191 state.h dialog.h msg.h find.h version.h port.h
|
|
192 $(OUTDIR)/geturl.obj: geturl.cc win32.h dialog.h geturl.h \
|
|
193 resource.h netio.h msg.h log.h
|
|
194 $(OUTDIR)/hash.obj: hash.cc win32.h hash.h
|
|
195 $(OUTDIR)/ini.obj: ini.cc win32.h ini.h resource.h concat.h \
|
|
196 state.h geturl.h dialog.h msg.h mkdir.h log.h reginfo.h version.h
|
|
197 $(OUTDIR)/install.obj: install.cc win32.h \
|
|
198 $(ZLIBDIR)/zlib.h $(ZLIBDIR)/zconf.h \
|
|
199 resource.h ini.h dialog.h concat.h geturl.h mkdir.h state.h tar.h \
|
|
200 diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h
|
|
201 $(OUTDIR)/localdir.obj: localdir.cc win32.h dialog.h resource.h \
|
|
202 state.h msg.h concat.h log.h
|
|
203 $(OUTDIR)/log.obj: log.cc win32.h resource.h msg.h log.h dialog.h \
|
|
204 state.h concat.h mkdir.h
|
|
205 $(OUTDIR)/main.obj: main.cc win32.h resource.h dialog.h state.h \
|
|
206 msg.h netio.h find.h log.h port.h
|
|
207 $(OUTDIR)/mkdir.obj: mkdir.cc win32.h mkdir.h
|
|
208 $(OUTDIR)/msg.obj: msg.cc win32.h dialog.h log.h
|
|
209 $(OUTDIR)/net.obj: net.cc win32.h dialog.h resource.h state.h \
|
|
210 msg.h log.h
|
|
211 $(OUTDIR)/netio.obj: netio.cc win32.h resource.h state.h msg.h \
|
|
212 netio.h nio-file.h nio-ie5.h nio-http.h nio-ftp.h dialog.h log.h port.h \
|
|
213 win32.h
|
|
214 $(OUTDIR)/nio-file.obj: nio-file.cc netio.h nio-file.h resource.h \
|
|
215 msg.h
|
|
216 $(OUTDIR)/nio-ftp.obj: nio-ftp.cc win32.h resource.h state.h \
|
|
217 simpsock.h log.h netio.h nio-ftp.h
|
|
218 $(OUTDIR)/nio-http.obj: nio-http.cc win32.h resource.h state.h \
|
|
219 simpsock.h msg.h netio.h nio-http.h
|
|
220 $(OUTDIR)/nio-ie5.obj: nio-ie5.cc win32.h resource.h state.h \
|
|
221 dialog.h msg.h netio.h nio-ie5.h
|
|
222 $(OUTDIR)/other.obj: other.cc win32.h dialog.h resource.h state.h \
|
|
223 msg.h log.h
|
|
224 $(OUTDIR)/postinstall.obj: postinstall.cc win32.h \
|
|
225 state.h dialog.h find.h \
|
|
226 concat.h regedit.h reginfo.h resource.h port.h
|
|
227 $(OUTDIR)/regedit.obj: regedit.cc win32.h reginfo.h regedit.h \
|
|
228 msg.h resource.h dialog.h
|
|
229 $(OUTDIR)/root.obj: root.cc win32.h dialog.h resource.h state.h \
|
|
230 msg.h regedit.h reginfo.h concat.h log.h
|
|
231 $(OUTDIR)/simpsock.obj: simpsock.cc win32.h simpsock.h msg.h \
|
|
232 win32.h
|
|
233 $(OUTDIR)/site.obj: site.cc dialog.h resource.h state.h geturl.h \
|
|
234 msg.h concat.h regedit.h reginfo.h log.h port.h
|
|
235 $(OUTDIR)/source.obj: source.cc win32.h dialog.h resource.h \
|
|
236 state.h msg.h log.h
|
|
237 $(OUTDIR)/splash.obj: splash.cc win32.h dialog.h resource.h msg.h \
|
|
238 version.h
|
|
239 $(OUTDIR)/state.obj: state.cc state.h
|
|
240 $(OUTDIR)/tar.obj: tar.cc win32.h \
|
|
241 $(ZLIBDIR)/zlib.h $(ZLIBDIR)/zconf.h \
|
|
242 tar.h mkdir.h log.h port.h
|
|
243
|
|
244 #
|
|
245 # Local Variables:
|
|
246 # mode: makefile
|
|
247 # End:
|