1e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
2e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottSHELL=/bin/sh
3e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
4e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# srcdir = .
5e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# VPATH = .
6e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
7e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottSTL_INCL=-I${PWD}/../../stlport/
8e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
9e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottAUX_LIST=TestClass.o main.o nc_alloc.o random_number.o
10e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
11e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottTEST_LIST=test_algo.o  \
12e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttest_algobase.o     test_list.o test_slist.o \
13e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttest_bit_vector.o   test_vector.o \
14e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttest_deque_cray.o test_set.o test_map.o \
15e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttest_hash_map.o  test_hash_set.o test_rope.o \
16e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttest_string.o test_bitset.o test_valarray.o
17e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
18e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottLIST=${AUX_LIST} ${TEST_LIST}
19e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
20e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottOBJECTS = $(LIST)
21e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottEXECS = $(LIST:%.o=%)
22e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottTESTS = $(LIST:%.o=%.out)
23e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottTEST_EXE  = eh_test
24e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottTEST  = eh_test.out
25e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
26e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottCC = CC
27e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottCXX = $(CC)
28e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
29e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#CXXFLAGS = -hexceptions -DEH_DELETE_HAS_THROW_SPEC -I. ${STL_INCL} ${DEBUG_FLAGS}
30e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottCXXFLAGS = -D_STLP_HAS_NO_EXCEPTIONS -I. ${STL_INCL} ${DEBUG_FLAGS}
31e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
32e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#LIBS = -L../../lib -lstlportx -lpthread
33e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottLIBS = -L../../lib -lstlport -lpthread
34e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
35e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott.SUFFIXES: .cpp .i .o .out
36e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
37e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottcheck: $(TEST)
38e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
39e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott$(TEST) : $(OBJECTS)
40e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott	$(CXX) $(CXXFLAGS) $(LIBS) $(OBJECTS) -o $(TEST_EXE)
41e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott	./$(TEST_EXE) -s 100
42e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
43e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott.cpp.o:
44e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott	$(CXX) $(CXXFLAGS) $< -c -o $@
45e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
46e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott.cpp.i:
47e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott	$(CXX) $(CXXFLAGS) $< -E > $@
48e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
49e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott%.out: %.cpp
50e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott	$(CXX) $(CXXFLAGS) $*.cpp -c -USINGLE -DMAIN -g -o $*.o
51e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott	$(CXX) $(CXXFLAGS) $(LIBS) $*.o -o $*
52e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott	./$* -q
53e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott	-rm -f $*
54e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott
55e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottclean:
56e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott	-rm -fr ${TEST_EXE} *.o *.ii *.out core
57