summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2008-02-19 10:30:09 +0000
committerPeter Eisentraut2008-02-19 10:30:09 +0000
commit12b0df3136e13d055be311d9e9be169a2a4d983b (patch)
treee39154eaf1edce182de33943a51bd7a97cb3a9b3
parent34e8f1f56c9f705f6e203a348f3a8d4798197178 (diff)
Refactor backend makefiles to remove lots of duplicate code
-rw-r--r--src/backend/access/Makefile16
-rw-r--r--src/backend/access/common/Makefile6
-rw-r--r--src/backend/access/gin/Makefile8
-rw-r--r--src/backend/access/gist/Makefile8
-rw-r--r--src/backend/access/hash/Makefile8
-rw-r--r--src/backend/access/heap/Makefile8
-rw-r--r--src/backend/access/index/Makefile8
-rw-r--r--src/backend/access/nbtree/Makefile8
-rw-r--r--src/backend/access/transam/Makefile8
-rw-r--r--src/backend/bootstrap/Makefile6
-rw-r--r--src/backend/catalog/Makefile7
-rw-r--r--src/backend/commands/Makefile8
-rw-r--r--src/backend/common.mk25
-rw-r--r--src/backend/executor/Makefile8
-rw-r--r--src/backend/lib/Makefile8
-rw-r--r--src/backend/libpq/Makefile9
-rw-r--r--src/backend/main/Makefile8
-rw-r--r--src/backend/nodes/Makefile8
-rw-r--r--src/backend/optimizer/Makefile16
-rw-r--r--src/backend/optimizer/geqo/Makefile8
-rw-r--r--src/backend/optimizer/path/Makefile8
-rw-r--r--src/backend/optimizer/plan/Makefile8
-rw-r--r--src/backend/optimizer/prep/Makefile8
-rw-r--r--src/backend/optimizer/util/Makefile8
-rw-r--r--src/backend/parser/Makefile7
-rw-r--r--src/backend/port/Makefile7
-rw-r--r--src/backend/postmaster/Makefile8
-rw-r--r--src/backend/regex/Makefile8
-rw-r--r--src/backend/rewrite/Makefile8
-rw-r--r--src/backend/storage/Makefile16
-rw-r--r--src/backend/storage/buffer/Makefile8
-rw-r--r--src/backend/storage/file/Makefile8
-rw-r--r--src/backend/storage/freespace/Makefile8
-rw-r--r--src/backend/storage/ipc/Makefile8
-rw-r--r--src/backend/storage/large_object/Makefile8
-rw-r--r--src/backend/storage/lmgr/Makefile7
-rw-r--r--src/backend/storage/page/Makefile8
-rw-r--r--src/backend/storage/smgr/Makefile8
-rw-r--r--src/backend/tcop/Makefile8
-rw-r--r--src/backend/tsearch/Makefile15
-rw-r--r--src/backend/utils/Makefile16
-rw-r--r--src/backend/utils/adt/Makefile8
-rw-r--r--src/backend/utils/cache/Makefile8
-rw-r--r--src/backend/utils/error/Makefile8
-rw-r--r--src/backend/utils/fmgr/Makefile9
-rw-r--r--src/backend/utils/hash/Makefile8
-rw-r--r--src/backend/utils/init/Makefile8
-rw-r--r--src/backend/utils/mb/Makefile11
-rw-r--r--src/backend/utils/misc/Makefile7
-rw-r--r--src/backend/utils/mmgr/Makefile8
-rw-r--r--src/backend/utils/resowner/Makefile8
-rw-r--r--src/backend/utils/sort/Makefile8
-rw-r--r--src/backend/utils/time/Makefile8
53 files changed, 85 insertions, 391 deletions
diff --git a/src/backend/access/Makefile b/src/backend/access/Makefile
index 4e0d90562f..baf3724ae2 100644
--- a/src/backend/access/Makefile
+++ b/src/backend/access/Makefile
@@ -9,19 +9,5 @@ top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
SUBDIRS = common gist hash heap index nbtree transam gin
-SUBDIROBJS = $(SUBDIRS:%=%/SUBSYS.o)
-all: SUBSYS.o
-
-SUBSYS.o: $(SUBDIROBJS)
- $(LD) $(LDREL) $(LDOUT) $@ $^
-
-$(SUBDIROBJS): $(SUBDIRS:%=%-recursive) ;
-
-.PHONY: $(SUBDIRS:%=%-recursive)
-$(SUBDIRS:%=%-recursive):
- $(MAKE) -C $(subst -recursive,,$@) SUBSYS.o
-
-clean:
- for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done
- rm -f SUBSYS.o
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/access/common/Makefile b/src/backend/access/common/Makefile
index 34e14415eb..0cd7c8728f 100644
--- a/src/backend/access/common/Makefile
+++ b/src/backend/access/common/Makefile
@@ -16,8 +16,4 @@ OBJS = heaptuple.o indextuple.o printtup.o reloptions.o scankey.o tupdesc.o
all: SUBSYS.o
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/access/gin/Makefile b/src/backend/access/gin/Makefile
index d91cb22a5c..93442ae8c0 100644
--- a/src/backend/access/gin/Makefile
+++ b/src/backend/access/gin/Makefile
@@ -16,10 +16,4 @@ OBJS = ginutil.o gininsert.o ginxlog.o ginentrypage.o gindatapage.o \
ginbtree.o ginscan.o ginget.o ginvacuum.o ginarrayproc.o \
ginbulk.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/access/gist/Makefile b/src/backend/access/gist/Makefile
index ab307ebacf..e1b642a058 100644
--- a/src/backend/access/gist/Makefile
+++ b/src/backend/access/gist/Makefile
@@ -15,10 +15,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = gist.o gistutil.o gistxlog.o gistvacuum.o gistget.o gistscan.o \
gistproc.o gistsplit.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/access/hash/Makefile b/src/backend/access/hash/Makefile
index 246ee4d80e..537891d8fb 100644
--- a/src/backend/access/hash/Makefile
+++ b/src/backend/access/hash/Makefile
@@ -15,10 +15,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = hash.o hashfunc.o hashinsert.o hashovfl.o hashpage.o hashscan.o \
hashsearch.o hashutil.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/access/heap/Makefile b/src/backend/access/heap/Makefile
index e8fbb8ffc4..f3b9b3d32a 100644
--- a/src/backend/access/heap/Makefile
+++ b/src/backend/access/heap/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = heapam.o hio.o pruneheap.o rewriteheap.o syncscan.o tuptoaster.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/access/index/Makefile b/src/backend/access/index/Makefile
index ef142a6b7b..9c48792fd3 100644
--- a/src/backend/access/index/Makefile
+++ b/src/backend/access/index/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = genam.o indexam.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/access/nbtree/Makefile b/src/backend/access/nbtree/Makefile
index f85c703382..4e956685ea 100644
--- a/src/backend/access/nbtree/Makefile
+++ b/src/backend/access/nbtree/Makefile
@@ -15,10 +15,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = nbtcompare.o nbtinsert.o nbtpage.o nbtree.o nbtsearch.o \
nbtutils.o nbtsort.o nbtxlog.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/access/transam/Makefile b/src/backend/access/transam/Makefile
index f2737c8591..f8665ed353 100644
--- a/src/backend/access/transam/Makefile
+++ b/src/backend/access/transam/Makefile
@@ -14,13 +14,7 @@ include $(top_builddir)/src/Makefile.global
OBJS = clog.o transam.o varsup.o xact.o xlog.o xlogutils.o rmgr.o slru.o subtrans.o multixact.o twophase.o twophase_rmgr.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
# ensure that version checks in xlog.c get recompiled when catversion.h changes
xlog.o: xlog.c $(top_srcdir)/src/include/catalog/catversion.h
diff --git a/src/backend/bootstrap/Makefile b/src/backend/bootstrap/Makefile
index bb8bf76f12..b9e18b6fd1 100644
--- a/src/backend/bootstrap/Makefile
+++ b/src/backend/bootstrap/Makefile
@@ -14,10 +14,7 @@ override CPPFLAGS := -I$(srcdir) $(CPPFLAGS)
OBJS= bootparse.o bootstrap.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) $@ $^
+include $(top_srcdir)/src/backend/common.mk
# bootscanner is compiled as part of bootparse
@@ -50,6 +47,5 @@ bootstrap.o bootparse.o: $(srcdir)/bootstrap_tokens.h
# bootparse.c, bootstrap_tokens.h, and bootscanner.c are in the distribution
# tarball, so they are not cleaned here.
clean:
- rm -f SUBSYS.o $(OBJS)
# And the garbage that might have been left behind by partial build:
@rm -f y.tab.h y.tab.c y.output lex.yy.c
diff --git a/src/backend/catalog/Makefile b/src/backend/catalog/Makefile
index 89e1216e72..39714f0cb3 100644
--- a/src/backend/catalog/Makefile
+++ b/src/backend/catalog/Makefile
@@ -17,10 +17,9 @@ OBJS = catalog.o dependency.o heap.o index.o indexing.o namespace.o aclchk.o \
BKIFILES = postgres.bki postgres.description postgres.shdescription
-all: SUBSYS.o $(BKIFILES)
+include $(top_srcdir)/src/backend/common.mk
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
+all: $(BKIFILES)
# Note: there are some undocumented dependencies on the ordering in which
# the catalog header files are assembled into postgres.bki. In particular,
@@ -67,4 +66,4 @@ uninstall-data:
rm -f $(addprefix '$(DESTDIR)$(datadir)'/, $(BKIFILES) system_views.sql information_schema.sql sql_features.txt)
clean:
- rm -f SUBSYS.o $(OBJS) $(BKIFILES)
+ rm -f $(BKIFILES)
diff --git a/src/backend/commands/Makefile b/src/backend/commands/Makefile
index 34a15f1275..acd4398df8 100644
--- a/src/backend/commands/Makefile
+++ b/src/backend/commands/Makefile
@@ -21,10 +21,4 @@ OBJS = aggregatecmds.o alter.o analyze.o async.o cluster.o comment.o \
tsearchcmds.o typecmds.o user.o vacuum.o vacuumlazy.o \
variable.o view.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/common.mk b/src/backend/common.mk
new file mode 100644
index 0000000000..17eec6f8da
--- /dev/null
+++ b/src/backend/common.mk
@@ -0,0 +1,25 @@
+#
+# Common make rules for backend
+#
+# $PostgreSQL$
+#
+
+SUBDIROBJS = $(SUBDIRS:%=%/SUBSYS.o)
+
+all: SUBSYS.o
+
+SUBSYS.o: $(SUBDIROBJS) $(OBJS)
+ $(LD) $(LDREL) $(LDOUT) $@ $^
+
+$(SUBDIROBJS): $(SUBDIRS:%=%-recursive) ;
+
+.PHONY: $(SUBDIRS:%=%-recursive)
+$(SUBDIRS:%=%-recursive):
+ $(MAKE) -C $(subst -recursive,,$@) SUBSYS.o
+
+clean: clean-local
+clean-local:
+ifdef SUBDIRS
+ for dir in $(SUBDIRS); do $(MAKE) -C $$dir clean || exit; done
+endif
+ rm -f SUBSYS.o $(OBJS)
diff --git a/src/backend/executor/Makefile b/src/backend/executor/Makefile
index 95c0c9302c..e48e1f4707 100644
--- a/src/backend/executor/Makefile
+++ b/src/backend/executor/Makefile
@@ -23,10 +23,4 @@ OBJS = execAmi.o execCurrent.o execGrouping.o execJunk.o execMain.o \
nodeValuesscan.o nodeLimit.o nodeGroup.o \
nodeSubplan.o nodeSubqueryscan.o nodeTidscan.o tstoreReceiver.o spi.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/lib/Makefile b/src/backend/lib/Makefile
index a401c8c50d..6285051390 100644
--- a/src/backend/lib/Makefile
+++ b/src/backend/lib/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = dllist.o stringinfo.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/libpq/Makefile b/src/backend/libpq/Makefile
index e1039dfe80..8cf99f97d1 100644
--- a/src/backend/libpq/Makefile
+++ b/src/backend/libpq/Makefile
@@ -17,11 +17,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = be-fsstubs.o be-secure.o auth.o crypt.o hba.o ip.o md5.o pqcomm.o \
pqformat.o pqsignal.o
-
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/main/Makefile b/src/backend/main/Makefile
index 45ed1563a6..11c1b03992 100644
--- a/src/backend/main/Makefile
+++ b/src/backend/main/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = main.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/nodes/Makefile b/src/backend/nodes/Makefile
index f964fb68d4..4715d816f2 100644
--- a/src/backend/nodes/Makefile
+++ b/src/backend/nodes/Makefile
@@ -16,10 +16,4 @@ OBJS = nodeFuncs.o nodes.o list.o bitmapset.o tidbitmap.o \
copyfuncs.o equalfuncs.o makefuncs.o \
outfuncs.o readfuncs.o print.o read.o params.o value.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/optimizer/Makefile b/src/backend/optimizer/Makefile
index f2061dc8b8..bbd06c5661 100644
--- a/src/backend/optimizer/Makefile
+++ b/src/backend/optimizer/Makefile
@@ -9,19 +9,5 @@ top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
SUBDIRS = geqo path plan prep util
-SUBDIROBJS = $(SUBDIRS:%=%/SUBSYS.o)
-all: SUBSYS.o
-
-SUBSYS.o: $(SUBDIROBJS)
- $(LD) $(LDREL) $(LDOUT) $@ $^
-
-$(SUBDIROBJS): $(SUBDIRS:%=%-recursive) ;
-
-.PHONY: $(SUBDIRS:%=%-recursive)
-$(SUBDIRS:%=%-recursive):
- $(MAKE) -C $(subst -recursive,,$@) SUBSYS.o
-
-clean:
- for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done
- rm -f SUBSYS.o
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/optimizer/geqo/Makefile b/src/backend/optimizer/geqo/Makefile
index 158caee6af..dbc6c28a32 100644
--- a/src/backend/optimizer/geqo/Makefile
+++ b/src/backend/optimizer/geqo/Makefile
@@ -18,10 +18,4 @@ OBJS = geqo_copy.o geqo_eval.o geqo_main.o geqo_misc.o \
geqo_selection.o \
geqo_erx.o geqo_pmx.o geqo_cx.o geqo_px.o geqo_ox1.o geqo_ox2.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/optimizer/path/Makefile b/src/backend/optimizer/path/Makefile
index 8496db9d7d..424ed0f6e5 100644
--- a/src/backend/optimizer/path/Makefile
+++ b/src/backend/optimizer/path/Makefile
@@ -15,10 +15,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = allpaths.o clausesel.o costsize.o equivclass.o indxpath.o \
joinpath.o joinrels.o orindxpath.o pathkeys.o tidpath.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/optimizer/plan/Makefile b/src/backend/optimizer/plan/Makefile
index addbdbfb93..c5247774b7 100644
--- a/src/backend/optimizer/plan/Makefile
+++ b/src/backend/optimizer/plan/Makefile
@@ -15,10 +15,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = createplan.o initsplan.o planagg.o planmain.o planner.o \
setrefs.o subselect.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/optimizer/prep/Makefile b/src/backend/optimizer/prep/Makefile
index b4e87ce83c..27f2617438 100644
--- a/src/backend/optimizer/prep/Makefile
+++ b/src/backend/optimizer/prep/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = prepjointree.o prepqual.o preptlist.o prepunion.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/optimizer/util/Makefile b/src/backend/optimizer/util/Makefile
index 1468f9f130..d30b9446a6 100644
--- a/src/backend/optimizer/util/Makefile
+++ b/src/backend/optimizer/util/Makefile
@@ -15,10 +15,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = clauses.o joininfo.o pathnode.o plancat.o predtest.o \
relnode.o restrictinfo.o tlist.o var.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/parser/Makefile b/src/backend/parser/Makefile
index ae7f1115e5..70c5045cdb 100644
--- a/src/backend/parser/Makefile
+++ b/src/backend/parser/Makefile
@@ -18,11 +18,7 @@ OBJS= analyze.o gram.o keywords.o parser.o parse_agg.o parse_clause.o \
FLEXFLAGS = -CF
-
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) $@ $^
+include $(top_srcdir)/src/backend/common.mk
# scan is compiled as part of gram
@@ -63,6 +59,5 @@ gram.o keywords.o parser.o: $(srcdir)/parse.h
# gram.c, parse.h, and scan.c are in the distribution tarball, so they
# are not cleaned here.
clean:
- rm -f SUBSYS.o $(OBJS)
# And the garbage that might have been left behind by partial build:
@rm -f y.tab.h y.tab.c y.output lex.yy.c
diff --git a/src/backend/port/Makefile b/src/backend/port/Makefile
index 8790376efb..48d0d6c774 100644
--- a/src/backend/port/Makefile
+++ b/src/backend/port/Makefile
@@ -32,10 +32,7 @@ ifeq ($(PORTNAME), win32)
OBJS+=win32/SUBSYS.o
endif
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) $@ $^
+include $(top_srcdir)/src/backend/common.mk
darwin/SUBSYS.o: darwin.dir
@@ -62,6 +59,6 @@ ipc_test: ipc_test.o pg_sema.o pg_shmem.o
$(CC) $(CFLAGS) $(LDFLAGS) $(export_dynamic) $^ $(LIBS) -o $@
distclean clean:
- rm -f SUBSYS.o $(OBJS) ipc_test ipc_test.o tas_cpp.s
+ rm -f ipc_test ipc_test.o tas_cpp.s
$(MAKE) -C darwin clean
$(MAKE) -C win32 clean
diff --git a/src/backend/postmaster/Makefile b/src/backend/postmaster/Makefile
index 81af7ba7fd..0f1a0b508d 100644
--- a/src/backend/postmaster/Makefile
+++ b/src/backend/postmaster/Makefile
@@ -15,10 +15,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = autovacuum.o bgwriter.o fork_process.o pgarch.o pgstat.o postmaster.o \
syslogger.o walwriter.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/regex/Makefile b/src/backend/regex/Makefile
index c2493f86c5..88bceee87a 100644
--- a/src/backend/regex/Makefile
+++ b/src/backend/regex/Makefile
@@ -14,15 +14,9 @@ include $(top_builddir)/src/Makefile.global
OBJS = regcomp.o regerror.o regexec.o regfree.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
# mark inclusion dependencies between .c files explicitly
regcomp.o: regcomp.c regc_lex.c regc_color.c regc_nfa.c regc_cvec.c regc_locale.c
regexec.o: regexec.c rege_dfa.c
-
-clean:
- rm -f SUBSYS.o $(OBJS)
diff --git a/src/backend/rewrite/Makefile b/src/backend/rewrite/Makefile
index 53a87c8c4d..f77265f8dc 100644
--- a/src/backend/rewrite/Makefile
+++ b/src/backend/rewrite/Makefile
@@ -15,10 +15,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = rewriteRemove.o rewriteDefine.o \
rewriteHandler.o rewriteManip.o rewriteSupport.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/storage/Makefile b/src/backend/storage/Makefile
index c3ac007c01..3567753ae2 100644
--- a/src/backend/storage/Makefile
+++ b/src/backend/storage/Makefile
@@ -9,19 +9,5 @@ top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
SUBDIRS = buffer file freespace ipc large_object lmgr page smgr
-SUBDIROBJS = $(SUBDIRS:%=%/SUBSYS.o)
-all: SUBSYS.o
-
-SUBSYS.o: $(SUBDIROBJS)
- $(LD) $(LDREL) $(LDOUT) $@ $^
-
-$(SUBDIROBJS): $(SUBDIRS:%=%-recursive) ;
-
-.PHONY: $(SUBDIRS:%=%-recursive)
-$(SUBDIRS:%=%-recursive):
- $(MAKE) -C $(subst -recursive,,$@) SUBSYS.o
-
-clean:
- for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done
- rm -f SUBSYS.o
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/storage/buffer/Makefile b/src/backend/storage/buffer/Makefile
index c375e182a8..4232f28df4 100644
--- a/src/backend/storage/buffer/Makefile
+++ b/src/backend/storage/buffer/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = buf_table.o buf_init.o bufmgr.o freelist.o localbuf.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/storage/file/Makefile b/src/backend/storage/file/Makefile
index 08aa75baa3..24fb246bbb 100644
--- a/src/backend/storage/file/Makefile
+++ b/src/backend/storage/file/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = fd.o buffile.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/storage/freespace/Makefile b/src/backend/storage/freespace/Makefile
index 2cb0e67f20..f3229c0b48 100644
--- a/src/backend/storage/freespace/Makefile
+++ b/src/backend/storage/freespace/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = freespace.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/storage/ipc/Makefile b/src/backend/storage/ipc/Makefile
index 0de7694ea3..4d390bd668 100644
--- a/src/backend/storage/ipc/Makefile
+++ b/src/backend/storage/ipc/Makefile
@@ -18,10 +18,4 @@ endif
OBJS = ipc.o ipci.o pmsignal.o procarray.o shmem.o shmqueue.o \
sinval.o sinvaladt.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/storage/large_object/Makefile b/src/backend/storage/large_object/Makefile
index 9066b58e5e..c7648237c5 100644
--- a/src/backend/storage/large_object/Makefile
+++ b/src/backend/storage/large_object/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = inv_api.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/storage/lmgr/Makefile b/src/backend/storage/lmgr/Makefile
index b3b37d7118..0128b7161f 100644
--- a/src/backend/storage/lmgr/Makefile
+++ b/src/backend/storage/lmgr/Makefile
@@ -14,10 +14,7 @@ include $(top_builddir)/src/Makefile.global
OBJS = lmgr.o lock.o proc.o deadlock.o lwlock.o spin.o s_lock.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
ifdef TAS
TASPATH = $(top_builddir)/src/backend/port/tas.o
@@ -31,4 +28,4 @@ check: s_lock_test
./s_lock_test
clean distclean maintainer-clean:
- rm -f SUBSYS.o $(OBJS) s_lock_test
+ rm -f s_lock_test
diff --git a/src/backend/storage/page/Makefile b/src/backend/storage/page/Makefile
index f64fa3b34f..14a555ec85 100644
--- a/src/backend/storage/page/Makefile
+++ b/src/backend/storage/page/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = bufpage.o itemptr.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/storage/smgr/Makefile b/src/backend/storage/smgr/Makefile
index 835cb57c79..b86b211ecd 100644
--- a/src/backend/storage/smgr/Makefile
+++ b/src/backend/storage/smgr/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = md.o smgr.o smgrtype.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/tcop/Makefile b/src/backend/tcop/Makefile
index e1313bb383..13b4b1402d 100644
--- a/src/backend/tcop/Makefile
+++ b/src/backend/tcop/Makefile
@@ -18,10 +18,4 @@ ifneq (,$(filter $(PORTNAME),cygwin win32))
override CPPFLAGS += -DWIN32_STACK_RLIMIT=$(WIN32_STACK_RLIMIT)
endif
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/tsearch/Makefile b/src/backend/tsearch/Makefile
index 90ac39ec40..7b8601647e 100644
--- a/src/backend/tsearch/Makefile
+++ b/src/backend/tsearch/Makefile
@@ -21,13 +21,7 @@ OBJS = ts_locale.o ts_parse.o wparser.o wparser_def.o dict.o \
dict_ispell.o regis.o spell.o \
to_tsany.o ts_utils.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $^
-
-depend dep:
- $(CC) -MM $(CFLAGS) *.c >depend
+include $(top_srcdir)/src/backend/common.mk
.PHONY: install-data
install-data: $(DICTFILES) installdirs
@@ -43,10 +37,3 @@ uninstall-data:
for i in $(DICTFILES); \
do rm -rf '$(DESTDIR)$(datadir)/$(DICTDIR)/'$$i || exit; \
done
-
-clean distclean maintainer-clean:
- rm -f SUBSYS.o $(OBJS)
-
-ifeq (depend,$(wildcard depend))
-include depend
-endif
diff --git a/src/backend/utils/Makefile b/src/backend/utils/Makefile
index 049a417848..c6efd1d0a8 100644
--- a/src/backend/utils/Makefile
+++ b/src/backend/utils/Makefile
@@ -8,25 +8,17 @@ subdir = src/backend/utils
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
+OBJS = fmgrtab.o
SUBDIRS = adt cache error fmgr hash init mb misc mmgr resowner sort time
-SUBDIROBJS = $(SUBDIRS:%=%/SUBSYS.o)
+include $(top_srcdir)/src/backend/common.mk
-all: SUBSYS.o fmgroids.h
+all: fmgroids.h
-SUBSYS.o: fmgrtab.o $(SUBDIROBJS)
- $(LD) $(LDREL) $(LDOUT) $@ $^
-
-$(SUBDIROBJS): $(SUBDIRS:%=%-recursive) ;
-
-.PHONY: $(SUBDIRS:%=%-recursive)
$(SUBDIRS:%=%-recursive): fmgroids.h
- $(MAKE) -C $(subst -recursive,,$@) SUBSYS.o
fmgroids.h fmgrtab.c: Gen_fmgrtab.sh $(top_srcdir)/src/include/catalog/pg_proc.h
AWK='$(AWK)' $(SHELL) $< $(top_srcdir)/src/include/catalog/pg_proc.h
-
clean:
- for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done
- rm -f SUBSYS.o fmgrtab.o fmgroids.h fmgrtab.c
+ rm -f fmgroids.h fmgrtab.c
diff --git a/src/backend/utils/adt/Makefile b/src/backend/utils/adt/Makefile
index aa2b922a87..d3a53fa291 100644
--- a/src/backend/utils/adt/Makefile
+++ b/src/backend/utils/adt/Makefile
@@ -33,10 +33,4 @@ OBJS = acl.o arrayfuncs.o array_userfuncs.o arrayutils.o bool.o \
like.o: like.c like_match.c
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/utils/cache/Makefile b/src/backend/utils/cache/Makefile
index a360ca05fb..e612f9b6e1 100644
--- a/src/backend/utils/cache/Makefile
+++ b/src/backend/utils/cache/Makefile
@@ -15,10 +15,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = catcache.o inval.o plancache.o relcache.o \
syscache.o lsyscache.o typcache.o ts_cache.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/utils/error/Makefile b/src/backend/utils/error/Makefile
index 28b0bfc048..986f63cd81 100644
--- a/src/backend/utils/error/Makefile
+++ b/src/backend/utils/error/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = assert.o elog.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/utils/fmgr/Makefile b/src/backend/utils/fmgr/Makefile
index 3c1c512733..b171ba193a 100644
--- a/src/backend/utils/fmgr/Makefile
+++ b/src/backend/utils/fmgr/Makefile
@@ -16,11 +16,4 @@ OBJS = dfmgr.o fmgr.o funcapi.o
override CPPFLAGS += -DDLSUFFIX=\"$(DLSUFFIX)\"
-
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/utils/hash/Makefile b/src/backend/utils/hash/Makefile
index 37b2269e08..cf0fad82ce 100644
--- a/src/backend/utils/hash/Makefile
+++ b/src/backend/utils/hash/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = dynahash.o hashfn.o pg_crc.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/utils/init/Makefile b/src/backend/utils/init/Makefile
index 6a6e16626f..031cb2b5aa 100644
--- a/src/backend/utils/init/Makefile
+++ b/src/backend/utils/init/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = flatfiles.o globals.o miscinit.o postinit.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/utils/mb/Makefile b/src/backend/utils/mb/Makefile
index 4699718d2c..e2eba964ab 100644
--- a/src/backend/utils/mb/Makefile
+++ b/src/backend/utils/mb/Makefile
@@ -13,15 +13,8 @@ top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
OBJS = encnames.o conv.o mbutils.o wchar.o wstrcmp.o wstrncmp.o
-DIRS = conversion_procs
-all install installdirs: SUBSYS.o
-
-uninstall distprep:
+include $(top_srcdir)/src/backend/common.mk
clean distclean maintainer-clean:
- rm -f SUBSYS.o $(OBJS)
- @for dir in $(DIRS); do $(MAKE) -C $$dir $@; done
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) $@ $^
+ $(MAKE) -C conversion_procs $@
diff --git a/src/backend/utils/misc/Makefile b/src/backend/utils/misc/Makefile
index c290bae66d..050cae03eb 100644
--- a/src/backend/utils/misc/Makefile
+++ b/src/backend/utils/misc/Makefile
@@ -22,11 +22,7 @@ ifdef krb_srvtab
override CPPFLAGS += -DPG_KRB_SRVTAB='"$(krb_srvtab)"'
endif
-
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
# guc-file is compiled as part of guc
guc.o: $(srcdir)/guc-file.c
@@ -41,5 +37,4 @@ endif
# Note: guc-file.c is not deleted by 'make clean',
# since we want to ship it in distribution tarballs.
clean:
- rm -f SUBSYS.o $(OBJS)
@rm -f lex.yy.c
diff --git a/src/backend/utils/mmgr/Makefile b/src/backend/utils/mmgr/Makefile
index ca8e24d6bc..d736b21307 100644
--- a/src/backend/utils/mmgr/Makefile
+++ b/src/backend/utils/mmgr/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = aset.o mcxt.o portalmem.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/utils/resowner/Makefile b/src/backend/utils/resowner/Makefile
index 1cbac48406..80bf62e89a 100644
--- a/src/backend/utils/resowner/Makefile
+++ b/src/backend/utils/resowner/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = resowner.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/utils/sort/Makefile b/src/backend/utils/sort/Makefile
index 5271e864dc..2deb8b77b7 100644
--- a/src/backend/utils/sort/Makefile
+++ b/src/backend/utils/sort/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = logtape.o tuplesort.o tuplestore.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk
diff --git a/src/backend/utils/time/Makefile b/src/backend/utils/time/Makefile
index 91f5245dd6..4e18b77e32 100644
--- a/src/backend/utils/time/Makefile
+++ b/src/backend/utils/time/Makefile
@@ -14,10 +14,4 @@ include $(top_builddir)/src/Makefile.global
OBJS = combocid.o tqual.o
-all: SUBSYS.o
-
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-
-clean:
- rm -f SUBSYS.o $(OBJS)
+include $(top_srcdir)/src/backend/common.mk