summaryrefslogtreecommitdiffstats
path: root/src/bin/initdb/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/initdb/Makefile')
-rw-r--r--src/bin/initdb/Makefile69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/bin/initdb/Makefile b/src/bin/initdb/Makefile
new file mode 100644
index 0000000..a620a5b
--- /dev/null
+++ b/src/bin/initdb/Makefile
@@ -0,0 +1,69 @@
+#-------------------------------------------------------------------------
+#
+# Makefile for src/bin/initdb
+#
+# Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
+# Portions Copyright (c) 1994, Regents of the University of California
+#
+# src/bin/initdb/Makefile
+#
+#-------------------------------------------------------------------------
+
+PGFILEDESC = "initdb - initialize a new database cluster"
+PGAPPICON=win32
+
+subdir = src/bin/initdb
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
+
+override CPPFLAGS := -DFRONTEND -I$(libpq_srcdir) -I$(top_srcdir)/src/timezone $(CPPFLAGS)
+
+# Note: it's important that we link to encnames.o from libpgcommon, not
+# from libpq, else we have risks of version skew if we run with a libpq
+# shared library from a different PG version. The libpq_pgport macro
+# should ensure that that happens.
+#
+# We need libpq only because fe_utils does.
+LDFLAGS_INTERNAL += -L$(top_builddir)/src/fe_utils -lpgfeutils $(libpq_pgport)
+
+# use system timezone data?
+ifneq (,$(with_system_tzdata))
+override CPPFLAGS += '-DSYSTEMTZDIR="$(with_system_tzdata)"'
+endif
+
+OBJS = \
+ $(WIN32RES) \
+ findtimezone.o \
+ initdb.o \
+ localtime.o
+
+all: initdb
+
+initdb: $(OBJS) | submake-libpq submake-libpgport submake-libpgfeutils
+ $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X)
+
+# We must pull in localtime.c from src/timezones
+localtime.c: % : $(top_srcdir)/src/timezone/%
+ rm -f $@ && $(LN_S) $< .
+
+install: all installdirs
+ $(INSTALL_PROGRAM) initdb$(X) '$(DESTDIR)$(bindir)/initdb$(X)'
+
+installdirs:
+ $(MKDIR_P) '$(DESTDIR)$(bindir)'
+
+uninstall:
+ rm -f '$(DESTDIR)$(bindir)/initdb$(X)'
+
+clean distclean maintainer-clean:
+ rm -f initdb$(X) $(OBJS) localtime.c
+ rm -rf tmp_check
+
+# ensure that changes in datadir propagate into object file
+initdb.o: initdb.c $(top_builddir)/src/Makefile.global
+
+check:
+ $(prove_check)
+
+installcheck:
+ $(prove_installcheck)