blob: 785f5b0f8fd6571e71acb8ff37b6a125cbbaada6 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
gtest_include = $(abs_top_srcdir)/depends/thirdparty/googletest/googletest/include
gmock_include = $(abs_top_srcdir)/depends/thirdparty/googletest/googlemock/include
gtest_lib_path = $(abs_top_srcdir)/depends/thirdparty/googletest/build/googlemock
gmock_lib_path = $(abs_top_srcdir)/depends/thirdparty/googletest/build/googlemock/gtest
override CXX = g++
override CXXFLAGS = -Wall -O0 -g -std=c++11
override CPPFLAGS := -I/usr/include -I/usr/local/include -I/usr/include/libxml2 -I$(abs_top_srcdir)/src/test/feature/ -I$(abs_top_srcdir)/src/test/feature/ManagementTool/ -I$(abs_top_srcdir)/src/test/feature/lib/ -I$(abs_top_srcdir)/src/interfaces/libpq -I$(abs_top_srcdir)/src/interfaces -I$(abs_top_srcdir)/src/include -I$(gtest_include) -I$(gmock_include)
override LIBS := $(LIBS) -lgtest -lpq -lxml2 -ltest -lpthread
override LDFLAGS += -L/usr/local/lib -L/usr/lib -L$(abs_top_srcdir)/src/test/feature/ -L$(abs_top_srcdir)/src/test/feature/lib/ -L$(abs_top_srcdir)/src/interfaces/libpq -L$(gtest_lib_path) -L$(gmock_lib_path)
PROG = test_main.cpp $(wildcard */*.cpp)
OBJS = $(patsubst %.cpp,%.o,$(PROG))
RM = rm -rf
.PHONY: all sharelib sharelibclean distclean clean doc
all: $(OBJS) sharelib
$(MAKE) -C lib all
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LIBS) -o feature-test
%.o: %.cpp
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $? -o $@
sharelib:
cd UDF/lib || exit 1; $(MAKE) || exit 2
cd ExternalSource/lib || exit 1; $(MAKE) || exit 2
sharelibclean:
cd UDF/lib || exit 1; $(RM) *.o *.so || exit 2
cd ExternalSource/lib || exit 1; $(MAKE) || exit 2
doc:
doxygen doxygen_template
clean distclean: sharelibclean
find . -type f -name "*.out" -exec $(RM) {} +
$(RM) ExternalSource/ans/external_oid.ans ExternalSource/ans/exttab1.ans ExternalSource/sql/external_oid.sql ExternalSource/sql/exttab1.sql
$(RM) UDF/ans/function_c.ans UDF/ans/function_creation.ans UDF/sql/function_c.sql UDF/sql/function_creation.sql
$(RM) testlib/ans/template.ans testlib/sql/template.sql
$(RM) utility/ans/copytest.csv utility/ans/onek.data
$(RM) feature-test
$(RM) feature-test.dSYM
$(RM) doc
$(MAKE) -C lib clean
$(RM) $(OBJS)