head	1.1;
access;
symbols
	PG95_1_01:1.1;
locks; strict;
comment	@# @;


1.1
date	96.02.24.01.16.20;	author jolly;	state Exp;
branches;
next	;


desc
@@


1.1
log
@SQL-ized Reference Manual (ported from postgres v4r2)
Thanks to Andrew (and Claire and Dorothy)
@
text
@#
# $Header: /usr/local/devel/postgres/src/ref/RCS/Makefile,v 1.15 1994/04/25 22:58:47 aoki Exp $
#
# This is a really lame Makefile, but I'm tired of dealing with it..
# unfortunately we have targets generated from individual files and
# from an ORDERED SET of files, which makes it hard to do this cleanly.
# We also need paths in some places and not in others.
#
# The stupid shell scripts are just in case you DON'T have a troff/tbl suite 
# but just have awf or nroff or something else that lets you print out plain 
# man pages.
#
MKDIR= ../../mk
include $(MKDIR)/postgres.mk

MACROS=-man

PRDEV=ps

NROFF=nroff
NROFFOPTS=$(MACROS)

GROFF=groff -spt
GROFFOPTS= -T$(PRDEV) tmac.an.old

SOELIM=gsoelim

# POSTMANDIR from Makefile.global
PG_MAN_DIR=$(POSTMANDIR)
PROG_SRC_EXT=.1src
PROG_MAN_EXT=.1
PROG_MAN_DIR=$(PG_MAN_DIR)/man1
CMD_SRC_EXT=.cmdsrc
CMD_MAN_EXT=.l
CMD_MAN_DIR=$(PG_MAN_DIR)/manl
LIB_SRC_EXT=.3pqsrc
LIB_MAN_EXT=.3pq
LIB_MAN_DIR=$(PG_MAN_DIR)/man3
FILE_SRC_EXT=.5src
FILE_MAN_EXT=.5
FILE_MAN_DIR=$(PG_MAN_DIR)/man5

%.1: %.1src
	$(SOELIM) $< > $(objdir)/$@@

%.l: %.cmdsrc
	$(SOELIM) $< > $(objdir)/$@@

%.3pq: %.3pqsrc
	$(SOELIM) $< > $(objdir)/$@@

%.5: %.5src
	$(SOELIM) $< > $(objdir)/$@@

VPATH= .:files:sql:unix

SOURCES= \
	$(CURDIR)/introduction \
	$(CURDIR)/unix/unix$(PROG_SRC_EXT) \
	$(CURDIR)/unix/cleardbdir$(PROG_SRC_EXT) \
	$(CURDIR)/unix/createdb$(PROG_SRC_EXT) \
	$(CURDIR)/unix/createuser$(PROG_SRC_EXT) \
	$(CURDIR)/unix/destroydb$(PROG_SRC_EXT) \
	$(CURDIR)/unix/destroyuser$(PROG_SRC_EXT) \
	$(CURDIR)/unix/initdb$(PROG_SRC_EXT) \
	$(CURDIR)/unix/ipcclean$(PROG_SRC_EXT) \
	$(CURDIR)/unix/monitor$(PROG_SRC_EXT) \
	$(CURDIR)/unix/pg_dump$(PROG_SRC_EXT) \
	$(CURDIR)/unix/postgres$(PROG_SRC_EXT) \
	$(CURDIR)/unix/postmaster$(PROG_SRC_EXT) \
	$(CURDIR)/unix/psql$(PROG_SRC_EXT) \
	$(CURDIR)/built-in$(LIB_SRC_EXT) \
	$(CURDIR)/sql/sql$(CMD_SRC_EXT) \
	$(CURDIR)/sql/abort$(CMD_SRC_EXT) \
	$(CURDIR)/sql/altertbl$(CMD_SRC_EXT) \
	$(CURDIR)/sql/begin$(CMD_SRC_EXT) \
	$(CURDIR)/sql/close$(CMD_SRC_EXT) \
	$(CURDIR)/sql/commit$(CMD_SRC_EXT) \
	$(CURDIR)/sql/copy$(CMD_SRC_EXT) \
	$(CURDIR)/sql/create_aggregate$(CMD_SRC_EXT) \
	$(CURDIR)/sql/create_function$(CMD_SRC_EXT) \
	$(CURDIR)/sql/create_index$(CMD_SRC_EXT) \
	$(CURDIR)/sql/create_operator$(CMD_SRC_EXT) \
	$(CURDIR)/sql/create_rule$(CMD_SRC_EXT) \
	$(CURDIR)/sql/create_tbl$(CMD_SRC_EXT) \
	$(CURDIR)/sql/create_type$(CMD_SRC_EXT) \
	$(CURDIR)/sql/create_version$(CMD_SRC_EXT) \
	$(CURDIR)/sql/create_view$(CMD_SRC_EXT) \
	$(CURDIR)/sql/createdb$(CMD_SRC_EXT) \
	$(CURDIR)/sql/delete$(CMD_SRC_EXT) \
	$(CURDIR)/sql/destroydb$(CMD_SRC_EXT) \
	$(CURDIR)/sql/drop$(CMD_SRC_EXT) \
	$(CURDIR)/sql/drop_aggregate$(CMD_SRC_EXT) \
	$(CURDIR)/sql/drop_function$(CMD_SRC_EXT) \
	$(CURDIR)/sql/drop_index$(CMD_SRC_EXT) \
	$(CURDIR)/sql/drop_operator$(CMD_SRC_EXT) \
	$(CURDIR)/sql/drop_rule$(CMD_SRC_EXT) \
	$(CURDIR)/sql/drop_type$(CMD_SRC_EXT) \
	$(CURDIR)/sql/end$(CMD_SRC_EXT) \
	$(CURDIR)/sql/fetch$(CMD_SRC_EXT) \
	$(CURDIR)/sql/insert$(CMD_SRC_EXT) \
	$(CURDIR)/sql/listen$(CMD_SRC_EXT) \
	$(CURDIR)/sql/load$(CMD_SRC_EXT) \
	$(CURDIR)/sql/notify$(CMD_SRC_EXT) \
	$(CURDIR)/sql/purge$(CMD_SRC_EXT) \
	$(CURDIR)/sql/remove_view$(CMD_SRC_EXT) \
	$(CURDIR)/sql/rename$(CMD_SRC_EXT) \
	$(CURDIR)/sql/rollback$(CMD_SRC_EXT) \
	$(CURDIR)/sql/select$(CMD_SRC_EXT) \
	$(CURDIR)/sql/update$(CMD_SRC_EXT) \
	$(CURDIR)/sql/vacuum$(CMD_SRC_EXT) \
	$(CURDIR)/libpq$(LIB_SRC_EXT) \
	$(CURDIR)/large_objects$(LIB_SRC_EXT) \
	$(CURDIR)/catalogs$(LIB_SRC_EXT) \
	$(CURDIR)/files/files$(FILE_SRC_EXT) \
	$(CURDIR)/files/bki$(FILE_SRC_EXT) \
	$(CURDIR)/files/pg_hba$(FILE_SRC_EXT) \
	$(CURDIR)/files/page$(FILE_SRC_EXT) \
	$(CURDIR)/files/template$(FILE_SRC_EXT) \
	$(CURDIR)/references \
	$(CURDIR)/toc

C_SOURCES= \
	$(CURDIR)/../../backend/parser/keywords.c

KW_OBJS= \
	keyword.nr

NR_OBJS= \
	binary.nr \
	left_unary.nr \
	right_unary.nr

TR_SOURCES= \
	$(CURDIR)/sql/binary.tbl \
	$(CURDIR)/sql/left_unary.tbl \
	$(CURDIR)/sql/right_unary.tbl \
	$(CURDIR)/files/page.pic

binary.nr:	$(CURDIR)/sql/binary.tbl
	sh $(SHOPTS) ./make_optab $< > $(objdir)/$@@

left_unary.nr:	$(CURDIR)/sql/left_unary.tbl
	sh $(SHOPTS) ./make_optab $< > $(objdir)/$@@

right_unary.nr:	$(CURDIR)/sql/right_unary.tbl
	sh $(SHOPTS) ./make_optab $< > $(objdir)/$@@

$(KW_OBJS):	$(C_SOURCES)
	HERE=`pwd`; cd $(CURDIR); \
	sh $(SHOPTS) ./make_kwtab $< > $(objdir)/$@@

NR_MAC_SOURCES= $(CURDIR)/tmac.an.nr

TR_MAC_SOURCES= $(CURDIR)/tmac.an.tr

PROG_MAN_OBJS= \
	unix$(PROG_MAN_EXT) \
	cleardbdir$(PROG_MAN_EXT) \
	createdb$(PROG_MAN_EXT) \
	createuser$(PROG_MAN_EXT) \
	destroydb$(PROG_MAN_EXT) \
	destroyuser$(PROG_MAN_EXT) \
	initdb$(PROG_MAN_EXT) \
	ipcclean$(PROG_MAN_EXT) \
	monitor$(PROG_MAN_EXT) \
	pg_dump$(PROG_MAN_EXT) \
	postgres$(PROG_MAN_EXT) \
	postmaster$(PROG_MAN_EXT) \
	psql$(PROG_MAN_EXT)

CMD_MAN_OBJS= \
	sql$(CMD_MAN_EXT) \
	abort$(CMD_MAN_EXT) \
	altertbl$(CMD_MAN_EXT) \
	begin$(CMD_MAN_EXT) \
	close$(CMD_MAN_EXT) \
	cluster$(CMD_MAN_EXT) \
	commit$(CMD_MAN_EXT) \
	copy$(CMD_MAN_EXT) \
	create_aggregate$(CMD_MAN_EXT) \
	create_function$(CMD_MAN_EXT) \
	create_index$(CMD_MAN_EXT) \
	create_operator$(CMD_MAN_EXT) \
	create_rule$(CMD_MAN_EXT) \
	create_tbl$(CMD_MAN_EXT) \
	create_type$(CMD_MAN_EXT) \
	create_version$(CMD_MAN_EXT) \
	create_view$(CMD_MAN_EXT) \
	createdb$(CMD_MAN_EXT) \
	define_rule$(CMD_MAN_EXT) \
	delete$(CMD_MAN_EXT) \
	destroydb$(CMD_MAN_EXT) \
	drop$(CMD_MAN_EXT) \
	drop_aggregate$(CMD_MAN_EXT) \
	drop_function$(CMD_MAN_EXT) \
	drop_index$(CMD_MAN_EXT) \
	drop_operator$(CMD_MAN_EXT) \
	drop_rule$(CMD_MAN_EXT) \
	drop_type$(CMD_MAN_EXT) \
	end$(CMD_MAN_EXT) \
	fetch$(CMD_MAN_EXT) \
	insert$(CMD_MAN_EXT) \
	listen$(CMD_MAN_EXT) \
	load$(CMD_MAN_EXT) \
	notify$(CMD_MAN_EXT) \
	purge$(CMD_MAN_EXT) \
	remove_view$(CMD_MAN_EXT) \
	rename$(CMD_MAN_EXT) \
	rollback$(CMD_MAN_EXT) \
	select$(CMD_MAN_EXT) \
	update$(CMD_MAN_EXT) \
	vacuum$(CMD_MAN_EXT)


LIB_MAN_OBJS= \
	built-in$(LIB_MAN_EXT) \
	libpq$(LIB_MAN_EXT) \
	large_objects$(LIB_MAN_EXT) \
	catalogs$(LIB_MAN_EXT)

FILE_MAN_OBJS= \
	files$(FILE_MAN_EXT) \
	bki$(FILE_MAN_EXT) \
	pg_hba$(FILE_MAN_EXT) \
	page$(FILE_MAN_EXT) \
	template$(FILE_MAN_EXT)

OBJS= \
	$(PROG_MAN_OBJS) \
	$(CMD_MAN_OBJS) \
	$(LIB_MAN_OBJS) \
	$(FILE_MAN_OBJS)

$(OBJS): $(NR_MAC_SOURCES)

ref.cat: $(SOURCES) $(NR_OBJS) $(KW_OBJS) $(NR_MAC_SOURCES)
	HERE=`pwd`; cd $(CURDIR); \
	$(NROFF) $(NROFFOPTS) $(NR_MAC_SOURCES) $(addprefix $(objdir)/,$(notdir $(NR_OBJS))) $(addprefix $(objdir)/,$(notdir $(KW_OBJS))) $(SOURCES) > $(objdir)/$@@


ref.$(PRDEV): $(SOURCES) $(NR_OBJS) $(KW_OBJS) $(TR_MAC_SOURCES)
	HERE=`pwd`; cd $(CURDIR); \
	$(GROFF) $(GROFFOPTS) $(TR_MAC_SOURCES) $(SOURCES) > $(objdir)/$@@
#	$(GROFF) $(GROFFOPTS) $(TR_MAC_SOURCES) $(addprefix $(objdir)/,$(notdir $(NR_OBJS))) $(addprefix $(objdir)/,$(notdir $(KW_OBJS))) $(SOURCES) > $(objdir)/$@@


CLEANFILES+= \
	$(addprefix $(objdir)/,$(notdir $(NR_OBJS))) \
	$(addprefix $(objdir)/,$(notdir $(KW_OBJS))) \
	$(addprefix $(objdir)/,$(notdir $(OBJS))) \
	$(objdir)/ref.cat \
	$(objdir)/ref.$(PRDEV)

all:: ref.cat ref.ps $(OBJS)

install: all
	@@-for i in $(POSTMANDIR) $(POSTDOCDIR) $(PROG_MAN_DIR) $(CMD_MAN_DIR) $(LIB_MAN_DIR) $(FILE_MAN_DIR); \
	do \
		if [ ! -d $$i ]; then \
			mkdir -p $$i; \
		fi; \
	done
	for i in $(PROG_MAN_OBJS); do \
		install -m 444 $(objdir)/$$i $(PROG_MAN_DIR)/$$i; \
	done; \
	for i in $(CMD_MAN_OBJS); do \
		install -m 444 $(objdir)/$$i $(CMD_MAN_DIR)/$$i; \
	done; \
	for i in $(LIB_MAN_OBJS); do \
		install -m 444 $(objdir)/$$i $(LIB_MAN_DIR)/$$i; \
	done; \
	for i in $(FILE_MAN_OBJS); do \
		install -m 444 $(objdir)/$$i $(FILE_MAN_DIR)/$$i; \
	done; \
	install -m 444 $(objdir)/ref.cat $(POSTDOCDIR)/ref.cat; \
	install -m 444 $(objdir)/ref.ps $(POSTDOCDIR)/ref.ps;


@
