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.
7 # This file is part of XEmacs.
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
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
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.
24 # Synched up with: Not in FSF.
29 !include "c:\Program Files\Microsoft Platform SDK\Include\win32.mak"
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).
42 # Define a variable for the 'del' command to use
45 # Configuration from nt subdirectory if needed
47 !include "$(XEMACS)\nt\config.inc"
52 # Compiler command echo control. Define VERBOSECC=1 to get verbose compilation.
54 !if !defined(VERBOSECC)
64 cdebug=-Od -Gr -Zi -Zp8
66 cdebug=-Oxsb2 -Oy- -G5rFs -Zi -Zp8
69 defines = -DWIN32_NATIVE -I$(ZLIBDIR) $(ZLIB_FLAGS)
75 $(OUTDIR)\choose.obj \
76 $(OUTDIR)\concat.obj \
77 $(OUTDIR)\desktop.obj \
78 $(OUTDIR)\dialog.obj \
79 $(OUTDIR)\diskfull.obj \
80 $(OUTDIR)\download.obj \
82 $(OUTDIR)\fromcwd.obj \
83 $(OUTDIR)\geturl.obj \
86 $(OUTDIR)\inilex.obj \
87 $(OUTDIR)\iniparse.obj \
88 $(OUTDIR)\install.obj \
89 $(OUTDIR)\localdir.obj \
93 $(OUTDIR)\mklink2.obj \
94 $(OUTDIR)\regedit.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 \
106 $(OUTDIR)\simpsock.obj \
108 $(OUTDIR)\source.obj \
109 $(OUTDIR)\splash.obj \
110 $(OUTDIR)\state.obj \
112 $(OUTDIR)\version.obj
117 LIBS = libcmt.lib $(olelibsmt) \
118 kernel32.lib shell32.lib \
119 wsock32.lib netapi32.lib \
125 .SUFFIXES: .c .cc .obj .texi .info
129 $(cc) /TP $(cflags) $(cdebug) $(cvarsmt) $(defines) -Fo$@ $<
131 $(cc) $(cflags) $(cdebug) $(cvarsmt) $(defines) -Fo$@ $<
139 # Link target. setargv.obj is provided in the compiler library directory.
141 setup.exe: $(OUTDIR) $(OBJS) res.res
142 $(link) /OUT:$@ $(ldebug) $(guilflags) $(OBJS) res.res $(LIBS)
144 iniparse.c iniparse.h : iniparse.y
145 bison -d -o iniparse.c $(srcdir)/iniparse.y
147 $(OUTDIR)\inilex.obj: iniparse.h
149 inilex.c : inilex.l iniparse.h
150 flex -t $(srcdir)/inilex.l | sed "/^extern int isatty YY/d" > inilex.c
152 version.c : $(srcdir)/ChangeLog version.pl
153 perl version.pl < ChangeLog > version.c
156 $(rc) $(rcvars) $(rcflags) /fo$@ $**
164 $(DEL) $(OUTDIR)\*.obj *.pdb *.aps res.res lex.yy.c
171 $(OUTDIR)/autoload.obj: autoload.c win32.h
172 $(OUTDIR)/inilex.obj: inilex.c win32.h ini.h iniparse.h \
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 \
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 \
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 \
214 $(OUTDIR)/nio-file.obj: nio-file.cc netio.h nio-file.h resource.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 \
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 \
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 \
237 $(OUTDIR)/splash.obj: splash.cc win32.h dialog.h resource.h msg.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