# src/bin/pg_upgrade/Makefile PGFILEDESC = "pg_upgrade - an in-place binary upgrade utility" PGAPPICON = win32 subdir = src/bin/pg_upgrade top_builddir = ../../.. include $(top_builddir)/src/Makefile.global OBJS = check.o controldata.o dump.o exec.o file.o function.o info.o \ option.o parallel.o pg_upgrade.o relfilenode.o server.o \ tablespace.o util.o version.o $(WIN32RES) override CPPFLAGS := -DDLSUFFIX=\"$(DLSUFFIX)\" -I$(srcdir) -I$(libpq_srcdir) $(CPPFLAGS) LDFLAGS_INTERNAL += -L$(top_builddir)/src/fe_utils -lpgfeutils $(libpq_pgport) all: pg_upgrade pg_upgrade: $(OBJS) | submake-libpq submake-libpgport submake-libpgfeutils $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X) install: all installdirs $(INSTALL_PROGRAM) pg_upgrade$(X) '$(DESTDIR)$(bindir)/pg_upgrade$(X)' installdirs: $(MKDIR_P) '$(DESTDIR)$(bindir)' uninstall: rm -f '$(DESTDIR)$(bindir)/pg_upgrade$(X)' clean distclean maintainer-clean: rm -f pg_upgrade$(X) $(OBJS) rm -rf analyze_new_cluster.sh delete_old_cluster.sh log/ tmp_check/ \ loadable_libraries.txt reindex_hash.sql \ pg_upgrade_dump_globals.sql \ pg_upgrade_dump_*.custom pg_upgrade_*.log # When $(MAKE) is present, make automatically infers that this is a # recursive make. which is not actually what we want here, as that # e.g. prevents output synchronization from working (as make thinks # that the subsidiary make knows how to deal with that itself, but # we're invoking a shell script that doesn't know). Referencing # $(MAKE) indirectly avoids that behaviour. # See https://www.gnu.org/software/make/manual/html_node/MAKE-Variable.html#MAKE-Variable NOTSUBMAKEMAKE=$(MAKE) check: test.sh all temp-install MAKE=$(NOTSUBMAKEMAKE) $(with_temp_install) bindir=$(abs_top_builddir)/tmp_install/$(bindir) EXTRA_REGRESS_OPTS="$(EXTRA_REGRESS_OPTS)" $(SHELL) $< # installcheck is not supported because there's no meaningful way to test # pg_upgrade against a single already-running server