1#-------------------------------------------------------------------------
2#
3# Makefile for src/bin/scripts
4#
5# Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
6# Portions Copyright (c) 1994, Regents of the University of California
7#
8# src/bin/scripts/Makefile
9#
10#-------------------------------------------------------------------------
11
12PGFILEDESC = "PostgreSQL utility"
13PGAPPICON=win32
14
15subdir = src/bin/scripts
16top_builddir = ../../..
17include $(top_builddir)/src/Makefile.global
18
19PROGRAMS = createdb createlang createuser dropdb droplang dropuser clusterdb vacuumdb reindexdb pg_isready
20
21override CPPFLAGS := -I$(libpq_srcdir) $(CPPFLAGS)
22LDFLAGS_INTERNAL += -L$(top_builddir)/src/fe_utils -lpgfeutils $(libpq_pgport)
23
24all: $(PROGRAMS)
25
26%: %.o $(WIN32RES)
27	$(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X)
28
29createdb: createdb.o common.o | submake-libpq submake-libpgport submake-libpgfeutils
30createlang: createlang.o common.o | submake-libpq submake-libpgport submake-libpgfeutils
31createuser: createuser.o common.o | submake-libpq submake-libpgport submake-libpgfeutils
32dropdb: dropdb.o common.o | submake-libpq submake-libpgport submake-libpgfeutils
33droplang: droplang.o common.o | submake-libpq submake-libpgport submake-libpgfeutils
34dropuser: dropuser.o common.o | submake-libpq submake-libpgport submake-libpgfeutils
35clusterdb: clusterdb.o common.o | submake-libpq submake-libpgport submake-libpgfeutils
36vacuumdb: vacuumdb.o common.o | submake-libpq submake-libpgport submake-libpgfeutils
37reindexdb: reindexdb.o common.o | submake-libpq submake-libpgport submake-libpgfeutils
38pg_isready: pg_isready.o common.o | submake-libpq submake-libpgport submake-libpgfeutils
39
40install: all installdirs
41	$(INSTALL_PROGRAM) createdb$(X)   '$(DESTDIR)$(bindir)'/createdb$(X)
42	$(INSTALL_PROGRAM) dropdb$(X)     '$(DESTDIR)$(bindir)'/dropdb$(X)
43	$(INSTALL_PROGRAM) createlang$(X) '$(DESTDIR)$(bindir)'/createlang$(X)
44	$(INSTALL_PROGRAM) droplang$(X)   '$(DESTDIR)$(bindir)'/droplang$(X)
45	$(INSTALL_PROGRAM) createuser$(X) '$(DESTDIR)$(bindir)'/createuser$(X)
46	$(INSTALL_PROGRAM) dropuser$(X)   '$(DESTDIR)$(bindir)'/dropuser$(X)
47	$(INSTALL_PROGRAM) clusterdb$(X)  '$(DESTDIR)$(bindir)'/clusterdb$(X)
48	$(INSTALL_PROGRAM) vacuumdb$(X)   '$(DESTDIR)$(bindir)'/vacuumdb$(X)
49	$(INSTALL_PROGRAM) reindexdb$(X)  '$(DESTDIR)$(bindir)'/reindexdb$(X)
50	$(INSTALL_PROGRAM) pg_isready$(X) '$(DESTDIR)$(bindir)'/pg_isready$(X)
51
52installdirs:
53	$(MKDIR_P) '$(DESTDIR)$(bindir)'
54
55uninstall:
56	rm -f $(addprefix '$(DESTDIR)$(bindir)'/, $(addsuffix $(X), $(PROGRAMS)))
57
58clean distclean maintainer-clean:
59	rm -f $(addsuffix $(X), $(PROGRAMS)) $(addsuffix .o, $(PROGRAMS))
60	rm -f common.o $(WIN32RES)
61	rm -rf tmp_check
62
63check:
64	$(prove_check)
65
66installcheck:
67	$(prove_installcheck)
68