# -*-Makefile-*-
#
# This file is part of rasdaman community.
#
# Rasdaman community is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Rasdaman community is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with rasdaman community. If not, see .
#
# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
# rasdaman GmbH.
#
# For more information please see
# or contact Peter Baumann via . # Top Level makefile. This points to the various modules that have to be build
# and/or deployed
#
# MAKEFILE FOR:
# test programs of module raslib
#
#
# COMMENTS:
#
##################################################################
#
# This is just an example Makefile for a test program.
# The dependency of the test program on the lib of the
# corresponding module is in the Makefile of the module.
#
######################### Definitions ############################
# standard include with general options
include $(RMANBASE)/Makefile.inc
# uses our own mem management routine:
MYMALLOC_H := ../../mymalloc/mymalloc.hh
MYMALLOC_O := ../../mymalloc/mymalloc_cln.o
# use client specific flags
CXXFLAGS := $(CLIENTCXXFLAGS) $(I_SYM)$(MYMALLOC_H)
LDFLAGS := $(CLIENTLDFLAGS) $(L_SYM)$(MYMALLOC_O)
# raslib has its own template directory because of the name clashes with O2
ifneq ($(OSTYPE),linux-gnu)
CXXFLAGS := -ptr$(RMANBASE)/rasodmg/ptrepository $(CXXFLAGS)
LDFLAGS := -ptr$(RMANBASE)/rasodmg/ptrepository $(LDFLAGS)
endif
# all test programs
ALLTESTS = test_error
# test_sinterval test_point test_minterval test_rmdebug \
# test_metaobject test_oid test_timer test_miter test_miterf \
# test_params
########################### Targets ##############################
# test target for class r_Minterval
.PHONY : minterval
minterval: test_module test_minterval
# test target for class r_Miter
.PHONY : miterd
miterd: test_module test_miterd
# test target for class r_Miter
.PHONY : miter
miter: test_module test_miter
# test target for class r_MiterFloat
.PHONY : miterf
miterf: test_module test_miterf
# test target for class r_Sinterval
.PHONY : sinterval
sinterval: test_module test_sinterval
# test target for class r_Point
.PHONY : point
point: test_module test_point
# test target for class r_Error and its subclasses
.PHONY : error
error: test_module test_error
# test target for class RMDebug
.PHONY : rmdebug
rmdebug: test_module test_rmdebug
# test target for class r_Meta_Object and its subclasses
.PHONY : metaobject
metaobject: test_module test_metaobject
# test target for class r_OId
.PHONY : oid
oid: test_module test_oid
# test target for RMTimer
.PHONY : timer
timer: test_module test_timer
# test target for lincomstreams
.PHONY : params
params: test_module test_params
.PHONY : test_module
test_module:
cd $(RMANBASE)/raslib; $(MAKE)
test_minterval: test_minterval.o $(RASLIB)
$(PURIFY) $(CXX) $(LDFLAGS) -o $@ $^
test_miterd: test_miterd.o $(RASLIB)
$(PURIFY) $(CXX) $(LDFLAGS) -lm -o $@ $^
test_miter: test_miter.o $(RASLIB)
$(PURIFY) $(CXX) $(LDFLAGS) -lm -o $@ $^
test_miterf: test_miterf.o $(RASLIB)
$(PURIFY) $(CXX) $(LDFLAGS) -lm -o $@ $^
test_sinterval: test_sinterval.o $(RASLIB)
$(PURIFY) $(CXX) $(LDFLAGS) -o $@ $^
test_point: test_point.o $(RASLIB)
$(PURIFY) $(CXX) $(LDFLAGS) -o $@ $^
test_error: test_error.o $(RASLIB)
$(PURIFY) $(CXX) $(LDFLAGS) -o $@ $^
test_rmdebug: test_rmdebug.o $(RASLIB)
$(PURIFY) $(CXX) $(LDFLAGS) -o $@ $^
test_metaobject: test_metaobject.o $(RASLIB)
$(PURIFY) $(CXX) $(LDFLAGS) -o $@ $^
test_oid: test_oid.o $(RASLIB)
$(PURIFY) $(CXX) $(LDFLAGS) -o $@ $^
test_timer: test_timer.o $(RASLIB)
$(PURIFY) $(CXX) $(LDFLAGS) -o $@ $^
test_params: test_params.o $(RASLIB) $(CLIENTCOMM)
$(PURIFY) $(CXX) $(LDFLAGS) -o $@ $^
.PHONY : clean
clean:
-rm $(ALLTESTS)
-rm *.o
# deletes all non modified, but checked out files
.PHONY : rcsclean
rcsclean:
-rcsclean
# perform all tests as part of general systemtest
.PHONY: systemtest
systemtest: $(ALLTESTS)
cp $(RMANBASE)/bin/errtxts . # needed by test_error
for PROG in $^; \
do \
$$PROG; \
done
######################## Dependencies ############################
test_minterval.o: test_minterval.cc $(RMANBASE)/raslib/minterval.hh
test_miter.o: test_miter.cc $(RMANBASE)/raslib/miter.hh
test_miterf.o: test_miterf.cc $(RMANBASE)/raslib/miterf.hh
test_sinterval.o: test_sinterval.cc $(RMANBASE)/raslib/sinterval.hh
test_point.o: test_point.cc $(RMANBASE)/raslib/point.hh
test_error.o: test_error.cc $(RMANBASE)/raslib/error.hh
test_oid.o: test_oid.cc $(RMANBASE)/raslib/oid.hh
test_timer.o: test_timer.cc $(RMANBASE)/raslib/
test_params.o: test_params.cc $(RMANBASE)/raslib/parseparams.hh