-# Makefile for contrib code
-#
-# The following subdirs don't have a Makefile:
-#
-# apache_logging
-# linux
-# mSQL-interface
-# noupdate
-# unixdate
-#
-# The following subdirs give make errors:
-#
-# earthdistance
-# os2client
-
-all:
- for dir in *; do \
- if [ -e $$dir/Makefile ]; then \
- $(MAKE) -C $$dir $@ ; \
- fi; \
- done
-
-.DEFAULT:
- for dir in *; do \
- if [ -e $$dir/Makefile ]; then \
- $(MAKE) -C $$dir $@ ; \
- fi; \
- done
+# contrib/Makefile
+
+subdir = contrib
+top_builddir = ..
+include $(top_builddir)/src/Makefile.global
+
+SUBDIRS = \
+ adminpack \
+ auth_delay \
+ auto_explain \
+ btree_gin \
+ btree_gist \
+ chkpass \
+ citext \
+ cube \
+ dblink \
+ dict_int \
+ dict_xsyn \
+ dummy_seclabel \
+ earthdistance \
+ file_fdw \
+ fuzzystrmatch \
+ hstore \
+ intagg \
+ intarray \
+ isn \
+ lo \
+ ltree \
+ oid2name \
+ pageinspect \
+ passwordcheck \
+ pg_archivecleanup \
+ pg_buffercache \
+ pg_freespacemap \
+ pg_standby \
+ pg_stat_statements \
+ pg_test_fsync \
+ pg_trgm \
+ pg_upgrade \
+ pg_upgrade_support \
+ pgbench \
+ pgcrypto \
+ pgrowlocks \
+ pgstattuple \
+ seg \
+ spi \
+ tablefunc \
+ test_parser \
+ tsearch2 \
+ unaccent \
+ vacuumlo
+
+ifeq ($(with_openssl),yes)
+SUBDIRS += sslinfo
+endif
+
+ifeq ($(with_ossp_uuid),yes)
+SUBDIRS += uuid-ossp
+endif
+
+ifeq ($(with_libxml),yes)
+SUBDIRS += xml2
+endif
+
+ifeq ($(with_selinux),yes)
+SUBDIRS += sepgsql
+endif
+
+# Missing:
+# start-scripts \ (does not have a makefile)
+
+
+$(recurse)