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.
32 # APA: Since there seems to be no way to determine the directory where
33 # xemacs.mak is located (from within nmake) we just insist on the user
34 # to invoke nmake in the directory where xemacs.mak is.
35 !if !exist("$(MAKEDIR)\setup.mak")
36 !error Please run nmake from the directory of this makefile (xemacs\netinstall).
41 # Define a variable for the 'del' command to use
44 # Configuration from nt subdirectory if needed
46 !include "$(XEMACS)\nt\config.inc"
51 # Compiler command echo control. Define VERBOSECC=1 to get verbose compilation.
53 !if !defined(VERBOSECC)
63 cdebug=-Od -Gr -Zi -Zp8
65 cdebug=-Oxsb2 -Oy- -G5rFs -Zi -Zp8
68 defines = -DWIN32_NATIVE -I$(ZLIBDIR) $(ZLIB_FLAGS)
74 $(OUTDIR)\choose.obj \
75 $(OUTDIR)\concat.obj \
76 $(OUTDIR)\desktop.obj \
77 $(OUTDIR)\dialog.obj \
78 $(OUTDIR)\diskfull.obj \
79 $(OUTDIR)\download.obj \
81 $(OUTDIR)\fromcwd.obj \
82 $(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 \
105 $(OUTDIR)\simpsock.obj \
107 $(OUTDIR)\source.obj \
108 $(OUTDIR)\splash.obj \
109 $(OUTDIR)\state.obj \
111 $(OUTDIR)\uninstall.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
173 $(OUTDIR)/init.obj: win32.h dialog.h resource.h \
174 state.h ini.h concat.h msg.h log.h find.h reginfo.h
175 $(OUTDIR)/iniparse.obj: iniparse.c ini.h iniparse.h port.h
176 $(OUTDIR)/inilex.obj: inilex.c win32.h ini.h iniparse.h
177 $(OUTDIR)/mklink2.obj: mklink2.c win32.h
178 $(OUTDIR)/choose.obj: choose.cc win32.h dialog.h resource.h \
179 state.h ini.h concat.h msg.h log.h find.h reginfo.h
180 $(OUTDIR)/concat.obj: concat.cc win32.h
181 $(OUTDIR)/desktop.obj: desktop.cc win32.h \
182 resource.h ini.h msg.h state.h \
183 concat.h mkdir.h dialog.h version.h reginfo.h regedit.h port.h
184 $(OUTDIR)/dialog.obj: dialog.cc win32.h dialog.h msg.h log.h \
186 $(OUTDIR)/diskfull.obj: diskfull.cc diskfull.h
187 $(OUTDIR)/download.obj: download.cc win32.h resource.h msg.h \
188 ini.h dialog.h concat.h geturl.h state.h mkdir.h log.h
189 $(OUTDIR)/find.obj: find.cc win32.h port.h
190 $(OUTDIR)/fromcwd.obj: fromcwd.cc win32.h \
191 ini.h resource.h concat.h \
192 state.h dialog.h msg.h find.h version.h port.h
193 $(OUTDIR)/geturl.obj: geturl.cc win32.h dialog.h geturl.h \
194 resource.h netio.h msg.h log.h
195 $(OUTDIR)/hash.obj: hash.cc win32.h hash.h
196 $(OUTDIR)/ini.obj: ini.cc win32.h ini.h resource.h concat.h \
197 state.h geturl.h dialog.h msg.h mkdir.h log.h reginfo.h version.h
198 $(OUTDIR)/install.obj: install.cc win32.h \
199 $(ZLIBDIR)/zlib.h $(ZLIBDIR)/zconf.h \
200 resource.h ini.h dialog.h concat.h geturl.h mkdir.h state.h tar.h \
201 diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h
202 $(OUTDIR)/localdir.obj: localdir.cc win32.h dialog.h resource.h \
203 state.h msg.h concat.h log.h
204 $(OUTDIR)/log.obj: log.cc win32.h resource.h msg.h log.h dialog.h \
205 state.h concat.h mkdir.h
206 $(OUTDIR)/main.obj: main.cc win32.h resource.h dialog.h state.h \
207 msg.h netio.h find.h log.h port.h
208 $(OUTDIR)/mkdir.obj: mkdir.cc win32.h mkdir.h
209 $(OUTDIR)/msg.obj: msg.cc win32.h dialog.h log.h
210 $(OUTDIR)/net.obj: net.cc win32.h dialog.h resource.h state.h \
212 $(OUTDIR)/netio.obj: netio.cc win32.h resource.h state.h msg.h \
213 netio.h nio-file.h nio-ie5.h nio-http.h nio-ftp.h dialog.h log.h port.h \
215 $(OUTDIR)/nio-file.obj: nio-file.cc netio.h nio-file.h resource.h \
217 $(OUTDIR)/nio-ftp.obj: nio-ftp.cc win32.h resource.h state.h \
218 simpsock.h log.h netio.h nio-ftp.h
219 $(OUTDIR)/nio-http.obj: nio-http.cc win32.h resource.h state.h \
220 simpsock.h msg.h netio.h nio-http.h
221 $(OUTDIR)/nio-ie5.obj: nio-ie5.cc win32.h resource.h state.h \
222 dialog.h msg.h netio.h nio-ie5.h
223 $(OUTDIR)/other.obj: other.cc win32.h dialog.h resource.h state.h \
225 $(OUTDIR)/postinstall.obj: postinstall.cc win32.h \
226 state.h dialog.h find.h \
227 concat.h regedit.h reginfo.h resource.h port.h
228 $(OUTDIR)/regedit.obj: regedit.cc win32.h reginfo.h regedit.h \
229 msg.h resource.h dialog.h
230 $(OUTDIR)/root.obj: root.cc win32.h dialog.h resource.h state.h \
231 msg.h regedit.h reginfo.h concat.h log.h
232 $(OUTDIR)/simpsock.obj: simpsock.cc win32.h simpsock.h msg.h \
234 $(OUTDIR)/site.obj: site.cc dialog.h resource.h state.h geturl.h \
235 msg.h concat.h regedit.h reginfo.h log.h port.h
236 $(OUTDIR)/source.obj: source.cc win32.h dialog.h resource.h \
238 $(OUTDIR)/splash.obj: splash.cc win32.h dialog.h resource.h msg.h \
240 $(OUTDIR)/state.obj: state.cc state.h
241 $(OUTDIR)/uninstall.obj: install.cc win32.h \
242 $(ZLIBDIR)/zlib.h $(ZLIBDIR)/zconf.h \
243 resource.h ini.h dialog.h concat.h geturl.h mkdir.h state.h tar.h \
244 diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h
245 $(OUTDIR)/tar.obj: tar.cc win32.h \
246 $(ZLIBDIR)/zlib.h $(ZLIBDIR)/zconf.h \
247 tar.h mkdir.h log.h port.h