#=======================================================================
#  Makefile for example V draw program - debug version
#  Copyright (C) 1995  Bruce E. Wampler
#
#  This program is part of the V C++ GUI Framework example programs.
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#=======================================================================

CONFIG=../Config.mk
include $(CONFIG)

#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ifeq ($(TOOLKIT),Motif)
PROG=\
	$(Bin)/vdrawmdb
else
PROG=\
	$(Bin)/vdrawdb
endif
ifeq ($(Arch),os2)
PROG	= 	$(Bin)/vdrawdb.exe
endif

EXOBJS=\
	$(oDir)/vdrwapp.o \
	$(oDir)/vdrwcnv.o \
	$(oDir)/vdrwcmdw.o \
	$(oDir)/vdrwdlg.o \
	$(oDir)/vbglcnv.o \
	$(oDir)/vstartup.o \
	$(oDir)/vapp.o \
	$(oDir)/vawinfo.o \
	$(oDir)/vbaseitm.o \
	$(oDir)/vbasewin.o \
	$(oDir)/vboxlblc.o \
	$(oDir)/vbrush.o \
	$(oDir)/vbtncmd.o \
	$(oDir)/vcanvas.o \
	$(oDir)/vchkboxc.o \
	$(oDir)/vcmd.o \
	$(oDir)/vcmdpane.o \
	$(oDir)/vcmdprnt.o \
	$(oDir)/vcmdwin.o \
	$(oDir)/vcolor.o \
	$(oDir)/vcomboc.o \
	$(oDir)/vcpdc.o \
	$(oDir)/vdebug.o \
	$(oDir)/vdialog.o \
	$(oDir)/vfilesel.o \
	$(oDir)/vfinddlg.o \
	$(oDir)/vfont.o \
	$(oDir)/vfontsel.o \
	$(oDir)/vframec.o \
	$(oDir)/vicon.o \
	$(oDir)/vlabelc.o \
	$(oDir)/vlistc.o \
	$(oDir)/vmemdc.o \
	$(oDir)/vmenu.o \
	$(oDir)/vmodald.o \
	$(oDir)/vnotice.o \
	$(oDir)/vos.o \
	$(oDir)/vpen.o \
	$(oDir)/vpopmenu.o \
	$(oDir)/vprogrsc.o \
	$(oDir)/vradioc.o \
	$(oDir)/vreply.o \
	$(oDir)/vsliderc.o \
	$(oDir)/vslist.o \
	$(oDir)/vspinc.o \
	$(oDir)/vtextc.o \
	$(oDir)/vtextcnv.o \
	$(oDir)/vtexted.o \
	$(oDir)/vtextinc.o \
	$(oDir)/vthislst.o \
	$(oDir)/vtimer.o \
	$(oDir)/vutil.o \
	$(oDir)/vwindc.o \
	$(oDir)/vwindow.o \
	$(oDir)/vwinprdc.o \
	$(oDir)/vwinprtr.o \
	$(oDir)/vynreply.o \
	$(oDir)/printf.o

ifeq ($(Arch),gnuwin32)
EXOBJS += $(oDir)/vdrawrc.o
endif

ifeq ($(Arch),os2)
EXOBJS += $(oDir)/vos2.res \
	  $(HOMEV)/srcos2/vos2.def 
endif

VPATH += ;$(HOMEV)/srcos2

BASEDEP =\
	v_defs.h vbaseitm.h vbasewin.h vapp.h vos2.h

PANEDEP	=\
	vpane.h vwindow.h

CMDDEP	=\
	v_defs.h vdialog.h vcmd.h vcmdprnt.h

CMDS	=\
	vbtncmd.h vlabelc.h vlistc.h vframec.h vchkboxc.h vradioc.h \
	vprogrsc.h vsliderc.h vtextinc.h vcomboc.h vtextc.h \
	vcolor.h vpen.h vspinc.h


#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

.PHONY: default all objs clean cleanobj cleanall

default: all

all: $(PROG)

clean:
	-rm -f $(CLEANEXTS)
	-rm -f $(EXOBJS)

cleanall: clean
	-rm -f $(PROG)

objs:	$(EXOBJS)

#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

$(PROG):	$(EXOBJS)
	$(LD) -o $@ $(EXOBJS) $(LDFLAGS)

$(oDir)/vdrawrc.o:	vdraw.rc vdraw.ico vwindow.ico
	$(RES) vdraw.rc $(oDir)/vdrawrc.o

$(oDir)/vdrwcnv.o:	vdrwcnv.cpp v_defs.h vdrwcnv.h vdrwcmdw.h vdrwdlg.h \
	vprintdc.h vprinter.h
	$(CXX) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vdrwdlg.o:	vdrwdlg.cpp v_defs.h vdrwdlg.h vdrwcmdw.h vdrwcnv.h
	$(CXX) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vdrwcmdw.o:	vdrwcmdw.cpp v_defs.h vdrwcmdw.h vdrwcnv.h vdrwdlg.h
	$(CXX) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vdrwapp.o:	vdrwapp.cpp v_defs.h vdrwapp.h vdrwcmdw.h vdrwcnv.h vdrwdlg.h
	$(CXX) -c $(CFLAGS) -o $@ $<

# For os/2 only - compiles resource file
$(oDir)/vos2.res:   $(HOMEV)/srcos2/vos2.rc $(HOMEV)/srcos2/vApp.ico $(HOMEV)/srcos2/collate.bmp
	$(RES) $< $@

$(oDir)/vapp.o:       vapp.cpp $(BASEDEP) vfont.h vawinfo.h vcmdwin.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vawinfo.o:    vawinfo.cpp $(BASEDEP) vawinfo.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vbaseitm.o:   vbaseitm.cpp vbaseitm.h v_defs.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vbasewin.o:   vbasewin.cpp $(BASEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vbglcnv.o:   vbglcnv.cpp vbglcnv.h vcanvas.h vcpdc.h \
      $(BASEDEP) $(PANEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vboxlblc.o:   vboxlblc.cpp $(BASEDEP) vboxlblc.h vcmdprnt.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vbrush.o:     vbrush.cpp $(BASEDEP) vbrush.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vbtncmd.o:    vbtncmd.cpp vbtncmd.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vcanvas.o:    vcanvas.cpp vcanvas.h vfont.h vcpdc.h vbrush.h \
      vpen.h $(BASEDEP) $(PANEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vchkboxc.o:   vchkboxc.cpp vchkboxc.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vcmd.o:       vcmd.cpp vcmd.h $(BASEDEP) $(PANEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vcmdpane.o:   vcmdpane.cpp vcmdpane.h $(BASEDEP) $(PANEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vcmdwin.o:    vcmdwin.cpp $(BASEDEP) vwindow.h vpane.h vcmdwin.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vcmdprnt.o:   vcmdprnt.cpp $(BASEDEP) vcmdprnt.h $(CMDS)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vcomboc.o:    vcomboc.cpp vcomboc.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vcolor.o:     vcolor.cpp vcolor.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vdebug.o:     vdebug.cpp vdebug.h $(BASEDEP) vcmdprnt.h vmodald.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vdialog.o:    vdialog.cpp vdialog.h $(BASEDEP) vcmdprnt.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vcpdc.o:      vcpdc.cpp vdc.h vcpdc.h vpen.h $(BASEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vpsdc.o:      vpsdc.cpp vdc.h vpsdc.h vprinter.h vpsprntr.h $(BASEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vfilesel.o:   vfilesel.cpp vfilesel.h $(BASEDEP) vcmdprnt.h \
      vmodald.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vfinddlg.o:   vfinddlg.cpp vfinddlg.h $(BASEDEP) vcmdprnt.h \
      vmodald.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vfontsel.o:   vfontsel.cpp vfontsel.h vfont.h $(BASEDEP) vcmdprnt.h \
      vmodald.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vfont.o:      vfont.cpp vfont.h $(BASEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vframec.o:    vframec.cpp vframec.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vicon.o:      vicon.cpp vicon.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vlabelc.o:    vlabelc.cpp vlabelc.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vlistc.o:     vlistc.cpp vlistc.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vmemdc.o:     vmemdc.cpp vmemdc.h vdc.h vpen.h vpen.h $(BASEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vmenu.o:      vmenu.cpp vmenu.h $(BASEDEP) $(PANEDEP) vcmdwin.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vmodald.o:    vmodald.cpp vmodald.h vdialog.h \
      $(BASEDEP) vcmdprnt.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vnotice.o:    vnotice.cpp vnotice.h $(BASEDEP) vcmdprnt.h \
      vmodald.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vos.o:       vos.cpp vos.h $(BASEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vpen.o:       vpen.cpp vpen.h $(BASEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vpopmenu.o:   vpopmenu.cpp vpopmenu.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vprogrsc.o:   vprogrsc.cpp vprogrsc.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vpsprntr.o:   vpsprntr.cpp vpsprntr.h vprinter.h $(BASEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vradioc.o:    vradioc.cpp vradioc.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vsliderc.o:   vsliderc.cpp vsliderc.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vslist.o:   vslist.cpp vslist.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vreply.o:     vreply.cpp vreply.h $(BASEDEP) vcmdprnt.h vmodald.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vspinc.o:     vspinc.cpp vspinc.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vstartup.o:     vstartup.cpp vapp.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vtextc.o:     vtextc.cpp vtextc.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vtextcnv.o:   vtextcnv.cpp vtextcnv.h vcanvas.h vcpdc.h \
      $(BASEDEP) $(PANEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vtexted.o:    vtexted.cpp vtexted.h vtextcnv.h vcanvas.h vcpdc.h \
      $(BASEDEP) $(PANEDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vtextinc.o:   vtextinc.cpp vtextinc.h $(CMDDEP)
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vthislst.o:   vthislst.cpp vthislst.h vwin32.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vtimer.o:     vtimer.cpp vtimer.h vapp.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vutil.o:      vutil.cpp vutil.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vwindc.o:     vwindc.cpp $(BASEDEP) vwindc.h vmemdc.h vcanvas.h vicon.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vwindow.o:    vwindow.cpp $(BASEDEP) vwindow.h vpane.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vwinprdc.o:   vwinprdc.cpp $(BASEDEP) vwinprdc.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vwinprtr.o:   vwinprtr.cpp $(BASEDEP) vwinprtr.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/vynreply.o:   vynreply.cpp vynreply.h $(BASEDEP) vcmdprnt.h vmodald.h
	$(CXX) -c $(CFLAGS) -o $@ $< $(LOG)

$(oDir)/printf.o:   printf.c 
	$(CC) -c $(CFLAGS) -o $@ $< $(LOG)
