#
# Makefile for Borland C++
# Make sure bcc32.exe is in the PATH or change CXXC below
#

# For the Win32 GUI
#WIN32_FLAGS = user32.lib comctl32.lib

# For the Qt GUI
#QTDIR = c:\qt
QT_FLAGS = -I$(QTDIR)/include $(QTDIR)/lib/qt.lib


TARGETS = error_printer.exe stdio_printer.exe yes_no_runner.exe file_printer.exe aborter.exe only.exe
GUI_TARGETS = win32_runner.exe qt_runner.exe
TESTS = *.h
GUI_TESTS = gui/GreenYellowRed.h $(TESTS)
TESTGEN = perl -w ../cxxtestgen.pl
CXXC = bcc32.exe -w- -I. -I..

all: $(TARGETS)

clean:
	del *~ *.o *.obj 
	del $(TARGETS) 
	del $(GUI_TARGETS)
	del tests.cpp error_printer.cpp stdio_printer.cpp file_printer.cpp aborter.cpp only.cpp
	del win32_runner.cpp qt_runner.cpp

distclean: clean
	del Makefile

run: error_printer.exe
	error_printer.exe

run_win32: win32_runner.exe
	win32_runner.exe

run_qt: qt_runner.exe
	qt_runner.exe

error_printer.cpp: $(TESTS)
	$(TESTGEN) -o error_printer.cpp --error-printer $(TESTS)

stdio_printer.cpp: $(TESTS)
	$(TESTGEN) -o stdio_printer.cpp --runner=StdioPrinter $(TESTS)

file_printer.cpp: file_printer.tpl $(TESTS)
	$(TESTGEN) -o file_printer.cpp --template=file_printer.tpl $(TESTS)

aborter.cpp: aborter.tpl $(TESTS)
	$(TESTGEN) -o aborter.cpp --template=aborter.tpl $(TESTS)

only.cpp: only.tpl $(TESTS)
	$(TESTGEN) -o only.cpp --template=only.tpl $(TESTS)

tests.cpp: $(TESTS)
	$(TESTGEN) -o tests.cpp $(TESTS)

win32_runner.cpp: $(GUI_TESTS)
	$(TESTGEN) -o win32_runner.cpp --gui=Win32Gui $(GUI_TESTS)

qt_runner.cpp: $(GUI_TESTS)
	$(TESTGEN) -o qt_runner.cpp --gui=QtGui $(GUI_TESTS)

error_printer.exe: error_printer.cpp
	$(CXXC) -eerror_printer.exe error_printer.cpp

stdio_printer.exe: stdio_printer.cpp
	$(CXXC) -estdio_printer.exe stdio_printer.cpp

file_printer.exe: file_printer.cpp
	$(CXXC) -efile_printer.exe file_printer.cpp

only.exe: only.cpp
	$(CXXC) -eonly.exe only.cpp

aborter.exe: aborter.cpp
	$(CXXC) -eaborter.exe aborter.cpp

yes_no_runner.exe: yes_no_runner.cpp tests.cpp
	$(CXXC) -eyes_no_runner.exe yes_no_runner.cpp tests.cpp

win32_runner.exe: win32_runner.cpp
	$(CXXC) -ewin32_runner.exe win32_runner.cpp $(WIN32_FLAGS)

qt_runner.exe: qt_runner.cpp
	$(CXXC) -o qt_runner.exe qt_runner.cpp $(QT_FLAGS)

#
# Local Variables:
# compile-command: "make -fMakefile.bcc32"
# End:
#
