1# contrib/pgcrypto/Makefile
2
3INT_SRCS = 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 openssl,,$(with_ssl)), $(INT_SRCS), $(OSSL_SRCS))
14CF_TESTS = $(if $(subst openssl,,$(with_ssl)), $(INT_TESTS), $(OSSL_TESTS))
15CF_PGP_TESTS = $(if $(subst no,,$(with_zlib)), $(ZLIB_TST), $(ZLIB_OFF_TST))
16
17SRCS = \
18	$(CF_SRCS) \
19	crypt-blowfish.c \
20	crypt-des.c \
21	crypt-gensalt.c \
22	crypt-md5.c \
23	mbuf.c \
24	pgcrypto.c \
25	pgp-armor.c \
26	pgp-cfb.c \
27	pgp-compress.c \
28	pgp-decrypt.c \
29	pgp-encrypt.c \
30	pgp-info.c \
31	pgp-mpi.c \
32	pgp-pgsql.c \
33	pgp-pubdec.c \
34	pgp-pubenc.c \
35	pgp-pubkey.c \
36	pgp-s2k.c \
37	pgp.c \
38	px-crypt.c \
39	px-hmac.c \
40	px.c
41
42MODULE_big	= pgcrypto
43OBJS = \
44	$(SRCS:.c=.o) \
45	$(WIN32RES)
46
47EXTENSION = pgcrypto
48DATA = pgcrypto--1.3.sql pgcrypto--1.2--1.3.sql pgcrypto--1.1--1.2.sql \
49	pgcrypto--1.0--1.1.sql
50PGFILEDESC = "pgcrypto - cryptographic functions"
51
52REGRESS = init md5 sha1 hmac-md5 hmac-sha1 blowfish rijndael \
53	$(CF_TESTS) \
54	crypt-des crypt-md5 crypt-blowfish crypt-xdes \
55	pgp-armor pgp-decrypt pgp-encrypt $(CF_PGP_TESTS) \
56	pgp-pubkey-decrypt pgp-pubkey-encrypt pgp-info
57
58EXTRA_CLEAN = gen-rtab
59
60ifdef USE_PGXS
61PG_CONFIG = pg_config
62PGXS := $(shell $(PG_CONFIG) --pgxs)
63include $(PGXS)
64else
65subdir = contrib/pgcrypto
66top_builddir = ../..
67include $(top_builddir)/src/Makefile.global
68include $(top_srcdir)/contrib/contrib-global.mk
69endif
70
71# Add libraries that pgcrypto depends (or might depend) on into the
72# shared library link.  (The order in which you list them here doesn't
73# matter.)
74SHLIB_LINK += $(filter -lcrypto -lz, $(LIBS))
75ifeq ($(PORTNAME), win32)
76SHLIB_LINK += $(filter -leay32, $(LIBS))
77# those must be at the end
78SHLIB_LINK += -lws2_32
79endif
80
81# Upstream uses a larger subset of C99.
82imath.o: CFLAGS+=$(PERMIT_DECLARATION_AFTER_STATEMENT)
83
84rijndael.o: rijndael.tbl
85
86rijndael.tbl:
87	$(CC) $(CPPFLAGS) $(CFLAGS) -DPRINT_TABS rijndael.c -o gen-rtab
88	./gen-rtab > rijndael.tbl
89