blob: 6061cef07baaaf2ce93a6394e91405abd7f92bc5 [file] [log] [blame]
# Include
include ./include/makefile.inc
# Options
DEBUG_S3_SYMBOL = y
# Flags
SHLIB_LINK += $(COMMON_LINK_OPTIONS)
PG_CPPFLAGS += $(COMMON_CPP_FLAGS) -Iinclude -Ilib -I$(libpq_srcdir) -I$(libpq_srcdir)/postgresql/server/utils
ifeq ($(DEBUG_S3_SYMBOL),y)
PG_CPPFLAGS += -g
endif
# Targets
MODULE_big = gpcloud
OBJS = src/gpcloud.o lib/http_parser.o lib/ini.o $(addprefix src/,$(COMMON_OBJS))
# Avoid building LLVM Bitcode for gpcloud module.
with_llvm = no
# Launch
ifdef USE_PGXS
PGXS := $(shell pg_config --pgxs)
include $(PGXS)
else
top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-include $(top_srcdir)/contrib/contrib-global.mk
endif
gpcheckcloud:
@$(MAKE) -C bin/gpcheckcloud
install: install-symlink
install-symlink:
ln -sf gpcloud.so $(DESTDIR)$(pkglibdir)/gps3ext.so
test: format
@$(MAKE) -C test test
coverage: format
@$(MAKE) -C test coverage
tags:
-ctags -R --c++-kinds=+p --fields=+ialS --extra=+q
-cscope -Rbq
-gtags -i
lint:
cppcheck -v --enable=warning src/*.cpp bin/gpcheckcloud/*.cpp test/*.cpp include/*.h
format:
@-[ -n "`command -v dos2unix`" ] && dos2unix -k -q src/*.cpp bin/gpcheckcloud/*.cpp test/*.cpp include/*.h
@-[ -n "`command -v clang-format`" ] && clang-format -style="{BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 100, AllowShortFunctionsOnASingleLine: None}" -i src/*.cpp bin/gpcheckcloud/*.cpp test/*.cpp include/*.h
cleanall:
@-$(MAKE) clean # incase PGXS not included
@-$(MAKE) -C bin/gpcheckcloud clean
@$(MAKE) -C test clean
rm -f *.o *.so *.a
rm -f *.gcov src/*.gcov src/*.gcda src/*.gcno
rm -f src/*.o src/*.d bin/gpcheckcloud/*.o bin/gpcheckcloud/*.d test/*.o test/*.d test/*.a lib/*.o lib/*.d
.PHONY: format lint tags test coverage cleanall