pg_probackup

Форк
0
/
Makefile 
89 строк · 3.3 Кб
1
PROGRAM = pg_probackup
2
WORKDIR ?= $(CURDIR)
3
BUILDDIR = $(WORKDIR)/build/
4
PBK_GIT_REPO = https://github.com/postgrespro/pg_probackup
5

6
# utils
7
OBJS = src/utils/configuration.o src/utils/json.o src/utils/logger.o \
8
	src/utils/parray.o src/utils/pgut.o src/utils/thread.o src/utils/remote.o src/utils/file.o
9

10
OBJS += src/archive.o src/backup.o src/catalog.o src/checkdb.o src/configure.o src/data.o \
11
	src/delete.o src/dir.o src/fetch.o src/help.o src/init.o src/merge.o \
12
	src/parsexlog.o src/ptrack.o src/pg_probackup.o src/restore.o src/show.o src/stream.o \
13
	src/util.o src/validate.o src/datapagemap.o src/catchup.o
14

15
# borrowed files
16
OBJS += src/pg_crc.o src/receivelog.o src/streamutil.o \
17
	src/xlogreader.o
18

19
EXTRA_CLEAN = src/pg_crc.c \
20
	src/receivelog.c src/receivelog.h src/streamutil.c src/streamutil.h \
21
	src/xlogreader.c src/instr_time.h
22

23
ifdef top_srcdir
24
srchome := $(abspath $(top_srcdir))
25
else
26
top_srcdir=../..
27
ifneq (,$(wildcard ../../../contrib/pg_probackup))
28
# separate build directory support
29
srchome := $(abspath $(top_srcdir)/..)
30
else
31
srchome := $(abspath $(top_srcdir))
32
endif
33
endif
34

35
# OBJS variable must be finally defined before invoking the include directive
36
ifneq (,$(wildcard $(srchome)/src/bin/pg_basebackup/walmethods.c))
37
OBJS += src/walmethods.o
38
EXTRA_CLEAN += src/walmethods.c src/walmethods.h
39
endif
40

41
ifdef USE_PGXS
42
PG_CONFIG = pg_config
43
PGXS := $(shell $(PG_CONFIG) --pgxs)
44
include $(PGXS)
45
else
46
subdir=contrib/pg_probackup
47
top_builddir=../..
48
include $(top_builddir)/src/Makefile.global
49
include $(top_srcdir)/contrib/contrib-global.mk
50
endif
51

52
PG_CPPFLAGS = -I$(libpq_srcdir) ${PTHREAD_CFLAGS} -Isrc -I$(srchome)/$(subdir)/src
53
override CPPFLAGS := -DFRONTEND $(CPPFLAGS) $(PG_CPPFLAGS)
54
PG_LIBS_INTERNAL = $(libpq_pgport) ${PTHREAD_CFLAGS}
55

56
src/utils/configuration.o: src/datapagemap.h
57
src/archive.o: src/instr_time.h
58
src/backup.o: src/receivelog.h src/streamutil.h
59

60
src/instr_time.h: $(srchome)/src/include/portability/instr_time.h
61
	rm -f $@ && $(LN_S) $(srchome)/src/include/portability/instr_time.h $@
62
src/pg_crc.c: $(srchome)/src/backend/utils/hash/pg_crc.c
63
	rm -f $@ && $(LN_S) $(srchome)/src/backend/utils/hash/pg_crc.c $@
64
src/receivelog.c: $(srchome)/src/bin/pg_basebackup/receivelog.c
65
	rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_basebackup/receivelog.c $@
66
ifneq (,$(wildcard $(srchome)/src/bin/pg_basebackup/walmethods.c))
67
src/receivelog.h: src/walmethods.h $(srchome)/src/bin/pg_basebackup/receivelog.h
68
else
69
src/receivelog.h: $(srchome)/src/bin/pg_basebackup/receivelog.h
70
endif
71
	rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_basebackup/receivelog.h $@
72
src/streamutil.c: $(srchome)/src/bin/pg_basebackup/streamutil.c
73
	rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_basebackup/streamutil.c $@
74
src/streamutil.h: $(srchome)/src/bin/pg_basebackup/streamutil.h
75
	rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_basebackup/streamutil.h $@
76
src/xlogreader.c: $(srchome)/src/backend/access/transam/xlogreader.c
77
	rm -f $@ && $(LN_S) $(srchome)/src/backend/access/transam/xlogreader.c $@
78
src/walmethods.c: $(srchome)/src/bin/pg_basebackup/walmethods.c
79
	rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_basebackup/walmethods.c $@
80
src/walmethods.h: $(srchome)/src/bin/pg_basebackup/walmethods.h
81
	rm -f $@ && $(LN_S) $(srchome)/src/bin/pg_basebackup/walmethods.h $@
82

83
ifeq ($(PORTNAME), aix)
84
	CC=xlc_r
85
endif
86

87
include packaging/Makefile.pkg
88
include packaging/Makefile.repo
89
include packaging/Makefile.test
90

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.