# contrib/passwordpolicy/Makefile

EXTENSION = passwordpolicy
MODULE_big = passwordpolicy
EXTVERSION = 2.0.6

OBJS = passwordpolicy.o passwordpolicy_auth.o passwordpolicy_bgw.o passwordpolicy_check.o passwordpolicy_hash_accounts.o passwordpolicy_hash_history.o passwordpolicy_shmem.o passwordpolicy_sql.o passwordpolicy_vars.o $(WIN32RES)
PGFILEDESC = "passwordpolicy - user password checks"

DATA = passwordpolicy.control passwordpolicy--1.0.0.sql passwordpolicy--1.0.0--1.1.0.sql passwordpolicy--1.1.0--2.0.0.sql passwordpolicy--2.0.0--2.0.1.sql passwordpolicy--2.0.1--2.0.2.sql passwordpolicy--2.0.2--2.0.3.sql passwordpolicy--2.0.3--2.0.4.sql passwordpolicy--2.0.4--2.0.5.sql passwordpolicy--2.0.5--2.0.6.sql

REGRESS_OPTS = --inputdir=test --outputdir=test --load-extension=passwordpolicy --user=postgres
REGRESS = passwordpolicy_test01 passwordpolicy_test02 passwordpolicy_test03 passwordpolicy_test04 passwordpolicy_test05 passwordpolicy_test06

# Pass the current version as a macro to the C compiler
PG_CPPFLAGS += -DEXTVERSION=\"$(EXTVERSION)\"


PG_CFLAGS += -DUSE_CRACKLIB
SHLIB_LINK = -lcrack

GCC_VERSION := $(shell gcc -dumpversion | cut -f1 -d.)

ifeq ($(shell [ $(GCC_VERSION) -ge 10 ] && echo true),true)
PG_CFLAGS += -fanalyzer -Wall -Wdiscarded-qualifiers
else
PG_CFLAGS += -Wall -Wdiscarded-qualifiers
endif

PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)

# Generate the control file from the template
passwordpolicy.control: passwordpolicy.control.in
	sed 's/@EXTVERSION@/$(EXTVERSION)/g' $< > $@

all: $(DATA)
