1# contrib/pgcrypto/Makefile
2
3INT_SRCS = md5.c sha1.c internal.c internal-sha2.c blf.c rijndael.c \
4		pgp-mpi-internal.c imath.c
5INT_TESTS = sha2
6
7OSSL_SRCS = openssl.c pgp-mpi-openssl.c
8OSSL_TESTS = sha2 des 3des cast5
9
10ZLIB_TST = pgp-compression
11ZLIB_OFF_TST = pgp-zlib-DISABLED
12
13CF_SRCS = $(if $(subst no,,$(with_openssl)), $(OSSL_SRCS), $(INT_SRCS))
14CF_TESTS = $(if $(subst no,,$(with_openssl)), $(OSSL_TESTS), $(INT_TESTS))
15CF_PGP_TESTS = $(if $(subst no,,$(with_zlib)), $(ZLIB_TST), $(ZLIB_OFF_TST))
16
17SRCS		= pgcrypto.c px.c px-hmac.c px-crypt.c \
18		crypt-gensalt.c crypt-blowfish.c crypt-des.c \
19		crypt-md5.c $(CF_SRCS) \
20		mbuf.c pgp.c pgp-armor.c pgp-cfb.c pgp-compress.c \
21		pgp-decrypt.c pgp-encrypt.c pgp-info.c pgp-mpi.c \
22		pgp-pubdec.c pgp-pubenc.c pgp-pubkey.c pgp-s2k.c \
23		pgp-pgsql.c
24
25MODULE_big	= pgcrypto
26OBJS		= $(SRCS:.c=.o) $(WIN32RES)
27
28EXTENSION = pgcrypto
29DATA = pgcrypto--1.3.sql pgcrypto--1.2--1.3.sql pgcrypto--1.1--1.2.sql \
30	pgcrypto--1.0--1.1.sql pgcrypto--unpackaged--1.0.sql
31PGFILEDESC = "pgcrypto - cryptographic functions"
32
33REGRESS = init md5 sha1 hmac-md5 hmac-sha1 blowfish rijndael \
34	$(CF_TESTS) \
35	crypt-des crypt-md5 crypt-blowfish crypt-xdes \
36	pgp-armor pgp-decrypt pgp-encrypt $(CF_PGP_TESTS) \
37	pgp-pubkey-decrypt pgp-pubkey-encrypt pgp-info
38
39EXTRA_CLEAN = gen-rtab
40
41ifdef USE_PGXS
42PG_CONFIG = pg_config
43PGXS := $(shell $(PG_CONFIG) --pgxs)
44include $(PGXS)
45else
46subdir = contrib/pgcrypto
47top_builddir = ../..
48include $(top_builddir)/src/Makefile.global
49include $(top_srcdir)/contrib/contrib-global.mk
50endif
51
52# Add libraries that pgcrypto depends (or might depend) on into the
53# shared library link.  (The order in which you list them here doesn't
54# matter.)
55SHLIB_LINK += $(filter -lcrypto -lz, $(LIBS))
56ifeq ($(PORTNAME), win32)
57SHLIB_LINK += $(filter -leay32, $(LIBS))
58# those must be at the end
59SHLIB_LINK += -lws2_32
60endif
61
62rijndael.o: rijndael.tbl
63
64rijndael.tbl:
65	$(CC) $(CPPFLAGS) $(CFLAGS) -DPRINT_TABS rijndael.c -o gen-rtab
66	./gen-rtab > rijndael.tbl
67