TESTS = testcall.ok testfmt.ok teststr.ok testsset.ok testsig.ok testbit.ok testarray.ok testmaybe.ok \
	fixed_vector_test.ok fixed_list_test.ok
CPLUSLIB = ../cpluslib.a
INCDIR = ..
CXX = g++-3.3

CXXFLAGS += -I$(INCDIR)

%.ok: %.t
ifeq ($(REGENERATE), 1)
	./$*.t >$*.ok
else
	./$*.t >$*.new
	diff -u $*.ok $*.new
	rm -f $*.new
	touch $*.ok
endif

%.t: %.cc $(CPLUSLIB) $(INCDIR)/cpluslib/*.h
	$(CXX) $(CXXFLAGS) $*.cc $(CPLUSLIB) -o $*.t

all: $(TESTS)

clean:
	rm -f *.new *~ *.o

init:
	$(MAKE) REGENERATE=1

$(CPLUSLIB): ALWAYS
	make -C .. CXX="$(CXX)"

ALWAYS:
