#===============================================================
# V Makefile - Version 1.05 - 2/29/1996
#
# Copyright (C) 1995  Bruce E. Wampler
#
# This file is part of the V C++ GUI Framework, and is covered
# under the terms of the GNU Library General Public License,
# Version 2. This library has NO WARRANTY. See the source file
# vapp.cxx for more complete information about license terms.
#===============================================================

# NOTE: this make file requires a make version compatible with GNU make,
#       specifically VPATH support.

VV	=	1.05
VVW	=	105

CC	=	g++

# These are the platforms that V has been extensively tested with.
# If you have one of these platforms, you can comment out the others
# and make yours the default platform. You can also use "ARCH=x"
# on the make command line. There is also a section below called
# "Platform notes" that contains various feedback I've gotten about
# ports to other platforms. These notes may help you on your platform.

#       default arch is intel (Linux, really)
ARCH	= intel
#ARCH	= sun4
#ARCH	= mips
#ARCH	= sgi

Arch = $(ARCH)

ifeq ($(Arch),i586)
Arch = intel
endif
ifeq ($(Arch),i486)
Arch = intel
endif

# Platform notes
#
# I've received the following feedback from various V users. Because
# of machine access limitations, I haven't been able to test all these
# myself, but the information is still likely to be helpful.
# If you have any additions to this section, please send me e-mail, and
# I will add a note to this file. Thanks.
#
# All platforms --
#
#   HOMEV: change the defintion of HOMEV to correspond to wherever
#      you are keeping V.
#
#   The locations of the various libraries and include
#   files it the greatest variable from platform to platform.
#   Follow the pattern estabalished here to define the
#   dependencies for your platform. Eventually, I'd like
#   have to learn imake, and I'd rather work on an OS/2 port...
#
#   Not all platforms need ranlib (sgi, solaris). For those
#   platforms, define RANLIB = true to avoid make error.
#
#
# Linux --
#   some Linux setups also need -I/usr/lib/g++-include
#
# Solaris --
#
#   Define RANLIB = true
#   Add socket library (known for Solaris 2.4):
#   LIBS  =  -lV -lXaw -lXmu -lXt -lXext -lX11 -lsocket
#

# Platform specific definitions

# Linux
ifeq ($(Arch),intel)
HOMEV	=	/home/bruce
X11INC	=	/usr/X11/include
X11LIB	=	/usr/X11R6/lib
Arch	=	intel
LIBS	=	-lV -lXaw -lXmu -lXt -lXext -lX11
TARZ	=	z
RANLIB	=	ranlib
endif

# Sun4 - unm
ifeq ($(Arch),sun4)
HOMEV	=	/nfs/u1/wampler
X11INC	=	/usr/local/X11/include
X11LIB	=	/usr/local/X11/lib
LIBS	=	-lV -lXaw -lXmu -lXt -lXext -lX11
TARZ	=
RANLIB	=	ranlib
endif


# mips - unm
ifeq ($(Arch),mips)
HOMEV	=	/nfs/u1/wampler
X11INC	=	/usr/local/X11/include
X11LIB	=	/usr/local/X11/lib
LIBS	=	-lV -lXaw -lXmu -lXt -lXext -lX11
TARZ	=
RANLIB	=	ranlib
endif

# sgi - unm
ifeq ($(Arch),sgi)
HOMEV	=	/nfs/u1/wampler
X11INC	=	/usr/include
X11LIB	=	/usr/lib
LIBS	=	-lV -lXaw -lXmu -lXt -lXext -lX11
TARZ	=
RANLIB	=	true
endif

VPATH	=	srcx:includex/v:test:examp:tutor

# Architecture dependent

VLibDir	=	$(HOMEV)/v/lib/$(Arch)

oDir	=	obj/$(Arch)

LibDir	=	lib/$(Arch)

Bin	=	bin/$(Arch)

# Location of sources and inputs


# Flags for includes and libraries

CFLAGS	=	-O -I$(X11INC) -I$(HOMEV)/v/includex

#CFLAGS	=	-g -I$(X11INC) -I$(HOMEV)/v/includex

LFLAGS	=	-L$(X11LIB) -L$(VLibDir)

# Directory stuff

#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PERMDIRS =	. doc doc/fig examp tutor includex includex/v includew/v lib \
		lib/* obj obj/* objm objm/* srcx srcwin test draw drawex bin \
		bin/* bmp2vbm bccide

PERMFILES =	make* NEWS README COPY* RDMEWIN.TXT doc/*/* doc/* includex/v/* \
		includew/v/* lib/*/* obj/*/* objm/*/* srcx/* srcwin/* test/* \
		draw/* drawex/* examp/* bin/*/* tutor/* bmp2vbm/* bccide/* \
		clnupwin.bat PACKLIST

EXEFILES =	makesun makesgi makemips bin/*/* doc/checkspelling doc/cleanup \
		doc/dovwebref

# V library objs
LibObjs	=	$(oDir)/vapp.o \
		$(oDir)/vawinfo.o \
		$(oDir)/vbaseitm.o \
		$(oDir)/vbasewin.o \
		$(oDir)/vbtncmd.o \
		$(oDir)/vcanvas.o \
		$(oDir)/canvas.o \
		$(oDir)/vcbtncmd.o \
		$(oDir)/vchkboxc.o \
		$(oDir)/vclabelc.o \
		$(oDir)/vcmd.o \
		$(oDir)/vcmdpane.o \
		$(oDir)/vcmdwin.o \
		$(oDir)/vcmdprnt.o \
		$(oDir)/vcolor.o \
		$(oDir)/vcomboc.o \
		$(oDir)/vcpdc.o \
		$(oDir)/vdebug.o \
		$(oDir)/vdialog.o \
		$(oDir)/vfilesel.o \
		$(oDir)/vfont.o \
		$(oDir)/vfontsel.o \
		$(oDir)/vframec.o \
		$(oDir)/vicon.o \
		$(oDir)/vlabelc.o \
		$(oDir)/vlistc.o \
		$(oDir)/vmenu.o \
		$(oDir)/vmodald.o \
		$(oDir)/vnotice.o \
		$(oDir)/vpsprntr.o \
		$(oDir)/vprogrsc.o \
		$(oDir)/vpsdc.o \
		$(oDir)/vradioc.o \
		$(oDir)/vreply.o \
		$(oDir)/vsliderc.o \
		$(oDir)/vspinc.o \
		$(oDir)/vstatusp.o \
		$(oDir)/vtextc.o \
		$(oDir)/vtextcnv.o \
		$(oDir)/vtextinc.o \
		$(oDir)/vtimer.o \
		$(oDir)/vutil.o \
		$(oDir)/vwindow.o \
		$(oDir)/vx2vkey.o \
		$(oDir)/vynreply.o


TestObjs =	$(oDir)/testapp.o \
		$(oDir)/vtcanvas.o \
		$(oDir)/vtcmdwin.o \
		$(oDir)/vtdialog.o


EXOBJS	=	$(oDir)/protoapp.o \
		$(oDir)/mydialog.o \
		$(oDir)/mymodal.o \
		$(oDir)/mycanvas.o \
		$(oDir)/mycmdwin.o

VLIB	=	$(LibDir)/libV.a

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

PANEDEP	=	vpane.h vwindow.h

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

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

#---------------------------------------------------------------------
#
#	OK, the work begins here
#
#---------------------------------------------------------------------
all:	vlib vtest
	@echo "All files made"

.PHONY:	what
what:
	@echo "all - v1 test + libV"
	@echo "vtest - vtest + libV"
	@echo "vlib - vlib only"
	@echo "examp - example"
	@echo "objs - objs only"
	@echo "clean - clean .bak .tmp"
	@echo "cleanobj - clean .o"
	@echo "cleanall - clean .bak .tmp .ps .o .a executables"
	@echo "cleantest clean test .o's"
	@echo "tar - X and Windows distribution"
	@echo "tarwin - Windows distribution"
	@echo "tarx - X distribution"
	@echo "tardemo - tar file of demo programs"
	@echo "tarfull - clean .baks, then everything"
	@echo "permissions - set permisstions"
	@echo "getwin - read windows from DOS partition"


.PHONY: examp
examp:	$(Bin)/proto

$(Bin)/proto:	$(EXOBJS) $(VLibDir)/libV.a
	$(CC) -o $@ $(LFLAGS) $(EXOBJS) $(LIBS)

.PHONY:	vtest
vtest:	$(Bin)/v1

$(Bin)/v1:	$(TestObjs) $(VLIB)
	@echo "Linking V1"
	$(CC) -o $@ $(LFLAGS) $(TestObjs) $(LIBS)

.PHONY:	vlib
vlib:	$(LibDir)/libV.a

$(LibDir)/libV.a:	$(LibObjs)
	rm -f $(LibDir)/libV.a
	ar cr $(LibDir)/libV.a $(LibObjs)
	$(RANLIB) $(LibDir)/libV.a
	chmod 644 $(LibDir)/libV.a

.PHONY:	objs
objs:	$(TestObjs) $(LibObjs)

.PHONY:	clean
clean:
	-rm *.bak *.bkh *.tmp v.tgz
	-rm doc/*.bak doc/*.tmp doc/*.aux doc/*.log
	-rm doc/fig/*.bak
	-rm examp/*.bak examp/*.tmp
	-rm bmp2vbm/*.bak bmp2vbm/*.tmp
	-rm bccide/*.bak bccide/*.tmp bccide/*.\~*
	-rm tutor/*.bak tutor/*.tmp
	-rm includex/v/*.bak includex/v/*.tmp
	-rm includew/v/*.bak includew/v/*.tmp
	-rm srcx/*.bak srcx/*.tmp
	-rm srcwin/*.bak srcwin/*.tmp
	-rm test/*.bak test/*.tmp
	-rm draw/*.bak draw/*.tmp
	-rm drawex/*.bak drawex/*.tmp

.PHONY: cleanmotif
cleanmotif:
	-rm objm/*/* lib/*/libVm.a bin/*/v1m
	touch objm/intel/ThisIs
	touch objm/mips/ThisIs
	touch objm/sgi/ThisIs
	touch objm/sun4/ThisIs


.PHONY:	cleanobj
cleanobj: 
	-rm obj/*/* objm/*/*
	touch obj/intel/ThisIs
	touch obj/mips/ThisIs
	touch obj/sgi/ThisIs
	touch obj/sun4/ThisIs
	touch obj/vwin/ThisIs
	touch obj/vwindb/ThisIs
	touch objm/intel/ThisIs
	touch objm/mips/ThisIs
	touch objm/sgi/ThisIs
	touch objm/sun4/ThisIs

.PHONY:	cleanall
cleanall: 
	-rm obj/*/* objm/*/* lib/*/* bin/*/*
	touch obj/intel/ThisIs
	touch obj/mips/ThisIs
	touch obj/sgi/ThisIs
	touch obj/sun4/ThisIs
	touch obj/vwin/ThisIs
	touch obj/vwindb/ThisIs
	touch objm/intel/ThisIs
	touch objm/mips/ThisIs
	touch objm/sgi/ThisIs
	touch objm/sun4/ThisIs
	touch lib/intel/ThisIs
	touch lib/mips/ThisIs
	touch lib/sgi/ThisIs
	touch lib/sun4/ThisIs
	touch lib/vwin/ThisIs
	touch bin/intel/ThisIs
	touch bin/mips/ThisIs
	touch bin/sgi/ThisIs
	touch bin/sun4/ThisIs
	touch bin/vwin/ThisIs
	-rm *.bak *.tmp v.tgz
	-rm doc/*.bak doc/*.tmp doc/*.aux doc/*.log doc/*.ps /doc/*.dvi
	-rm doc/fig/*.bak
	-rm examp/*.bak examp/*.tmp
	-rm bmp2vbm/*.bak bmp2vbm/*.tmp
	-rm tutor/*.bak tutor/*.tmp
	-rm includex/v/*.bak includex/v/*.tmp
	-rm includew/v/*.bak includew/v/*.tmp
	-rm srcx/*.bak srcx/*.tmp
	-rm srcwin/*.bak srcwin/*.tmp
	-rm test/*.bak test/*.tmp
	-rm draw/*.bak draw/*.tmp
	-rm drawex/*.bak drawex/*.tmp

.PHONY:	cleantest
cleantest:
	rm $(TestObjs)

.PHONY:	tar
tar:
	@echo "Making v.tgz - X and Windows Distribution"
	@echo "    Cleaning up old files"
	-rm *.bak *.tmp ../v-$(VV).tar$(TARZ)
	-rm doc/*.bak doc/*.tmp doc/*.aux doc/*.log doc/*.dvi
	-rm doc/fig/*.bak
	-rm examp/*.bak examp/*.tmp
	-rm bmp2vbm/*.bak bmp2vbm/*.tmp
	-rm tutor/*.bak tutor/*.tmp
	-rm includex/v/*.bak includex/v/*.tmp
	-rm includew/v/*.bak includew/v/*.tmp
	-rm srcx/*.bak srcx/*.tmp
	-rm srcwin/*.bak srcwin/*.tmp
	-rm test/*.bak test/*.tmp
	-rm draw/*.bak draw/*.tmp
	-rm drawex/*.bak drawex/*.tmp
	cd .. ; tar cvf$(TARZ) v-$(VV).tar$(TARZ) v/make* v/NEWS v/R* v/COPY* \
	 v/doc/* v/examp/* v/bmp2vbm/* v/tutor/* v/include v/includex/* \
	 v/includew/* v/lib/*/ThisIs v/obj/*/ThisIs v/objm/*/ThisIs v/srcx/* \
	 v/srcwin/* v/test/* v/draw/* v/drawex/* v/bin/*/ThisIs v/clnupwin.bat \
	 v/PACKLIST v/bccide

.PHONY:	tarwin
tarwin:
	@echo "Making vwin.tar - Windows Distribution"
	@echo "    Cleaning up old files"
	-rm *.bak *.tmp ../vwin$(VVW).tar$(TARZ)
	-rm doc/*.bak doc/*.tmp doc/*.aux doc/*.log doc/*.dvi
	-rm doc/fig/*.bak
	-rm examp/*.bak examp/*.tmp
	-rm bmp2vbm/*.bak bmp2vbm/*.tmp
	-rm tutor/*.bak tutor/*.tmp
	-rm includex/v/*.bak includex/v/*.tmp
	-rm includew/v/*.bak includew/v/*.tmp
	-rm srcx/*.bak srcx/*.tmp
	-rm srcwin/*.bak srcwin/*.tmp
	-rm test/*.bak test/*.tmp
	-rm draw/*.bak draw/*.tmp
	-rm drawex/*.bak drawex/*.tmp
	cd .. ; tar cvf$(TARZ) vwin$(VVW).tar$(TARZ) v/make* v/NEWS v/R* v/COPY* \
	 v/doc/* v/examp/* v/bmp2vbm/* v/tutor/* v/include \
	 v/includew/* v/lib/*/ThisIs v/lib/vwin/* v/obj/*/ThisIs v/objm/*/ThisIs \
	 v/srcwin/* v/test/* v/draw/* v/drawex/* v/bin/*/ThisIs v/clnupwin.bat \
	 v/PACKLIST v/bccide

.PHONY:	tarx
tarx:
	@echo "Making vx-$(VV).tar - X only distribution"
	@echo "    Cleaning up old files"
	-rm *.bak *.tmp ../vx-$(VV).tar$(TARZ)
	-rm doc/*.bak doc/*.tmp doc/*.aux doc/*.log doc/*.dvi
	-rm doc/fig/*.bak
	-rm examp/*.bak examp/*.tmp
	-rm bmp2vbm/*.bak bmp2vbm/*.tmp
	-rm tutor/*.bak tutor/*.tmp
	-rm includex/v/*.bak includex/v/*.tmp
	-rm srcx/*.bak srcx/*.tmp
	-rm test/*.bak test/*.tmp
	-rm draw/*.bak draw/*.tmp
	-rm drawex/*.bak drawex/*.tmp
	cd .. ; tar cvf$(TARZ) vx-$(VV).tar$(TARZ) v/make* v/NEWS v/R* v/COPY* \
	 v/doc/* v/examp/* v/bmp2vbm/* v/tutor/* v/include v/includex/* \
	 v/lib/*/ThisIs v/obj/*/ThisIs v/objm/*/ThisIs v/srcx/* \
	 v/test/* v/draw/* v/drawex/* v/bin/*/ThisIs v/PACKLIST

.PHONY:	tarfull
tarfull:
	@echo "Making vfull.tgz - FULL VERSION
	@echo "    Cleaning up old files"
	-rm *.bak *.tmp ../vfull.tar$(TARZ)
	-rm doc/*.bak doc/*.tmp doc/*.aux doc/*.log
	-rm doc/fig/*.bak
	-rm examp/*.bak examp/*.tmp
	-rm bmp2vbm/*.bak bmp2vbm/*.tmp
	-rm tutor/*.bak tutor/*.tmp
	-rm includex/v/*.bak includex/v/*.tmp
	-rm includew/v/*.bak includew/v/*.tmp
	-rm srcx/*.bak srcx/*.tmp
	-rm srcwin/*.bak srcwin/*.tmp
	-rm test/*.bak test/*.tmp
	-rm draw/*.bak draw/*.tmp
	-rm drawex/*.bak drawex/*.tmp
	cd .. ; tar cvf$(TARZ) vfull.tar$(TARZ) v/*


.PHONY:	getwin
getwin:
	-rm srcwin/*
	-rm includew/v/*
	-rm bccide/*
	-rm bin/vwin/*.exe
	-rm lib/vwin/*
	-rm RDMEWIN*
	-rm clnupwin.bat
	cp /dosc/v/srcwin/* srcwin
	cp /dosc/v/includew/v/* includew/v
	cp /dosc/v/bccide/* bccide
	cp /dosc/v/bin/vwin/*.exe bin/vwin
	cp /dosc/v/lib/vwin/* lib/vwin
	cp /dosc/v/rdmewin.txt RDMEWIN.TXT
	cp /dosc/v/clnupwin.bat clnupwin.bat


.PHONY:	tardemo
tardemo:
	-rm ../vdemo-$(VV).tar$(TARZ)
	cp bin/intel/vdraw vdraw.linux.bin
	cp bin/vwin/vdraw.exe vdraw.exe
	tar cvf$(TARZ) vdemo-$(VV).tar$(TARZ) vdraw.exe vdraw.linux.bin
	mv vdemo-$(VV).tar$(TARZ) ..
	-rm vdraw.linux.bin
	-rm vdraw.exe

.PHONY:	permissions
permissions:
	chmod 755 $(PERMDIRS)
	chmod 644 $(PERMFILES)
	chmod 755 $(PERMDIRS)
	chmod 755 $(EXEFILES)

#-----------------------------------------------------------------
#
#    .o's for the library
#
#  note: $@ gives target ($(oDir)/xx.o, $< gives first dependency (xx.cxx)
#	$(CC) -c $(CFLAGS) -o $@ $<                     
#
#-----------------------------------------------------------------

$(oDir)/vapp.o:	vapp.cxx $(BASEDEP) vfont.h vawinfo.h vcmdwin.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vawinfo.o:	vawinfo.cxx $(BASEDEP) vawinfo.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vbaseitm.o:	vbaseitm.cxx vbaseitm.h v_defs.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vbasewin.o:	vbasewin.cxx $(BASEDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vbtncmd.o:	vbtncmd.cxx vbtncmd.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vcanvas.o:	vcanvas.cxx vcanvas.h vfont.h vcpdc.h vbrush.h vpen.h $(BASEDEP) $(PANEDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/canvas.o:	canvas.c canvas.h canvasp.h
	gcc -c $(CFLAGS) -o $@ $<                     
	
$(oDir)/vcbtncmd.o:	vcbtncmd.cxx vcbtncmd.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vchkboxc.o:	vchkboxc.cxx vchkboxc.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vclabelc.o:	vclabelc.cxx vclabelc.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vcmd.o:	vcmd.cxx vcmd.h $(BASEDEP) $(PANEDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vcmdpane.o:	vcmdpane.cxx vcmdpane.h $(BASEDEP) $(PANEDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vcmdwin.o:	vcmdwin.cxx $(BASEDEP) vwindow.h vpane.h \
	vcmdwin.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vcmdprnt.o:	vcmdprnt.cxx $(BASEDEP) vcmdprnt.h $(CMDS)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vcomboc.o:	vcomboc.cxx vcomboc.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vcolor.o:	vcolor.cxx vcolor.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vdebug.o:	vdebug.cxx vdebug.h $(BASEDEP) vcmdprnt.h \
	vmodald.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vdialog.o:	vdialog.cxx vdialog.h $(BASEDEP) vcmdprnt.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vcpdc.o:	vcpdc.cxx vdc.h vcpdc.h vpen.h vpen.h canvas.h $(BASEDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vpsdc.o:	vpsdc.cxx vdc.h vpsdc.h vprinter.h vpsprntr.h $(BASEDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vfilesel.o:	vfilesel.cxx vfilesel.h $(BASEDEP) vcmdprnt.h \
	vmodald.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

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

$(oDir)/vfont.o:	vfont.cxx vfont.h vfontlst.h $(BASEDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vframec.o:	vframec.cxx vframec.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vicon.o:	vicon.cxx vicon.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vlabelc.o:	vlabelc.cxx vlabelc.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vlistc.o:	vlistc.cxx vlistc.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vmenu.o:	vmenu.cxx vmenu.h $(BASEDEP) $(PANEDEP) vcmdwin.h
	$(CC) -c $(CFLAGS) -o $@ $<                     
	
$(oDir)/vmodald.o:	vmodald.cxx vmodald.h vdialog.h \
	$(BASEDEP) vcmdprnt.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vnotice.o:	vnotice.cxx vnotice.h $(BASEDEP) vcmdprnt.h \
	vmodald.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vprogrsc.o:	vprogrsc.cxx vprogrsc.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vpsprntr.o:	vpsprntr.cxx vpsprntr.h vprinter.h $(BASEDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vradioc.o:	vradioc.cxx vradioc.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vsliderc.o:	vsliderc.cxx vsliderc.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vreply.o:	vreply.cxx vreply.h $(BASEDEP) vcmdprnt.h \
	vmodald.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vstatusp.o:	vstatusp.cxx vstatusp.h $(BASEDEP) $(PANEDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vtextc.o:	vtextc.cxx vtextc.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

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

$(oDir)/vtextinc.o:	vtextinc.cxx vtextinc.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vtimer.o:	vtimer.cxx vtimer.h vapp.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vspinc.o:	vspinc.cxx vspinc.h $(CMDDEP)
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vutil.o:	vutil.cxx vutil.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vwindow.o:	vwindow.cxx $(BASEDEP) vwindow.h vpane.h \
	vx2vkey.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vx2vkey.o:	vx2vkey.cxx vx2vkey.h v_defs.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vynreply.o:	vynreply.cxx vynreply.h $(BASEDEP) vcmdprnt.h \
	vmodald.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

#---------------------------------------------------------------------
#
#  .o's for the test file
#
#---------------------------------------------------------------------

$(oDir)/vtcanvas.o:	vtcanvas.cpp vtcanvas.h vcanvas.h vtextcnv.h vcanvas.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vtdialog.o:	vtdialog.cpp vtdialog.h vdialog.h vcolor.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/vtcmdwin.o:	vtcmdwin.cpp vtcmdwin.h vcmdwin.h bruce.vbm
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/testapp.o:	testapp.cpp testapp.h $(BASEDEP) vwindow.h vpane.h vcmdwin.h \
	vtcanvas.h vmenu.h vbtncmd.h vcbtncmd.h vlabelc.h \
	vframec.h vchkboxc.h vradioc.h vsliderc.h vtextinc.h vlistc.h vnotice.h \
	vprogrsc.h vfont.h vreply.h vtdialog.h vfilesel.h \
	vtextcnv.h vcomboc.h vtextc.h
	$(CC) -c $(CFLAGS) -o $@ $<
	chmod 755 $@

#--------------------------------------------------------------------
#
# .o's for proto example
#
#--------------------------------------------------------------------

$(oDir)/mycanvas.o:	mycanvas.cpp v_defs.h mycanvas.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/mydialog.o:	mydialog.cpp v_defs.h mydialog.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/mymodal.o:	mymodal.cpp v_defs.h mymodal.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/mycmdwin.o:	mycmdwin.cpp v_defs.h mycmdwin.h
	$(CC) -c $(CFLAGS) -o $@ $<                     

$(oDir)/protoapp.o:	protoapp.cpp v_defs.h mydialog.h mymodal.h \
	protoapp.h mycmdwin.h
	$(CC) -c $(CFLAGS) -o $@ $<
