1# ;;; -*- Mode:makefile;-*- 
2# Generated automatically from Makefile.in by configure.
3# This requires GNU make.
4SHELL=/bin/sh
5
6srcdir = .
7VPATH = .
8
9# point this to proper location
10STL_INCL=-I../../stlport
11
12AUX_LIST=TestClass.cpp main.cpp nc_alloc.cpp random_number.cpp
13
14TEST_LIST=test_algo.cpp  \
15test_algobase.cpp     test_list.cpp test_slist.cpp \
16test_bit_vector.cpp   test_vector.cpp \
17test_deque.cpp test_set.cpp test_map.cpp \
18test_hash_map.cpp  test_hash_set.cpp test_rope.cpp \
19test_string.cpp test_bitset.cpp test_valarray.cpp
20
21LIST=${AUX_LIST} ${TEST_LIST}
22
23OBJECTS = $(LIST:%.cpp=obj/%.o) $(STAT_MODULE)
24D_OBJECTS = $(LIST:%.cpp=d_obj/%.o) $(STAT_MODULE)
25NOSGI_OBJECTS = $(LIST:%.cpp=nosgi_obj/%.o) $(STAT_MODULE)
26
27EXECS = $(LIST:%.cpp=%)
28TESTS = $(LIST:%.cpp=%.out)
29TEST_EXE  = ./eh_test
30D_TEST_EXE = ./eh_test_d
31NOSGI_TEST_EXE = ./eh_test_nosgi
32
33TEST  = ./eh_test.out
34D_TEST = ./eh_test_d.out
35NOSGI_TEST = ./eh_test_nosgi.out
36
37CC = c++ -pthread
38CXX = $(CC)
39
40# dwa 12/22/99 -- had to turn off -ansi flag so we could use SGI IOSTREAMS
41# also, test_slist won't compile with -O3/-O2 when targeting PPC. It fails 
42# in the assembler with 'invalid relocation type'
43CXXFLAGS = -Wall ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW
44D_CXXFLAGS = -Wall -g ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -DEH_VECTOR_OPERATOR_NEW -D_STLP_DEBUG -D_STLP_USE_STATIC_LIB
45NOSGI_CXXFLAGS = -Wall -g -O2 ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} -D_STLP_NO_OWN_IOSTREAMS -D_STLP_DEBUG_UNINITIALIZED -DEH_VECTOR_OPERATOR_NEW
46
47check: $(TEST)
48
49LIBS = -lm 
50D_LIBSTLPORT = -L../../lib -lstlport_gcc_stldebug
51LIBSTLPORT = -L../../lib -lstlport_gcc
52
53all: $(TEST_EXE) $(D_TEST_EXE) $(NOSGI_TEST_EXE)
54
55check_nosgi: $(NOSGI_TEST)
56check_d: $(D_TEST)
57
58OBJDIR=obj
59D_OBJDIR=d_obj
60NOSGI_OBJDIR=nosgi_obj
61
62$(OBJDIR):
63	mkdir obj
64$(D_OBJDIR):
65	mkdir d_obj
66$(NOSGI_OBJDIR):
67	mkdir nosgi_obj
68
69$(TEST_EXE) : $(OBJDIR) $(OBJECTS) 
70	$(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBSTLPORT) $(LIBS) -o $(TEST_EXE)
71
72$(D_TEST_EXE) : $(D_OBJDIR) $(D_OBJECTS)
73	$(CXX) $(D_CXXFLAGS) $(D_OBJECTS) $(D_LIBSTLPORT) $(LIBS) -o $(D_TEST_EXE)
74
75$(NOSGI_TEST_EXE) : $(NOSGI_OBJDIR) $(NOSGI_OBJECTS)
76	$(CXX) $(NOSGI_CXXFLAGS) $(NOSGI_OBJECTS) $(LIBS) -o $(NOSGI_TEST_EXE)
77
78$(TEST) : $(TEST_EXE)
79	LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(TEST_EXE) -s 100
80
81$(D_TEST) : $(D_TEST_EXE)
82	LD_LIBRARY_PATH="../../lib:$(LD_LIBRARY_PATH)" ./$(D_TEST_EXE) -s 100
83
84$(NOSGI_TEST) : $(NOSGI_TEST_EXE)
85	$(NOSGI_TEST_EXE)
86
87SUFFIXES: .cpp.o.exe.out.res
88
89nosgi_obj/%.o : %.cpp
90	$(CXX) $(NOSGI_CXXFLAGS) $< -c -o $@
91
92d_obj/%.o : %.cpp
93	$(CXX) $(D_CXXFLAGS) $< -c -o $@
94
95obj/%.o : %.cpp
96	$(CXX) $(CXXFLAGS) $< -c -o $@
97
98nosgi_obj/%.i : %.cpp
99	$(CXX) $(NOSGI_CXXFLAGS) $< -E -H > $@
100
101d_obj/%.i : %.cpp
102	$(CXX) $(D_CXXFLAGS) $< -E -H > $@
103
104obj/%.i : %.cpp
105	$(CXX) $(CXXFLAGS) $< -E -H > $@
106
107%.out: %.cpp
108	$(CXX) $(D_CXXFLAGS) $< -c -USINGLE -DMAIN -o $*.o
109	$(CXX) $(D_CXXFLAGS) $*.o $(LIBS) $(D_LIBSTLPORT)  -o $*
110	./$* > $@
111#	-rm -f $*
112
113%.s: %.cpp
114	$(CXX) $(CXXFLAGS) -O4 -S -pto $<  -o $@
115
116%.E: %.cpp
117	$(CXX) $(CXXFLAGS) -E $<  -o $@
118
119clean:
120	-rm -fr ${TEST_EXE} *.o */*.o *.rpo *.obj *.out core *~ Templates.DB
121