1436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#
2436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# Note : this makefile has been tested for como-4.3.0.1+gcc-2.96 on Redhat 7.3
3436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#
4436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
5436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov.SUFFIXES:
6436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov.SUFFIXES: .cc .cpp .o .exe .out
7436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
8436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovsrcdir = .
9436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovVPATH = .
10436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
11436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov# point this to proper location
12436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovSTL_INCL=../../stlport
13436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
14436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovAUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp
15436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
16436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovTEST_LIST=test_algo.cpp  \
17436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovtest_algobase.cpp     test_list.cpp test_slist.cpp \
18436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovtest_bit_vector.cpp   test_vector.cpp \
19436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovtest_deque.cpp test_set.cpp test_map.cpp \
20436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovtest_hash_map.cpp  test_hash_set.cpp test_rope.cpp \
21436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovtest_string.cpp test_bitset.cpp test_valarray.cpp
22436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
23436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovLIST=${AUX_LIST} ${TEST_LIST}
24436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
25436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovOBJECTS = $(LIST:%.cpp=%.o) $(STAT_MODULE)
26436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovEXECS = $(LIST:%.cpp=%)
27436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovTESTS = $(LIST:%.cpp=%.out)
28436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovTEST_EXE  = ./eh_test
29436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovTEST  = ./eh_test.out
30436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
31436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovCC = como
32436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovCXX = $(CC) 
33436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
34436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovCXXFLAGS = -DLIBCIO= --diag_suppress=68 -D__null=0L -D__GNUG__ -D_STLP_DEBUG -I${STL_INCL}  -I. ${CXX_EXTRA_FLAGS}
35436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
36436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovLIBS = -L../../lib -lstlport_como_stldebug -lpthread -lm 
37436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovLIBSTDCXX = 
38436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
39436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovcheck: $(TEST)
40436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
41436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov$(TEST_EXE) : $(OBJECTS)
42436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov	$(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBS) -o $(TEST_EXE)
43436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
44436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
45436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov$(TEST) : $(TEST_EXE)
46436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov	$(TEST_EXE)
47436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
48436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy IvanovSUFFIXES: .cpp.o.exe.out.res
49436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
50436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov%.o : %.cpp
51436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov	$(CXX) $(CXXFLAGS) $< -c -o $@
52436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
53436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov%.i : %.cpp
54436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov	$(CXX) $(CXXFLAGS) $< -E -H -o $@
55436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
56436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov%.out: %.cpp
57436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov	$(CXX) $(CXXFLAGS) $< -c -USINGLE -DMAIN -g -o $*.o
58436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov	$(CXX) $(CXXFLAGS) $*.o $(LIBS) -o $*
59436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov	./$* > $@
60436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov	-rm -f $*
61436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
62436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov%.s: %.cpp
63436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov	$(CXX) $(CXXFLAGS) -O4 -S -pto $<  -o $@
64436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
65436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov%.E: %.cpp
66436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov	$(CXX) $(CXXFLAGS) -E $<  -o $@
67436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
68436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovclean:
69436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov	-rm -fr ${TEST_EXE} *.out *.o *.ii *.ti
70436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov