# The build configuration (debug or release) CONFIG := release # Extension packaging options EXTENSION := pg_libphonenumber version := 0.1.0 extension_script := $(EXTENSION)--$(version).sql DATA_built := $(extension_script) REGRESS := regression # Build options cpp_files := $(wildcard src/*.cpp) # The native module to build MODULE_big := pg_libphonenumber # The object files that go into the module OBJS := $(patsubst %.cpp,%.o,$(cpp_files)) # C flags PG_CPPFLAGS := -fPIC -std=c++11 -Isrc/ ifeq ($(CONFIG),debug) PG_CPPFLAGS += -g -Og else PG_CPPFLAGS += -O3 endif # Extra libraries to link SHLIB_LINK := -lphonenumber -lstdc++ # Clean options EXTRA_CLEAN := $(extension_script) tools/get_sizeof_phone_number # Load PGXS. PG_CONFIG := pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) include $(PGXS) # Build the extension script: $(extension_script): $(EXTENSION).sql.template tools/get_sizeof_phone_number sed "s/SIZEOF_PHONE_NUMBER/$(shell tools/get_sizeof_phone_number)/" $< > $@ # Gets the size of a ShortPhoneNumber (which corresponds to the phone_number type in SQL) tools/get_sizeof_phone_number: tools/get_sizeof_phone_number.cpp src/short_phone_number.h $(CXX) $(PG_CPPFLAGS) $< -o $@