#=======================================================================
#  Makefile for V IDE
#  Copyright (C) 1998  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)

#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ifeq ($(TOOLKIT),Motif)
PROG=\
	$(Bin)/videm
else
ifeq ($(Arch),gnuwin32)
PROG=\
	$(Bin)/vide.exe
else
PROG=\
	$(Bin)/vide	
endif
endif

ifeq ($(Arch),os2)
PROG	= 	$(Bin)/vide.exe
endif

CFLAGS	+= -DVIDE -I$(HOMEV)/texted -I$(HOMEV)/vide

EXOBJS=\
	$(oDir)/videapp.o \
	./vedcnv.o \
	$(oDir)/vseeci.o \
	$(oDir)/videmake.o \
	$(oDir)/vrundlg.o \
	$(oDir)/videcmdw.o \
	$(oDir)/mmaker.o\
	$(oDir)/projdlg.o

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

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

#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

.PHONY: default all objs clean cleanobj cleanall

default: all

all: $(PROG)

clean:
	-rm -f $(CLEANEXTS) $(EXOBJS) ./*.o

cleanobj: clean
	-rm -f $(EXOBJS)

cleanall: cleanobj
	-rm -f $(PROG)

cleanexe: cleanbin

cleanbin:
	-rm -f $(PROG)

objs:	$(EXOBJS)

#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

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

$(oDir)/viderc.o:	vide.rc vide.ico vwindow.ico
	$(RES) vide.rc $(oDir)/viderc.o

# Vedcnv needs to be in . because of conflicts with standard vedcnv.o
./vedcnv.o:	../texted/vedcnv.cpp v_defs.h ../texted/vedcnv.h
	$(CXX) -c $(CFLAGS) -o $@ $<

$(oDir)/mmaker.o: mmaker.cpp videapp.h projdlg.h mmaker.h
	$(CXX) -c $(CFLAGS) -o $@ $<

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

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

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

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

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

$(oDir)/videapp.o:	videapp.cpp v_defs.h vapp.h \
	videapp.h videcmdw.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) $< $@
