summaryrefslogtreecommitdiffstats
path: root/Makefile.am
blob: 3f64a3829346a9039c83bd05d65d4760bb1c9a2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
setup		= $(NAME_BINARYBASE)-setup
setup_in	= postgresql-setup.in

ctl		= $(NAME_BINARYBASE)-ctl
ctl_in		= postgresql-ctl.in

checkdb		= $(NAME_BINARYBASE)-check-db-dir
checkdb_in	= postgresql-check-db-dir.in

service		= $(NAME_SERVICE).service
service_in	= postgresql.service.in
serviceat	= $(NAME_SERVICE)@.service
serviceat_in	= postgresql.service.in

initscript	= $(NAME_SERVICE)
initscript_in	= postgresql.init.in

EXTRA_DIST =
GENERATED_FILES =
CLEANFILES =

# include $(srcdir)/build-helpers/Makefile.inc

SUBDIRS = . doc tests

bin_SCRIPTS = $(setup)
libexec_SCRIPTS = $(ctl) $(checkdb)

legacyscriptsdir = $(systemdlegacyscriptsdir)/$(NAME_SERVICE)

# TODO: Ideally, 'make distcheck' should check every file we generate.
if WANT_SYSVINIT
initscripts_DATA = $(initscript)
else
systemdunits_DATA = $(service) $(serviceat)
legacyscripts_SCRIPTS = initdb upgrade
endif

pgdoc_DATA = $(README_DIST_BASENAME)

noinst_DATA = $(TEST_GEN_FILES_LIST)

$(ctl): $(ctl_in) $(c_s)
	$(INSTANTIATE_SCRIPT)

$(setup): $(setup_in) $(c_s)
	$(INSTANTIATE_SCRIPT)

$(checkdb): $(check) $(checkdb_in) $(c_s)
	$(INSTANTIATE_SCRIPT)

$(initscript): $(initscript_in) $(c_s)
	$(INSTANTIATE)

initdb upgrade: legacy-sysv-script.in $(c_s)
	$(INSTANTIATE_SCRIPT)

# In ideal world, postgresql@.service would be hardlink to postgresql.service.
# That would require, however, the rhbz#1141824 resolved so we could install
# system-default drop-in file.  Make a "almost" duplicate files now.

$(serviceat): $(serviceat_in) $(c_s)
	$(AM_V_GEN)$(SED_CALL) \
	    -e '/@PGDATA_ENVIRONMENT[@]/d' \
	    $< > $@

$(service): $(service_in) $(c_s)
	$(AM_V_GEN)$(SED_CALL) \
	    -e 's|@PGDATA_ENVIRONMENT[@]|Environment=PGDATA=$(PGDATADIR)|' \
	    $< > $@

$(README_DIST_BASENAME): $(README_DIST_BASENAME).in $(c_s)
	$(INSTANTIATE)

EXTRA_DIST += \
	$(srcdir)/*.in \
	$(srcdir)/etc/postgresql-setup/upgrade/postgresql.conf

include $(srcdir)/share/postgresql-setup/Makefile.inc

GENERATED_FILES += \
	$(bin_SCRIPTS) \
	$(libexec_SCRIPTS) \
	$(pgdoc_DATA) \
	$(pkgsysconf_DATA) \
	$(systemdunits_DATA) \
	$(initscripts_DATA) \
	$(legacyscripts_SCRIPTS)

CLEANFILES += $(GENERATED_FILES) $(TEST_GEN_FILES_LIST)

$(TEST_GEN_FILES_LIST): $(GENERATED_FILES)
	$(AM_V_GEN)rm -rf $(TEST_GEN_FILES_LIST) && \
	for i in $(GENERATED_FILES); do \
	    echo $$i >> $@ ; \
	done

install-data-hook:
	test `id -u` -ne 0 || systemctl daemon-reload
	$(MKDIR_P) $(DESTDIR)/$(sysconfdir)/$(NAME_BINARYBASE)-setup/upgrade

GL_GEN_BIN = gitlog-to-changelog
GL_GEN = if test -d .git; then \
	   $(SHELL) $(top_srcdir)/$(config_aux_dir)/missing --run \
	   $(GL_GEN_BIN) --format='%s%n%n%b%n' --since 2014-06-30 > ChangeLog ; \
	   rc=$$? ; \
	   if test $$rc -eq 127; then \
	     if test x"$$IGNORE_CHANGELOG" != xyes; then \
	       echo >&2 "ERROR: Get the $(GL_GEN_BIN) or ignore ChangeLog by IGNORE_CHANGELOG=yes" ; \
	       exit 1 ; \
	     fi ; \
	   else \
	     test $$rc -eq 0 ; \
	   fi \
	 fi

.PHONY: ChangeLog
ChangeLog:
	$(AM_V_GEN)$(GL_GEN)

dist-hook: ChangeLog

DISTCLEANFILES = ChangeLog