CXX=g++
GDB=gdb
# Adjust and uncomment to enable the corresponding tests
# STLPORT46_ROOT_DIR=/usr/local/stlport-4.6.2
# STLPORT50_ROOT_DIR=/usr/local/stlport-5.0.3
# STLPORT51_ROOT_DIR=/usr/local/stlport-5.1.7
# STLPORT52_ROOT_DIR=/usr/local/stlport-5.2.1
# To enable Boost support you might need to patch
# $(STLPORT52_ROOT_DIR)/include/stlport/stl/type_traits.h
# to include <boost/type_traits/remove_const.hpp>.
# STLPORT52_USE_BOOST_SUPPORT=1
# Common flags for STLport 4.6.x tests
STLPORT46_FLAGS = \
$(CXXFLAGS) $(LDFLAGS) \
-I$(STLPORT46_ROOT_DIR)/include/stlport \
-L$(STLPORT46_ROOT_DIR)/lib \
-Wl,-R$(STLPORT46_ROOT_DIR)/lib \
-pthread
# Common flags for STLport 5.0.x tests
STLPORT50_FLAGS = \
$(CXXFLAGS) $(LDFLAGS) \
-I$(STLPORT50_ROOT_DIR)/include/stlport \
-L$(STLPORT50_ROOT_DIR)/lib \
-Wl,-R$(STLPORT50_ROOT_DIR)/lib \
-pthread
# Common flags for STLport 5.1.x tests
STLPORT51_FLAGS = \
$(CXXFLAGS) $(LDFLAGS) \
-I$(STLPORT51_ROOT_DIR)/include/stlport \
-L$(STLPORT51_ROOT_DIR)/lib \
-Wl,-R$(STLPORT51_ROOT_DIR)/lib \
-pthread
# Common flags for STLport 5.2.x tests
STLPORT52_FLAGS = \
$(CXXFLAGS) $(LDFLAGS) \
-I$(STLPORT52_ROOT_DIR)/include/stlport \
-L$(STLPORT52_ROOT_DIR)/lib \
-Wl,-R$(STLPORT52_ROOT_DIR)/lib \
-pthread
ifneq ($(STLPORT52_USE_BOOST_SUPPORT),)
STLPORT52_FLAGS += -D_STLP_USE_BOOST_SUPPORT
endif
# Add STLport 4.6.x tests to $(TARGETS) (if enabled)
ifneq ($(STLPORT46_ROOT_DIR),)
TARGETS += test_stlport46 test_stlport46d
endif
# Add STLport 5.0.x tests to $(TARGETS) (if enabled)
ifneq ($(STLPORT50_ROOT_DIR),)
TARGETS += test_stlport50 test_stlport50d
endif
# Add STLport 5.1.x tests to $(TARGETS) (if enabled)
ifneq ($(STLPORT51_ROOT_DIR),)
TARGETS += test_stlport51 test_stlport51d
endif
# Add STLport 5.2.x tests to $(TARGETS) (if enabled)
ifneq ($(STLPORT52_ROOT_DIR),)
TARGETS += test_stlport52 test_stlport52d
endif
default: run
ifeq ($(TARGETS),)
@echo "You need to configure the STLport directory at the start of the Makefile."
endif
run: build
ifneq ($(TARGETS),)
for TARGET in $(TARGETS); do \
echo "Running test for $$TARGET"; \
$(GDB) -batch -x script ./$$TARGET; \
done
endif
build: $(TARGETS)
test_stlport46: test.cpp Makefile
$(CXX) -o $@ $< -g $(STLPORT46_FLAGS) -lstlport_gcc
test_stlport46d: test.cpp Makefile
$(CXX) -o $@ $< -g $(STLPORT46_FLAGS) -lstlport_gcc_stldebug -D_STLP_DEBUG
test_stlport50: test.cpp Makefile
$(CXX) -o $@ $< -g $(STLPORT50_FLAGS) -lstlport
test_stlport50d: test.cpp Makefile
$(CXX) -o $@ $< -g $(STLPORT50_FLAGS) -lstlportstlg -D_STLP_DEBUG
test_stlport51: test.cpp Makefile
$(CXX) -o $@ $< -g $(STLPORT51_FLAGS) -lstlport
test_stlport51d: test.cpp Makefile
$(CXX) -o $@ $< -g $(STLPORT51_FLAGS) -lstlportstlg -D_STLP_DEBUG
test_stlport52: test.cpp Makefile
$(CXX) -o $@ $< -g $(STLPORT52_FLAGS) -lstlport
test_stlport52d: test.cpp Makefile
$(CXX) -o $@ $< -g $(STLPORT52_FLAGS) -lstlportstlg -D_STLP_DEBUG
clean:
rm -f test_stlport*