#
# File:      makefile.va
# Author:    Dave Webster
# Created:   1999
# Updated:
# Copyright: (c) 1999, Dave Webster
#
# "%W% %G%"
#
# Makefile : Builds wxWindows library wx.lib for VisualAge C++
# Arguments:
#
# FINAL=1 argument to nmake to build version with no debugging info.
# dll builds a library (wxdll.lib) suitable for creating DLLs
#
!include <..\makeva.env>

THISDIR=$(WXWIN)\src\os2

!if "$(WXMAKINGDLL)" == "1"
LIBTARGET=$(WXDIR)\lib\$(WXLIBNAME).dll
DUMMYOBJ=$D\dummydll.obj
!else
LIBTARGET=$(WXLIB)
COMTEMPTGT1=$(WXDIR)\lib\wxcom1.lib
COMTEMPTGT2=$(WXDIR)\lib\wxcom2.lib
COMTEMPTGT3=$(WXDIR)\lib\wxcom3.lib
GENTEMPTGT=$(WXDIR)\lib\wxgen.lib
NONESTEMPTGT=$(WXDIR)\lib\wxnones.lib
OS2TEMPTGT1=$(WXDIR)\lib\wxos21.lib
OS2TEMPTGT2=$(WXDIR)\lib\wxos22.lib
HTMLTEMPTGT=$(WXDIR)\lib\wxhtml.lib
DUMMYOBJ=$D\dummy.obj
!endif

# Please set these according to the settings in setup.h, so we can include
# the appropriate libraries in wx.lib

# This one overrides the others, to be consistent with the settings in wx_setup.h
MINIMAL_WXWINDOWS_SETUP=0

PERIPH_LIBS=
PERIPH_TARGET=
PERIPH_CLEAN_TARGET=

# These are absolute paths, so that the compiler
# generates correct __FILE__ symbols for debugging.
# Otherwise you don't be able to double-click on a memory
# error to load that file.
GENDIR=$(WXDIR)\src\generic
COMMDIR=$(WXDIR)\src\common
OS2DIR=$(WXDIR)\src\os2
HTMLDIR = $(WXDIR)\src\html

!if [md $(COMMDIR)\$D]
!endif

!if [md $(OS2DIR)\$D]
!endif

!if [md $(GENDIR)\$D]
!endif

!if [md $(HTMLDIR)\$D]
!endif

{..\generic}.cpp{..\generic\$D}.obj:
    @echo $<
    icc @<<
$(CPPFLAGS) /Fo$@ /Tp $<
<<

{..\common}.cpp{..\common\$D}.obj:
    @echo $<
    icc @<<
$(CPPFLAGS) /Fo$@ /Tp $<
<<

{..\os2}.cpp{..\os2\$D}.obj:
    @echo $<
    icc @<<
$(CPPFLAGS) /Fo$@ /Tp $<
<<

{..\os2}.c{..\os2\$D}.obj:
    @echo $<
    icc @<<
$(CPPFLAGS) /Fo$@ /Tp $<
<<

{..\html}.cpp{..\html\$D}.obj:
    @echo $<
    icc @<<
$(CPPFLAGS) /Fo$@ /Tp $<
<<

GENERICOBJS= \
  ..\generic\$D\busyinfo.obj \
  ..\generic\$D\calctrl.obj \
  ..\generic\$D\caret.obj \
  ..\generic\$D\choicdgg.obj \
  ..\generic\$D\colrdlgg.obj \
  ..\generic\$D\dcpsg.obj \
  ..\generic\$D\dirctrlg.obj \
  ..\generic\$D\dragimgg.obj \
  ..\generic\$D\fontdlgg.obj \
  ..\generic\$D\grid.obj \
  ..\generic\$D\gridctrl.obj \
  ..\generic\$D\gridsel.obj \
  ..\generic\$D\helpext.obj \
  ..\generic\$D\helphtml.obj \
  ..\generic\$D\helpwxht.obj \
  ..\generic\$D\helpxlp.obj \
  ..\generic\$D\imaglist.obj \
  ..\generic\$D\laywin.obj \
  ..\generic\$D\listctrl.obj \
  ..\generic\$D\logg.obj \
  ..\generic\$D\numdlgg.obj \
  ..\generic\$D\panelg.obj \
  ..\generic\$D\printps.obj \
  ..\generic\$D\prntdlgg.obj \
  ..\generic\$D\progdlgg.obj \
  ..\generic\$D\prop.obj \
  ..\generic\$D\propform.obj \
  ..\generic\$D\proplist.obj \
  ..\generic\$D\sashwin.obj \
  ..\generic\$D\scrolwin.obj \
  ..\generic\$D\splitter.obj \
  ..\generic\$D\statusbr.obj \
  ..\generic\$D\tabg.obj \
  ..\generic\$D\tbarsmpl.obj \
  ..\generic\$D\textdlgg.obj \
  ..\generic\$D\tipdlg.obj \
  ..\generic\$D\tipwin.obj \
  ..\generic\$D\treectlg.obj \
  ..\generic\$D\treelay.obj \
  ..\generic\$D\wizard.obj

#  ..\generic\$D\gridg.obj \
#  ..\generic\$D\notebook.obj \

GENLIBOBJS= \
  busyinfo.obj \
  calctrl.obj \
  caret.obj \
  choicdgg.obj \
  colrdlgg.obj \
  dcpsg.obj \
  dirctrlg.obj \
  dragimgg.obj \
  fontdlgg.obj \
  grid.obj \
  gridctrl.obj \
  gridsel.obj \
  helpext.obj \
  helphtml.obj \
  helpwxht.obj \
  helpxlp.obj \
  imaglist.obj \
  laywin.obj \
  listctrl.obj \
  logg.obj \
  numdlgg.obj \
  panelg.obj \
  printps.obj \
  prntdlgg.obj \
  progdlgg.obj \
  prop.obj \
  propform.obj \
  proplist.obj \
  sashwin.obj \
  scrolwin.obj \
  splitter.obj \
  statusbr.obj \
  tabg.obj \
  tbarsmpl.obj \
  textdlgg.obj \
  tipdlg.obj \
  tipwin.obj \
  treectlg.obj \
  treelay.obj \
  wizard.obj

# These are generic things that don't need to be compiled on PM,
# but sometimes it's useful to do so for testing purposes.
NONESSENTIALOBJS= \
  ..\generic\$D\msgdlgg.obj

COMMONOBJS = \
  ..\common\$D\appcmn.obj \
  ..\common\$D\choiccmn.obj \
  ..\common\$D\clipcmn.obj \
  ..\common\$D\cmdline.obj \
  ..\common\$D\cmndata.obj \
  ..\common\$D\config.obj \
  ..\common\$D\cshelp.obj \
  ..\common\$D\ctrlcmn.obj \
  ..\common\$D\ctrlsub.obj \
  ..\common\$D\datetime.obj \
  ..\common\$D\datstrm.obj \
!if "$(WXMAKINGDLL)" != "1"
# don't have an ODBC database
  ..\common\$D\db.obj \
  ..\common\$D\dbgrid.obj \
  ..\common\$D\dbtable.obj \
!endif
  ..\common\$D\dcbase.obj \
  ..\common\$D\dircmn.obj \
  ..\common\$D\dlgcmn.obj \
  ..\common\$D\dndcmn.obj \
  ..\common\$D\dobjcmn.obj \
  ..\common\$D\docmdi.obj \
  ..\common\$D\docview.obj \
  ..\common\$D\dynarray.obj \
  ..\common\$D\dynlib.obj \
  ..\common\$D\effects.obj \
  ..\common\$D\encconv.obj \
  ..\common\$D\event.obj \
  ..\common\$D\extended.obj \
  ..\common\$D\ffile.obj \
  ..\common\$D\file.obj \
  ..\common\$D\fileconf.obj \
  ..\common\$D\filefn.obj \
  ..\common\$D\filename.obj \
  ..\common\$D\filesys.obj \
  ..\common\$D\fontcmn.obj \
  ..\common\$D\fontmap.obj \
  ..\common\$D\framecmn.obj \
  ..\common\$D\fs_inet.obj \
  ..\common\$D\fs_mem.obj \
  ..\common\$D\fs_zip.obj \
  ..\common\$D\ftp.obj \
  ..\common\$D\gdicmn.obj \
  ..\common\$D\geometry.obj \
  ..\common\$D\gifdecod.obj \
  ..\common\$D\hash.obj \
  ..\common\$D\helpbase.obj \
  ..\common\$D\http.obj \
  ..\common\$D\imagall.obj \
  ..\common\$D\imagbmp.obj \
  ..\common\$D\image.obj \
  ..\common\$D\imaggif.obj \
  ..\common\$D\imagjpeg.obj \
  ..\common\$D\imagpcx.obj \
  ..\common\$D\imagpng.obj \
  ..\common\$D\imagpnm.obj \
  ..\common\$D\imagtiff.obj \
  ..\common\$D\imagxpm.obj \
  ..\common\$D\intl.obj \
  ..\common\$D\ipcbase.obj \
  ..\common\$D\layout.obj \
  ..\common\$D\lboxcmn.obj \
  ..\common\$D\list.obj \
  ..\common\$D\log.obj \
  ..\common\$D\longlong.obj \
  ..\common\$D\matrix.obj \
  ..\common\$D\memory.obj \
  ..\common\$D\menucmn.obj \
  ..\common\$D\mimecmn.obj \
  ..\common\$D\module.obj \
  ..\common\$D\mstream.obj \
  ..\common\$D\object.obj \
  ..\common\$D\objstrm.obj \
!if "$(WXMAKINGDLL)" != "1"
# don't have an ODBC database
  ..\common\$D\odbc.obj \
!endif
  ..\common\$D\paper.obj \
  ..\common\$D\prntbase.obj \
  ..\common\$D\process.obj \
  ..\common\$D\protocol.obj \
  ..\common\$D\quantize.obj \
  ..\common\$D\resource.obj \
  ..\common\$D\sckaddr.obj \
  ..\common\$D\sckfile.obj \
  ..\common\$D\sckipc.obj \
  ..\common\$D\sckstrm.obj \
  ..\common\$D\serbase.obj \
  ..\common\$D\sizer.obj \
  ..\common\$D\socket.obj \
  ..\common\$D\strconv.obj \
  ..\common\$D\stream.obj \
  ..\common\$D\string.obj \
  ..\common\$D\tbarbase.obj \
  ..\common\$D\textcmn.obj \
  ..\common\$D\textfile.obj \
  ..\common\$D\timercmn.obj \
  ..\common\$D\tokenzr.obj \
  ..\common\$D\treebase.obj \
  ..\common\$D\txtstrm.obj \
  ..\common\$D\unzip.obj \
  ..\common\$D\url.obj \
  ..\common\$D\utilscmn.obj \
  ..\common\$D\valgen.obj \
  ..\common\$D\validate.obj \
  ..\common\$D\valtext.obj \
  ..\common\$D\variant.obj \
  ..\common\$D\wfstream.obj \
  ..\common\$D\wincmn.obj \
  ..\common\$D\wxchar.obj \
  ..\common\$D\wxexpr.obj \
  ..\common\$D\xpmdecod.obj \
  ..\common\$D\y_tab.obj \
  ..\common\$D\zipstrm.obj \
  ..\common\$D\zstream.obj

COMLIBOBJS1 = \
  appcmn.obj \
  choiccmn.obj \
  clipcmn.obj \
  cmdline.obj \
  cmndata.obj \
  config.obj \
  cshelp.obj \
  ctrlcmn.obj \
  ctrlsub.obj \
  datetime.obj \
  datstrm.obj \
  db.obj \
  dbgrid.obj \
  dbtable.obj \
  dcbase.obj \
  dircmn.obj \
  dndcmn.obj \
  dlgcmn.obj \
  dobjcmn.obj \
  docmdi.obj \
  docview.obj \
  dynarray.obj \
  dynlib.obj \
  effects.obj \
  encconv.obj \
  event.obj \
  extended.obj \
  ffile.obj \
  file.obj \
  fileconf.obj \
  filefn.obj \
  filename.obj \
  filesys.obj \
  fontcmn.obj \
  fontmap.obj \
  framecmn.obj \
  fs_inet.obj \
  fs_mem.obj \
  fs_zip.obj \
  ftp.obj \
  gdicmn.obj \
  geometry.obj \
  gifdecod.obj \
  hash.obj

COMLIBOBJS2 = \
  helpbase.obj \
  http.obj \
  imagall.obj \
  imagbmp.obj \
  image.obj \
  imaggif.obj \
  imagjpeg.obj \
  imagpcx.obj \
  imagpng.obj \
  imagpnm.obj \
  imagtiff.obj \
  imagxpm.obj \
  intl.obj \
  ipcbase.obj \
  layout.obj \
  lboxcmn.obj \
  list.obj \
  log.obj \
  longlong.obj \
  matrix.obj \
  memory.obj \
  menucmn.obj \
  mimecmn.obj \
  module.obj \
  mstream.obj \
  object.obj \
  objstrm.obj \
  odbc.obj \
  paper.obj \
  prntbase.obj \
  process.obj \
  protocol.obj \
  quantize.obj \
  resource.obj \
  sckaddr.obj \
  sckfile.obj \
  sckipc.obj \
  sckstrm.obj \
  serbase.obj \
  sizer.obj \
  socket.obj \
  strconv.obj

COMLIBOBJS3 = \
  stream.obj \
  string.obj \
  tbarbase.obj \
  textcmn.obj \
  textfile.obj \
  timercmn.obj \
  tokenzr.obj \
  treebase.obj \
  txtstrm.obj \
  unzip.obj \
  url.obj \
  utilscmn.obj \
  valgen.obj \
  validate.obj \
  valtext.obj \
  variant.obj \
  wfstream.obj \
  wincmn.obj \
  wxchar.obj \
  wxexpr.obj \
  xpmdecod.obj \
  y_tab.obj \
  zipstrm.obj \
  zstream.obj

OS2OBJS = \
  ..\os2\$D\accel.obj \
  ..\os2\$D\app.obj \
  ..\os2\$D\bitmap.obj \
  ..\os2\$D\bmpbuttn.obj \
  ..\os2\$D\brush.obj \
  ..\os2\$D\button.obj \
  ..\os2\$D\checkbox.obj \
  ..\os2\$D\checklst.obj \
  ..\os2\$D\choice.obj \
  ..\os2\$D\clipbrd.obj \
  ..\os2\$D\colour.obj \
  ..\os2\$D\combobox.obj \
  ..\os2\$D\control.obj \
  ..\os2\$D\cursor.obj \
  ..\os2\$D\data.obj \
  ..\os2\$D\dataobj.obj \
  ..\os2\$D\dc.obj \
  ..\os2\$D\dcclient.obj \
  ..\os2\$D\dcmemory.obj \
  ..\os2\$D\dcprint.obj \
  ..\os2\$D\dcscreen.obj \
  ..\os2\$D\dialog.obj \
  ..\os2\$D\dir.obj \
  ..\os2\$D\dirdlg.obj \
  ..\os2\$D\dnd.obj \
  ..\os2\$D\filedlg.obj \
  ..\os2\$D\font.obj \
  ..\os2\$D\fontdlg.obj \
  ..\os2\$D\fontenum.obj \
  ..\os2\$D\fontutil.obj \
  ..\os2\$D\frame.obj \
  ..\os2\$D\gauge.obj \
  ..\os2\$D\gdiimage.obj \
  ..\os2\$D\gdiobj.obj \
  ..\os2\$D\gsocket.obj \
  ..\os2\$D\gsockpm.obj \
  ..\os2\$D\helpwin.obj \
  ..\os2\$D\icon.obj \
  ..\os2\$D\iniconf.obj \
  ..\os2\$D\joystick.obj \
  ..\os2\$D\listbox.obj \
  ..\os2\$D\main.obj \
  ..\os2\$D\mdi.obj \
  ..\os2\$D\menu.obj \
  ..\os2\$D\menuitem.obj \
  ..\os2\$D\metafile.obj \
  ..\os2\$D\mimetype.obj \
  ..\os2\$D\minifram.obj \
  ..\os2\$D\msgdlg.obj \
  ..\os2\$D\nativdlg.obj \
  ..\os2\$D\notebook.obj \
  ..\os2\$D\ownerdrw.obj \
  ..\os2\$D\palette.obj \
  ..\os2\$D\pen.obj \
  ..\os2\$D\pnghand.obj \
  ..\os2\$D\print.obj \
  ..\os2\$D\radiobox.obj \
  ..\os2\$D\radiobut.obj \
  ..\os2\$D\region.obj \
  ..\os2\$D\scrolbar.obj \
  ..\os2\$D\settings.obj \
  ..\os2\$D\slider.obj \
  ..\os2\$D\spinbutt.obj \
  ..\os2\$D\spinctrl.obj \
  ..\os2\$D\statbmp.obj \
  ..\os2\$D\statbox.obj \
  ..\os2\$D\statline.obj \
  ..\os2\$D\stattext.obj \
  ..\os2\$D\tabctrl.obj \
  ..\os2\$D\taskbar.obj \
  ..\os2\$D\textctrl.obj \
  ..\os2\$D\thread.obj \
  ..\os2\$D\timer.obj \
  ..\os2\$D\toolbar.obj \
  ..\os2\$D\tooltip.obj \
  ..\os2\$D\utils.obj \
  ..\os2\$D\utilsexc.obj \
  ..\os2\$D\wave.obj \
  ..\os2\$D\window.obj \
  ..\os2\$D\xpmhand.obj

OS2LIBOBJS1 = \
  accel.obj \
  app.obj \
  bitmap.obj \
  bmpbuttn.obj \
  brush.obj \
  button.obj \
  checkbox.obj \
  checklst.obj \
  choice.obj \
  clipbrd.obj \
  colour.obj \
  combobox.obj \
  control.obj \
  cursor.obj \
  data.obj \
  dataobj.obj \
  dc.obj \
  dcclient.obj \
  dcmemory.obj \
  dcprint.obj \
  dcscreen.obj \
  dialog.obj \
  dir.obj \
  dirdlg.obj \
  dnd.obj \
  filedlg.obj \
  font.obj \
  fontdlg.obj \
  fontenum.obj \
  fontutil.obj \
  frame.obj \
  gauge.obj \
  gdiimage.obj \
  gdiobj.obj \
  gsocket.obj \
  gsockpm.obj \
  helpwin.obj \
  icon.obj \
  iniconf.obj \
  joystick.obj \
  listbox.obj \
  main.obj \
  mdi.obj \
  menu.obj \
  menuitem.obj

OS2LIBOBJS2 = \
  metafile.obj \
  mimetype.obj \
  minifram.obj \
  msgdlg.obj \
  nativdlg.obj \
  notebook.obj \
  ownerdrw.obj \
  palette.obj \
  pen.obj \
  pnghand.obj \
  print.obj \
  radiobox.obj \
  radiobut.obj \
  region.obj \
  scrolbar.obj \
  settings.obj \
  slider.obj \
  spinbutt.obj \
  spinctrl.obj \
  statbmp.obj \
  statbox.obj \
  stattext.obj \
  statline.obj \
  tabctrl.obj \
  taskbar.obj \
  textctrl.obj \
  thread.obj \
  timer.obj \
  toolbar.obj \
  tooltip.obj \
  utils.obj \
  utilsexc.obj \
  wave.obj \
  window.obj \
  xpmhand.obj

HTMLOBJS = \
  ..\html\$D\helpctrl.obj \
  ..\html\$D\helpdata.obj \
  ..\html\$D\helpfrm.obj \
  ..\html\$D\htmlcell.obj \
  ..\html\$D\htmlfilt.obj \
  ..\html\$D\htmlpars.obj \
  ..\html\$D\htmltag.obj \
  ..\html\$D\htmlwin.obj \
  ..\html\$D\htmprint.obj \
  ..\html\$D\m_dflist.obj \
  ..\html\$D\m_fonts.obj \
  ..\html\$D\m_hline.obj \
  ..\html\$D\m_image.obj \
  ..\html\$D\m_layout.obj \
  ..\html\$D\m_links.obj \
  ..\html\$D\m_list.obj \
  ..\html\$D\m_meta.obj \
  ..\html\$D\m_pre.obj \
  ..\html\$D\m_tables.obj \
  ..\html\$D\winpars.obj

HTMLLIBOBJS = \
  helpctrl.obj \
  helpdata.obj \
  helpfrm.obj \
  htmlcell.obj \
  htmlfilt.obj \
  htmlpars.obj \
  htmltag.obj \
  htmlwin.obj \
  htmprint.obj \
  m_dflist.obj \
  m_fonts.obj \
  m_hline.obj \
  m_image.obj \
  m_layout.obj \
  m_links.obj \
  m_list.obj \
  m_meta.obj \
  m_pre.obj \
  m_tables.obj \
  winpars.obj

# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(NONESSENTIALOBJS) $(OS2OBJS)

# Normal, static library
all:  $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) zlib png jpeg xpm tiff $(LIBTARGET)

dirs: $(OS2DIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(HTMLDIR)\$D


test:   $(OS2DIR)\$D\wave.obj
test2:  ..\common\Debug\config.obj

$D\dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\os2\setup.h
        icc $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummy.obj /Tp dummy.cpp

$D\dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\os2\setup.h
        icc $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /Tp dummydll.cpp

$(COMLIBOBJS1):
  copy ..\common\$D\appcmn.obj
  copy ..\common\$D\choiccmn.obj
  copy ..\common\$D\clipcmn.obj
  copy ..\common\$D\cmdline.obj
  copy ..\common\$D\cmndata.obj
  copy ..\common\$D\config.obj
  copy ..\common\$D\cshelp.obj
  copy ..\common\$D\ctrlcmn.obj
  copy ..\common\$D\ctrlsub.obj
  copy ..\common\$D\datetime.obj
  copy ..\common\$D\datstrm.obj
  copy ..\common\$D\db.obj
  copy ..\common\$D\dbgrid.obj
  copy ..\common\$D\dbtable.obj
  copy ..\common\$D\dcbase.obj
  copy ..\common\$D\dlgcmn.obj
  copy ..\common\$D\dircmn.obj
  copy ..\common\$D\dndcmn.obj
  copy ..\common\$D\dobjcmn.obj
  copy ..\common\$D\docmdi.obj
  copy ..\common\$D\docview.obj
  copy ..\common\$D\dynarray.obj
  copy ..\common\$D\dynlib.obj
  copy ..\common\$D\effects.obj
  copy ..\common\$D\encconv.obj
  copy ..\common\$D\event.obj
  copy ..\common\$D\extended.obj
  copy ..\common\$D\ffile.obj
  copy ..\common\$D\file.obj
  copy ..\common\$D\fileconf.obj
  copy ..\common\$D\filefn.obj
  copy ..\common\$D\filename.obj
  copy ..\common\$D\filesys.obj
  copy ..\common\$D\fontcmn.obj
  copy ..\common\$D\fontmap.obj
  copy ..\common\$D\framecmn.obj
  copy ..\common\$D\fs_inet.obj
  copy ..\common\$D\fs_mem.obj
  copy ..\common\$D\fs_zip.obj
  copy ..\common\$D\ftp.obj
  copy ..\common\$D\gdicmn.obj
  copy ..\common\$D\geometry.obj
  copy ..\common\$D\gifdecod.obj
  copy ..\common\$D\hash.obj

$(COMLIBOBJS2):
  copy ..\common\$D\helpbase.obj
  copy ..\common\$D\http.obj
  copy ..\common\$D\imagall.obj
  copy ..\common\$D\imagbmp.obj
  copy ..\common\$D\image.obj
  copy ..\common\$D\imaggif.obj
  copy ..\common\$D\imagjpeg.obj
  copy ..\common\$D\imagpcx.obj
  copy ..\common\$D\imagpng.obj
  copy ..\common\$D\imagpnm.obj
  copy ..\common\$D\imagtiff.obj
  copy ..\common\$D\imagxpm.obj
  copy ..\common\$D\intl.obj
  copy ..\common\$D\ipcbase.obj
  copy ..\common\$D\layout.obj
  copy ..\common\$D\lboxcmn.obj
  copy ..\common\$D\list.obj
  copy ..\common\$D\log.obj
  copy ..\common\$D\longlong.obj
  copy ..\common\$D\matrix.obj
  copy ..\common\$D\memory.obj
  copy ..\common\$D\menucmn.obj
  copy ..\common\$D\mimecmn.obj
  copy ..\common\$D\module.obj
  copy ..\common\$D\mstream.obj
  copy ..\common\$D\object.obj
  copy ..\common\$D\objstrm.obj
  copy ..\common\$D\odbc.obj
  copy ..\common\$D\paper.obj
  copy ..\common\$D\prntbase.obj
  copy ..\common\$D\process.obj
  copy ..\common\$D\protocol.obj
  copy ..\common\$D\quantize.obj
  copy ..\common\$D\resource.obj
  copy ..\common\$D\sckaddr.obj
  copy ..\common\$D\sckfile.obj
  copy ..\common\$D\sckipc.obj
  copy ..\common\$D\sckstrm.obj
  copy ..\common\$D\serbase.obj
  copy ..\common\$D\sizer.obj
  copy ..\common\$D\socket.obj
  copy ..\common\$D\strconv.obj

$(COMLIBOBJS3):
  copy ..\common\$D\stream.obj
  copy ..\common\$D\string.obj
  copy ..\common\$D\tbarbase.obj
  copy ..\common\$D\textcmn.obj
  copy ..\common\$D\textfile.obj
  copy ..\common\$D\timercmn.obj
  copy ..\common\$D\tokenzr.obj
  copy ..\common\$D\treebase.obj
  copy ..\common\$D\txtstrm.obj
  copy ..\common\$D\unzip.obj
  copy ..\common\$D\url.obj
  copy ..\common\$D\utilscmn.obj
  copy ..\common\$D\valgen.obj
  copy ..\common\$D\validate.obj
  copy ..\common\$D\valtext.obj
  copy ..\common\$D\variant.obj
  copy ..\common\$D\wfstream.obj
  copy ..\common\$D\wincmn.obj
  copy ..\common\$D\wxchar.obj
  copy ..\common\$D\wxexpr.obj
  copy ..\common\$D\xpmdecod.obj
  copy ..\common\$D\y_tab.obj
  copy ..\common\$D\zipstrm.obj
  copy ..\common\$D\zstream.obj

$(GENLIBOBJS):
  copy ..\generic\$D\busyinfo.obj
  copy ..\generic\$D\calctrl.obj
  copy ..\generic\$D\caret.obj
  copy ..\generic\$D\choicdgg.obj
  copy ..\generic\$D\colrdlgg.obj
  copy ..\generic\$D\dragimgg.obj
  copy ..\generic\$D\dcpsg.obj
  copy ..\generic\$D\dirctrlg.obj
  copy ..\generic\$D\fontdlgg.obj
  copy ..\generic\$D\grid.obj
  copy ..\generic\$D\gridctrl.obj
  copy ..\generic\$D\gridsel.obj
  copy ..\generic\$D\helpext.obj
  copy ..\generic\$D\helphtml.obj
  copy ..\generic\$D\helpwxht.obj
  copy ..\generic\$D\helpxlp.obj
  copy ..\generic\$D\imaglist.obj
  copy ..\generic\$D\laywin.obj
  copy ..\generic\$D\listctrl.obj
  copy ..\generic\$D\logg.obj
  copy ..\generic\$D\numdlgg.obj
  copy ..\generic\$D\panelg.obj
  copy ..\generic\$D\printps.obj
  copy ..\generic\$D\prntdlgg.obj
  copy ..\generic\$D\progdlgg.obj
  copy ..\generic\$D\prop.obj
  copy ..\generic\$D\propform.obj
  copy ..\generic\$D\proplist.obj
  copy ..\generic\$D\sashwin.obj
  copy ..\generic\$D\scrolwin.obj
  copy ..\generic\$D\splitter.obj
  copy ..\generic\$D\statusbr.obj
  copy ..\generic\$D\tabg.obj
  copy ..\generic\$D\tbarsmpl.obj
  copy ..\generic\$D\textdlgg.obj
  copy ..\generic\$D\tipdlg.obj
  copy ..\generic\$D\tipwin.obj
  copy ..\generic\$D\treectlg.obj
  copy ..\generic\$D\treelay.obj
  copy ..\generic\$D\wizard.obj

$(HTMLLIBOBJS):
  copy ..\html\$D\helpctrl.obj
  copy ..\html\$D\helpdata.obj
  copy ..\html\$D\helpfrm.obj
  copy ..\html\$D\htmlcell.obj
  copy ..\html\$D\htmlfilt.obj
  copy ..\html\$D\htmlpars.obj
  copy ..\html\$D\htmltag.obj
  copy ..\html\$D\htmlwin.obj
  copy ..\html\$D\htmprint.obj
  copy ..\html\$D\m_dflist.obj
  copy ..\html\$D\m_fonts.obj
  copy ..\html\$D\m_hline.obj
  copy ..\html\$D\m_image.obj
  copy ..\html\$D\m_layout.obj
  copy ..\html\$D\m_links.obj
  copy ..\html\$D\m_list.obj
  copy ..\html\$D\m_meta.obj
  copy ..\html\$D\m_pre.obj
  copy ..\html\$D\m_tables.obj
  copy ..\html\$D\winpars.obj

$(OS2LIBOBJS1):
  copy ..\os2\$D\accel.obj
  copy ..\os2\$D\app.obj
  copy ..\os2\$D\bitmap.obj
  copy ..\os2\$D\bmpbuttn.obj
  copy ..\os2\$D\brush.obj
  copy ..\os2\$D\button.obj
  copy ..\os2\$D\checkbox.obj
  copy ..\os2\$D\checklst.obj
  copy ..\os2\$D\choice.obj
  copy ..\os2\$D\clipbrd.obj
  copy ..\os2\$D\colour.obj
  copy ..\os2\$D\combobox.obj
  copy ..\os2\$D\control.obj
  copy ..\os2\$D\cursor.obj
  copy ..\os2\$D\data.obj
  copy ..\os2\$D\dataobj.obj
  copy ..\os2\$D\dc.obj
  copy ..\os2\$D\dcclient.obj
  copy ..\os2\$D\dcmemory.obj
  copy ..\os2\$D\dcprint.obj
  copy ..\os2\$D\dcscreen.obj
  copy ..\os2\$D\dialog.obj
  copy ..\os2\$D\dir.obj
  copy ..\os2\$D\dirdlg.obj
  copy ..\os2\$D\dnd.obj
  copy ..\os2\$D\filedlg.obj
  copy ..\os2\$D\font.obj
  copy ..\os2\$D\fontdlg.obj
  copy ..\os2\$D\fontenum.obj
  copy ..\os2\$D\fontutil.obj
  copy ..\os2\$D\frame.obj
  copy ..\os2\$D\gauge.obj
  copy ..\os2\$D\gdiimage.obj
  copy ..\os2\$D\gdiobj.obj
  copy ..\os2\$D\gsocket.obj
  copy ..\os2\$D\gsockpm.obj
  copy ..\os2\$D\helpwin.obj
  copy ..\os2\$D\icon.obj
  copy ..\os2\$D\iniconf.obj
  copy ..\os2\$D\joystick.obj
  copy ..\os2\$D\listbox.obj
  copy ..\os2\$D\main.obj
  copy ..\os2\$D\mdi.obj
  copy ..\os2\$D\menu.obj
  copy ..\os2\$D\menuitem.obj

$(OS2LIBOBJS2):
  copy ..\os2\$D\metafile.obj
  copy ..\os2\$D\mimetype.obj
  copy ..\os2\$D\minifram.obj
  copy ..\os2\$D\msgdlg.obj
  copy ..\os2\$D\nativdlg.obj
  copy ..\os2\$D\notebook.obj
  copy ..\os2\$D\ownerdrw.obj
  copy ..\os2\$D\palette.obj
  copy ..\os2\$D\pen.obj
  copy ..\os2\$D\pnghand.obj
  copy ..\os2\$D\print.obj
  copy ..\os2\$D\radiobox.obj
  copy ..\os2\$D\radiobut.obj
  copy ..\os2\$D\region.obj
  copy ..\os2\$D\scrolbar.obj
  copy ..\os2\$D\settings.obj
  copy ..\os2\$D\slider.obj
  copy ..\os2\$D\spinbutt.obj
  copy ..\os2\$D\spinctrl.obj
  copy ..\os2\$D\statbmp.obj
  copy ..\os2\$D\statbox.obj
  copy ..\os2\$D\statline.obj
  copy ..\os2\$D\stattext.obj
  copy ..\os2\$D\tabctrl.obj
  copy ..\os2\$D\taskbar.obj
  copy ..\os2\$D\textctrl.obj
  copy ..\os2\$D\thread.obj
  copy ..\os2\$D\timer.obj
  copy ..\os2\$D\toolbar.obj
  copy ..\os2\$D\tooltip.obj
  copy ..\os2\$D\utils.obj
  copy ..\os2\$D\utilsexc.obj
  copy ..\os2\$D\wave.obj
  copy ..\os2\$D\window.obj
  copy ..\os2\$D\xpmhand.obj

# wxWindows library as DLL
dll:
        nmake -f makefile.va all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)

cleandll:
        nmake -f makefile.va clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)

# wxWindows + app as DLL. Only affects main.cpp.
dllapp:
        nmake -f makefile.va all FINAL=$(FINAL) DLL=1

# wxWindows + app as DLL, for Netscape plugin - remove DllMain.
dllnp:
        nmake -f makefile.va all FINAL=$(FINAL) DLL=1

# Use this to make dummy.obj and generate a PCH.
# You might use the dll target, then the pch target, in order to
# generate a DLL, then a PCH/dummy.obj for compiling your applications with.
#
# Explanation: Normally, when compiling a static version of wx.lib, your dummy.obj/PCH
# are associated with wx.lib. When using a DLL version of wxWindows, however,
# the DLL is compiled without a PCH, so you only need it for compiling the app.
# In fact headers are compiled differently depending on whether a DLL is being made
# or an app is calling the DLL exported functionality (WXDLLEXPORT is different
# in each case) so you couldn't use the same PCH.
pch:
        nmake -f makefile.va pch1 WXUSINGDLL=1 FINAL=$(FINAL) NEW_WXLIBNAME=$(NEW_WXLIBNAME)

pch1:   dirs $(DUMMYOBJ)
    echo $(DUMMYOBJ)

!if "$(WXMAKINGDLL)" != "1"

### Static library

$(WXDIR)\lib\wxcom1.lib: $(COMLIBOBJS1)
 -touch $(WXDIR)\lib\wxcom1.lib
 -del $(WXDIR)\lib\wxcom1.lib
 ilib $(LIBFLAGS) $@ @<<
    $**;
<<

$(WXDIR)\lib\wxcom2.lib: $(COMLIBOBJS2)
 -touch $(WXDIR)\lib\wxcom2.lib
 -del $(WXDIR)\lib\wxcom2.lib
 ilib $(LIBFLAGS) $@ @<<
    $**;
<<

$(WXDIR)\lib\wxcom3.lib: $(COMLIBOBJS3)
 -touch $(WXDIR)\lib\wxcom3.lib
 -del $(WXDIR)\lib\wxcom3.lib
 ilib $(LIBFLAGS) $@ @<<
    $**;
<<

$(WXDIR)\lib\wxgen.lib: $(GENLIBOBJS)
 -touch $(WXDIR)\lib\wxgen.lib
 -del $(WXDIR)\lib\wxgen.lib
 ilib $(LIBFLAGS) $@ @<<
    $**;
<<

$(WXDIR)\lib\wxhtml.lib: $(HTMLLIBOBJS)
 -touch $(WXDIR)\lib\wxhtml.lib
 -del $(WXDIR)\lib\wxhtml.lib
 ilib $(LIBFLAGS) $@ @<<
    $**;
<<

$(WXDIR)\lib\wxnones.lib: $(NONESSENTIALOBJS)
 -touch $(WXDIR)\lib\wxnones.lib
 -del $(WXDIR)\lib\wxnones.lib
 ilib $(LIBFLAGS) $@ @<<
    $**;
<<

$(WXDIR)\lib\wxos21.lib: $(OS2LIBOBJS1)
 -touch $(WXDIR)\lib\wxos21.lib
 -del $(WXDIR)\lib\wxos21.lib
 ilib $(LIBFLAGS) $@ @<<
    $**;
<<

$(WXDIR)\lib\wxos22.lib: $(OS2LIBOBJS2)
 -touch $(WXDIR)\lib\wxos22.lib
 -del $(WXDIR)\lib\wxos22.lib
 ilib $(LIBFLAGS) $@ @<<
    $**;
<<
 del *.obj

$(WXDIR)\lib\wx.lib: \
  $D\dummy.obj \
  $(COMTEMPTGT1) \
  $(COMTEMPTGT2) \
  $(COMTEMPTGT3) \
  $(GENTEMPTGT) \
  $(HTMLTEMPTGT) \
  $(NONESTEMPTGT) \
  $(OS2TEMPTGT1) \
  $(OS2TEMPTGT2) \
  $(PERIPH_LIBS)
 -touch $(LIBTARGET)
 -del $(LIBTARGET)
 ilib $(LIBFLAGS) $@ @<<
    $**;
<<
 del $(COMTEMPTGT1)
 del $(COMTEMPTGT2)
 del $(COMTEMPTGT3)
 del $(GENTEMPTGT)
 del $(HTMLTEMPTGT)
 del $(NONESTEMPTGT)
 del $(OS2TEMPTGT1)
 del $(OS2TEMPTGT2)

!else

# Update the dynamic link library
$(WXDIR)\lib\wx23.dll: $(OBJECTS)
    icc @<<
    /B" $(LINKFLAGS)" /Fe$@
    $(LIBS)
    $(DUMMYOBJ)
    $(OBJECTS)
    $(WXDIR)\src\os2\wx23.def
<<
    implib $(WXDIR)\lib\wx23.lib $(WXDIR)\src\os2\wx23.def

!endif

# If taking wxWindows from CVS, setup.h doesn't exist yet.
$(WXDIR)\include\wx\os2\setup.h: $(WXDIR)\include\wx\os2\setup0.h
    copy "$(WXDIR)"\include\wx\os2\setup.h "$(WXDIR)"\include\wx\os2\setup.bak
    copy "$(WXDIR)"\include\wx\os2\setup0.h "$(WXDIR)"\include\wx\os2\setup.h

..\common\$D\extended.obj:     ..\common\extended.c
        icc @<<
$(CPPFLAGS2) /Fo$@ $(COMMDIR)\extended.c
<<

..\common\$D\y_tab.obj:     ..\common\y_tab.c ..\common\lex_yy.c
        icc @<<
$(CPPFLAGS2) /DUSE_DEFINE /DYY_USE_PROTOS /Fo$@  ..\common\y_tab.c
<<

..\common\y_tab.c:     ..\common\dosyacc.c
        copy "..\common"\dosyacc.c "..\common"\y_tab.c

..\common\lex_yy.c:    ..\common\doslex.c
    copy "..\common"\doslex.c "..\common"\lex_yy.c

$(OBJECTS): $(WXDIR)/include/wx/setup.h

..\common\$D\unzip.obj:     ..\common\unzip.c
        icc @<<
$(CPPFLAGS2) /Fo$@ $(COMMDIR)\unzip.c
<<

png:
    cd $(WXDIR)\src\png
    nmake -f makefile.va FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
    cd $(WXDIR)\src\os2

clean_png:
    cd $(WXDIR)\src\png
    nmake -f makefile.va clean
    cd $(WXDIR)\src\os2

zlib:
    cd $(WXDIR)\src\zlib
    nmake -f makefile.va FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
    cd $(WXDIR)\src\os2

clean_zlib:
    cd $(WXDIR)\src\zlib
    nmake -f makefile.va clean
    cd $(WXDIR)\src\os2

jpeg:
    cd $(WXDIR)\src\jpeg
    nmake -f makefile.va FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
    cd $(WXDIR)\src\os2

clean_jpeg:
    cd $(WXDIR)\src\jpeg
    nmake -f makefile.va clean
    cd $(WXDIR)\src\os2

xpm:
    cd $(WXDIR)\src\xpm
    nmake -f makefile.va FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
    cd $(WXDIR)\src\os2

clean_xpm:
    cd $(WXDIR)\src\xpm
    nmake -f makefile.va clean
    cd $(WXDIR)\src\os2

tiff:
    cd $(WXDIR)\src\tiff
    nmake -f makefile.va FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
    cd $(WXDIR)\src\os2

clean_tiff:
    cd $(WXDIR)\src\tiff
    nmake -f makefile.va clean
    cd $(WXDIR)\src\os2

clean:  $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_jpeg clean_xpm clean_tiff
        erase /N $(GENDIR)\$D\*.obj
        erase /N $(COMMDIR)\$D\*.obj
        erase /N $(HTMLDIR)\$D\*.obj
        erase /N $(OS2DIR)\$D\*.obj
        erase /N $(COMMDIR)\y_tab.c
        erase /N $(COMMDIR)\lex_yy.c
        rd       $(D)
        rd      ..\generic\$D
        rd      ..\common\$D
        rd      ..\html\$D
        rd      ..\os2\$D
        del      $(LIBTARGET)
!if "$(WXMAKINGDLL)" == "1"
        erase /N ..\..\lib\wx23.lib
!endif

cleanall: clean