Initial revision
[chise/xemacs-chise.git.1] / netinstall / setup.mak
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 #\f
245 # Local Variables:
246 # mode: makefile
247 # End: