6 # Copyright: (c) 1993, AIAI, University of Edinburgh
10 # Makefile : Builds wxWindows library wx.lib for Windows 3.1
14 !error You must define the BCCDIR variable in autoexec.bat, e.g. BCCDIR=d:\bc4
18 !error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
22 #!error You must start compiling from wx\src, not wx\src\msw.
31 !include $(WXDIR)\src\makebcc.env
33 THISDIR = $(WXDIR)\src\msw
35 WXINC = $(WXDIR)\include\msw
36 WXBASESRC = $(WXDIR)\src\base
37 WXBASEINC = $(WXDIR)\include\base
39 # Please set these according to the settings in wx_setup.h, so we can include
40 # the appropriate libraries in wx.lib
44 USE_IMAGE_LOADING_IN_MSW=1
47 USE_RESOURCE_LOADING_IN_MSW=1
54 !if "$(USE_CTL3D)" == "1"
55 PERIPH_LIBS=$(WXDIR)\lib\ctl3dv2.lib $(PERIPH_LIBS)
56 PERIPH_TARGET=ctl3d $(PERIPH_TARGET)
57 PERIPH_CLEAN_TARGET=clean_ctl3d $(PERIPH_CLEAN_TARGET)
60 !if "$(USE_ITSYBITS)" == "1"
61 PERIPH_LIBS=$(WXDIR)\contrib\itsybits\itsy.lib $(PERIPH_LIBS)
62 PERIPH_TARGET=itsy $(PERIPH_TARGET)
63 PERIPH_CLEAN_TARGET=clean_itsy $(PERIPH_CLEAN_TARGET)
66 !if "$(USE_GAUGE)" == "1"
67 PERIPH_LIBS=$(WXDIR)\contrib\gauge\gauge.lib $(PERIPH_LIBS)
68 PERIPH_TARGET=gauge $(PERIPH_TARGET)
69 PERIPH_CLEAN_TARGET=clean_gauge $(PERIPH_CLEAN_TARGET)
72 !if "$(USE_XPM_IN_MSW)" == "1"
73 PERIPH_LIBS=$(WXDIR)\contrib\wxxpm\xpm.lib $(PERIPH_LIBS)
74 PERIPH_TARGET=xpm $(PERIPH_TARGET)
75 PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
78 !if "$(USE_IMAGE_LOADING_IN_MSW)" == "1"
79 PERIPH_LIBS=$(WXDIR)\utils\dib\dib.lib $(PERIPH_LIBS)
80 PERIPH_TARGET=dib $(PERIPH_TARGET)
81 PERIPH_CLEAN_TARGET=clean_dib $(PERIPH_CLEAN_TARGET)
84 !if "$(USE_WX_RESOURCES)" == "1"
85 PERIPH_LIBS=$(WXDIR)\utils\prologio\lib\prologio.lib $(PERIPH_LIBS)
86 PERIPH_TARGET=prologio $(PERIPH_TARGET)
87 PERIPH_CLEAN_TARGET=clean_proio $(PERIPH_CLEAN_TARGET)
90 !if "$(USE_RESOURCE_LOADING_IN_MSW)" == "1"
91 PERIPH_LIBS=$(WXDIR)\utils\rcparser\lib\rcparser.lib $(PERIPH_LIBS)
92 PERIPH_TARGET=rcparser $(PERIPH_TARGET)
93 PERIPH_CLEAN_TARGET=clean_rcp $(PERIPH_CLEAN_TARGET)
96 WXSTRINGOBJ=..\base\wxstring.obj
98 !if "$(USE_GNU_WXSTRING)" == "1"
99 PERIPH_LIBS=$(WXDIR)\contrib\wxstring\wxstring.lib $(PERIPH_LIBS)
100 PERIPH_TARGET=wxstring $(PERIPH_TARGET)
101 PERIPH_CLEAN_TARGET=clean_wxstring $(PERIPH_CLEAN_TARGET)
105 CPPFLAGS=$(DEBUG_FLAGS) $(OPT) @$(CFG)
107 LIBTARGET= $(WXLIB)\wx.lib
110 BASEHEADERS = $(WXBASEINC)\wx_defs.h \
111 $(WXBASEINC)\wb_buttn.h \
112 $(WXBASEINC)\wb_canvs.h \
113 $(WXBASEINC)\wb_check.h \
114 $(WXBASEINC)\wb_choic.h \
115 $(WXBASEINC)\wb_dc.h \
116 $(WXBASEINC)\wb_dccan.h \
117 $(WXBASEINC)\wb_dcmem.h \
118 $(WXBASEINC)\wb_dialg.h \
119 $(WXBASEINC)\wb_frame.h \
120 $(WXBASEINC)\wb_gdi.h \
121 $(WXBASEINC)\wb_ipc.h \
122 $(WXBASEINC)\wb_ipcob.h \
123 $(WXBASEINC)\wb_item.h \
124 $(WXBASEINC)\wb_lbox.h \
125 $(WXBASEINC)\wb_main.h \
126 $(WXBASEINC)\wb_menu.h \
127 $(WXBASEINC)\wb_messg.h \
128 $(WXBASEINC)\wb_mf.h \
129 $(WXBASEINC)\wb_mnuit.h \
130 $(WXBASEINC)\wb_mtxt.h \
131 $(WXBASEINC)\wb_panel.h \
132 $(WXBASEINC)\wb_slidr.h \
133 $(WXBASEINC)\wb_text.h \
134 $(WXBASEINC)\wb_timer.h \
135 $(WXBASEINC)\wb_txt.h \
136 $(WXBASEINC)\wb_win.h \
137 $(WXBASEINC)\wx_dcps.h \
138 $(WXBASEINC)\wx_form.h \
139 $(WXBASEINC)\wx_hash.h \
140 $(WXBASEINC)\wx_help.h \
141 $(WXBASEINC)\wx_list.h \
142 $(WXBASEINC)\wxstring.h \
143 $(WXBASEINC)\wx_mgstr.h \
144 $(WXBASEINC)\wx_obj.h \
145 $(WXBASEINC)\wx_stdev.h \
146 $(WXBASEINC)\wx_sysev.h \
147 $(WXBASEINC)\wx_types.h \
148 $(WXBASEINC)\wx_utils.h
151 $(WXINC)\wx_buttn.h \
152 $(WXINC)\wx_canvs.h \
153 $(WXINC)\wx_check.h \
154 $(WXINC)\wx_choic.h \
155 $(WXINC)\wx_combo.h \
157 $(WXINC)\wx_dccan.h \
158 $(WXINC)\wx_dcmem.h \
159 $(WXINC)\wx_dialg.h \
160 $(WXINC)\wx_frame.h \
163 $(WXINC)\wx_ipcob.h \
168 $(WXINC)\wx_messg.h \
170 $(WXINC)\wx_mnuit.h \
172 $(WXINC)\wx_panel.h \
173 $(WXINC)\wx_privt.h \
174 $(WXINC)\wx_slidr.h \
176 $(WXINC)\wx_timer.h \
180 OBJECTS1 = wx_win.obj wx_frame.obj wx_panel.obj wx_utils.obj wx_main.obj\
183 OBJECTS2 = wx_text.obj wx_gdi.obj wx_dialg.obj wx_canvs.obj wx_dc.obj wx_mf.obj
185 OBJECTS3 = wx_ipc.obj wx_timer.obj wx_clipb.obj wx_stat.obj wx_scrol.obj wx_vlbox.obj
187 OBJECTS4 = wx_buttn.obj wx_messg.obj wx_check.obj wx_choic.obj wx_rbox.obj wx_lbox.obj \
188 wx_group.obj wx_gauge.obj wx_txt.obj wx_mtxt.obj wx_slidr.obj wx_menu.obj wx_db.obj\
189 wx_cmdlg.obj wx_combo.obj
191 OBJECTS = $(OBJECTS1) $(OBJECTS2) $(OBJECTS3) $(OBJECTS4)
193 BASEOBJECTS1 = ..\base\wb_data.obj ..\base\wb_win.obj ..\base\wb_frame.obj ..\base\wb_panel.obj\
194 ..\base\wb_utils.obj ..\base\wb_main.obj ..\base\wb_res.obj
196 BASEOBJECTS2 = ..\base\wb_item.obj ..\base\wb_list.obj ..\base\wb_obj.obj\
197 ..\base\wb_ps.obj ..\base\wx_doc.obj ..\base\wx_tbar.obj ..\base\wx_bbar.obj
199 BASEOBJECTS3 = ..\base\wb_text.obj ..\base\wb_gdi.obj ..\base\wb_dialg.obj\
200 ..\base\wb_canvs.obj ..\base\wx_date.obj ..\base\wx_time.obj ..\base\wx_frac.obj
202 BASEOBJECTS4 = ..\base\wb_dc.obj ..\base\wb_mf.obj ..\base\wb_hash.obj\
203 ..\base\wb_ipc.obj ..\base\wx_lay.obj ..\base\wx_mem.obj ..\base\wb_cmdlg.obj
205 BASEOBJECTS5 = ..\base\wb_form.obj ..\base\wb_timer.obj ..\base\wb_help.obj\
206 ..\base\wb_vlbox.obj ..\base\wb_scrol.obj ..\base\wb_stat.obj
208 BASEOBJECTS6 = ..\base\wb_sysev.obj ..\base\wb_stdev.obj ..\base\wb_types.obj\
209 ..\base\wb_mgstr.obj ..\base\wb_print.obj $(WXSTRINGOBJ)
211 BASEOBJECTS = $(BASEOBJECTS1) $(BASEOBJECTS2) $(BASEOBJECTS3)\
212 $(BASEOBJECTS4) $(BASEOBJECTS5) $(BASEOBJECTS6)
215 all: $(CFG) $(DUMMY).obj base $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
219 make -f makefile.bcc -DCFG=$(CFG) -DWXDIR=$(WXDIR) DEBUG=$(DEBUG) -DDEBUG_FLAGS=$(DEBUG_FLAGS) -DOPT=$(OPT) -DFINAL=$(FINAL)
222 $(LIBTARGET): $(DUMMY).obj $(OBJECTS) $(BASEOBJECTS) $(PERIPH_LIBS)
224 tlib $(WXLIB)\wx.lib /P512 @&&!
225 +$(OBJECTS:.obj =.obj +) +$(BASEOBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
228 dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\base\wx.h
231 dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\base\wx.h
233 wx_obj.obj: $(WXBASEINC)\wx_obj.h
235 wx_win.obj: $(WXBASEINC)\wx_defs.h $(WXINC)\wx_win.h $(WXBASEINC)\wx_obj.h \
236 $(WXBASEINC)\wx_utils.h wx_win.$(SRCSUFF) $(WXINC)\wx_gdi.h $(WXINC)\wx_privt.h
238 wx_main.obj: $(WXBASEINC)\wx_defs.h $(WXBASEINC)\wx_obj.h $(WXINC)\wx_frame.h $(WXBASEINC)\wx_utils.h \
239 $(WXINC)\wx_main.h wx_main.$(SRCSUFF) $(WXINC)\wx_privt.h
241 wx_frame.obj: $(WXBASEINC)\wx_defs.h $(WXINC)\wx_win.h $(WXBASEINC)\wx_obj.h $(WXBASEINC)\wx_utils.h $(WXINC)\wx_frame.h wx_frame.$(SRCSUFF)\
242 $(WXBASEINC)\wx_stdev.h $(WXINC)\wx_privt.h
244 wx_panel.obj: $(WXBASEINC)\wx_defs.h $(WXINC)\wx_win.h $(WXBASEINC)\wx_obj.h $(WXBASEINC)\wx_utils.h $(WXINC)\wx_frame.h $(WXINC)\wx_panel.h\
245 wx_panel.$(SRCSUFF) $(WXBASEINC)\wx_stdev.h $(WXINC)\wx_privt.h
247 wx_text.obj: $(WXBASEINC)\wx_defs.h $(WXINC)\wx_win.h $(WXBASEINC)\wx_obj.h $(WXBASEINC)\wx_utils.h $(WXINC)\wx_frame.h $(WXINC)\wx_text.h\
248 wx_text.$(SRCSUFF) $(WXBASEINC)\wx_stdev.h $(WXINC)\wx_privt.h
250 wx_canvs.obj: $(WXBASEINC)\wx_defs.h $(WXINC)\wx_win.h $(WXBASEINC)\wx_obj.h $(WXBASEINC)\wx_utils.h $(WXINC)\wx_frame.h $(WXINC)\wx_canvs.h\
251 wx_canvs.$(SRCSUFF) $(WXBASEINC)\wx_stdev.h $(WXINC)\wx_gdi.h\
252 $(WXINC)\wx_dc.h $(WXINC)\wx_privt.h
254 wx_dc.obj: $(WXBASEINC)\wx_defs.h $(WXINC)\wx_win.h $(WXBASEINC)\wx_obj.h $(WXBASEINC)\wx_utils.h $(WXINC)\wx_frame.h $(WXINC)\wx_canvs.h\
255 wx_dc.$(SRCSUFF) $(WXBASEINC)\wx_stdev.h $(WXINC)\wx_gdi.h $(WXINC)\wx_dc.h\
256 $(WXINC)\wx_dccan.h $(WXINC)\wx_dcmem.h
258 wx_mf.obj: $(WXBASEINC)\wx_defs.h $(WXINC)\wx_win.h $(WXBASEINC)\wx_obj.h\
259 wx_mf.$(SRCSUFF) $(WXBASEINC)\wx_stdev.h $(WXINC)\wx_gdi.h $(WXINC)\wx_mf.h
261 wx_item.obj: $(WXBASEINC)\wx_defs.h $(WXINC)\wx_win.h $(WXBASEINC)\wx_obj.h $(WXBASEINC)\wx_utils.h $(WXINC)\wx_frame.h $(WXINC)\wx_item.h\
262 wx_item.$(SRCSUFF) $(WXBASEINC)\wx_stdev.h $(WXINC)\wx_privt.h
264 wx_utils.obj: $(WXBASEINC)\wx_defs.h $(WXBASEINC)\wx_obj.h $(WXBASEINC)\wx_utils.h wx_utils.$(SRCSUFF)
266 wx_ipc.obj: $(WXBASEINC)\wx_defs.h $(WXBASEINC)\wx_obj.h $(WXBASEINC)\wx_utils.h $(WXINC)\wx_ipc.h wx_ipc.$(SRCSUFF)
268 wx_gdi.obj: $(WXBASEINC)\wx_defs.h $(WXINC)\wx_gdi.h $(WXBASEINC)\wx_utils.h wx_gdi.$(SRCSUFF)
270 wx_dialg.obj: $(WXBASEINC)\wx_defs.h wx_dialg.$(SRCSUFF) $(WXINC)\wx_dialg.h $(WXINC)\wx_win.h\
271 $(WXBASEINC)\wx_utils.h $(WXINC)\wx_panel.h $(WXINC)\wx_privt.h
273 wx_timer.obj: $(WXBASEINC)\wx_defs.h wx_timer.$(SRCSUFF) $(WXINC)\wx_timer.h
275 wx_clipb.obj: $(WXBASEINC)\wx_defs.h wx_clipb.$(SRCSUFF) $(WXINC)\wx_clipb.h
277 wx_stat.obj: $(WXBASEINC)\wx_defs.h wx_stat.$(SRCSUFF)
278 wx_vlbox.obj: $(WXBASEINC)\wx_defs.h wx_vlbox.$(SRCSUFF)
279 wx_messg.obj: $(WXBASEINC)\wx_defs.h wx_messg.$(SRCSUFF) $(WXINC)\wx_messg.h
280 wx_buttn.obj: $(WXBASEINC)\wx_defs.h wx_buttn.$(SRCSUFF) $(WXINC)\wx_buttn.h
281 wx_check.obj: $(WXBASEINC)\wx_defs.h wx_check.$(SRCSUFF) $(WXINC)\wx_check.h
282 wx_choic.obj: $(WXBASEINC)\wx_defs.h wx_choic.$(SRCSUFF) $(WXINC)\wx_choic.h
283 wx_combo.obj: $(WXBASEINC)\wx_defs.h wx_combo.$(SRCSUFF) $(WXINC)\wx_combo.h
284 wx_group.obj: $(WXBASEINC)\wx_defs.h wx_group.$(SRCSUFF) $(WXINC)\wx_group.h
285 wx_gauge.obj: $(WXBASEINC)\wx_defs.h wx_gauge.$(SRCSUFF) $(WXINC)\wx_gauge.h
286 wx_lbox.obj: $(WXBASEINC)\wx_defs.h wx_lbox.$(SRCSUFF) $(WXINC)\wx_lbox.h
287 wx_rbox.obj: $(WXBASEINC)\wx_defs.h wx_rbox.$(SRCSUFF) $(WXINC)\wx_rbox.h
288 wx_menu.obj: $(WXBASEINC)\wx_defs.h wx_menu.$(SRCSUFF) $(WXINC)\wx_menu.h
289 wx_txt.obj: $(WXBASEINC)\wx_defs.h wx_txt.$(SRCSUFF) $(WXINC)\wx_txt.h
290 wx_mtxt.obj: $(WXBASEINC)\wx_defs.h wx_mtxt.$(SRCSUFF) $(WXINC)\wx_mtxt.h
291 wx_slidr.obj: $(WXBASEINC)\wx_defs.h wx_slidr.$(SRCSUFF) $(WXINC)\wx_slidr.h
292 wx_db.obj: $(WXBASEINC)\wx_defs.h wx_db.$(SRCSUFF) $(WXINC)\wx_db.h
293 wx_cmdlg.obj: $(WXBASEINC)\wx_defs.h wx_cmdlg.$(SRCSUFF) $(WXINC)\wx_cmdlg.h
295 $(WXINC)\wx_win.h: $(WXBASEINC)\wb_win.h
296 $(WXINC)\wx_main.h: $(WXBASEINC)\wb_main.h
297 $(WXINC)\wx_frame.h: $(WXBASEINC)\wb_frame.h
298 $(WXINC)\wx_panel.h: $(WXBASEINC)\wb_panel.h
299 $(WXINC)\wx_text.h: $(WXBASEINC)\wb_text.h
300 $(WXINC)\wx_dialg.h: $(WXBASEINC)\wb_dialg.h
301 $(WXINC)\wx_ipc.h: $(WXBASEINC)\wb_ipc.h
302 $(WXINC)\wx_gdi.h: $(WXBASEINC)\wb_gdi.h
303 $(WXINC)\wx_event.h: $(WXBASEINC)\wb_event.h
304 $(WXINC)\wx_canvs.h: $(WXBASEINC)\wb_canvs.h
305 $(WXINC)\wx_mf.h: $(WXBASEINC)\wb_mf.h
306 $(WXINC)\wx_item.h: $(WXBASEINC)\wb_item.h
307 $(WXINC)\wx_buttn.h: $(WXBASEINC)\wb_buttn.h
308 $(WXINC)\wx_messg.h: $(WXBASEINC)\wb_messg.h
309 $(WXINC)\wx_choic.h: $(WXBASEINC)\wb_choic.h
310 $(WXINC)\wx_combo.h: $(WXBASEINC)\wb_combo.h
311 $(WXINC)\wx_check.h: $(WXBASEINC)\wb_check.h
312 $(WXINC)\wx_lbox.h: $(WXBASEINC)\wb_lbox.h
313 $(WXINC)\wx_txt.h: $(WXBASEINC)\wb_txt.h
314 $(WXINC)\wx_mtxt.h: $(WXBASEINC)\wb_mtxt.h
315 $(WXINC)\wx_slidr.h: $(WXBASEINC)\wb_slidr.h
316 $(WXINC)\wx_menu.h: $(WXBASEINC)\wb_menu.h
318 # Peripheral components
321 cd $(WXDIR)\contrib\ctl3d\borland
322 make -f makefile.bcc DEBUG=$(DEBUG)
326 cd $(WXDIR)\contrib\ctl3d\borland
327 make -f makefile.bcc clean
331 cd $(WXDIR)\contrib\itsybits
332 make -f makefile.bcc DEBUG=$(DEBUG)
336 cd $(WXDIR)\contrib\itsybits
337 make -f makefile.bcc clean
341 cd $(WXDIR)\contrib\gauge
342 make -f makefile.bcc DEBUG=$(DEBUG)
346 cd $(WXDIR)\contrib\gauge
347 make -f makefile.bcc clean
351 cd $(WXDIR)\contrib\wxxpm
352 make -f makefile.bcc DEBUG=$(DEBUG)
356 cd $(WXDIR)\contrib\wxxpm
357 make -f makefile.bcc clean
361 cd $(WXDIR)\utils\dib
362 make -f makefile.bcc DEBUG=$(DEBUG)
366 cd $(WXDIR)\utils\dib
367 make -f makefile.bcc clean
371 cd $(WXDIR)\utils\prologio\src
372 make -f makefile.bcc DEBUG=$(DEBUG)
376 cd $(WXDIR)\utils\prologio\src
377 make -f makefile.bcc clean
381 cd $(WXDIR)\utils\rcparser\src
382 make -f makefile.bcc DEBUG=$(DEBUG)
386 cd $(WXDIR)\contrib\wxstring
387 make -f makefile.bcc OPTIONS="$(OPTIONS)" DEBUG="$(DEBUG)"
391 cd $(WXDIR)\contrib\wxstring
392 make -f makefile.bcc clean
396 cd $(WXDIR)\utils\rcparser\src
397 make -f makefile.bcc clean
400 clean: $(PERIPH_CLEAN_TARGET)