From d7dd9295b7b8258a32eee07df273839248dcaa51 Mon Sep 17 00:00:00 2001 From: Bryan Henderson Date: Tue, 12 Nov 1996 11:43:32 +0000 Subject: [PATCH] End of the make file simplifications. --- src/interfaces/libpgtcl/Makefile | 53 ++++++++---- src/interfaces/libpq++/Makefile | 64 ++++++++------ src/interfaces/libpq++/examples/Makefile | 72 +++++----------- src/interfaces/libpq++/libpq++.H | 4 +- src/interfaces/libpq++/pglobject.cc | 4 +- src/interfaces/libpq/Makefile | 6 +- src/test/Makefile | 10 +-- src/test/bench/Makefile | 66 +++++++------- src/test/examples/Makefile | 67 +++------------ src/test/regress/Makefile | 105 +++++++++++++---------- src/tools/mkldexport/Makefile | 13 +-- src/tutorial/C-code/Makefile | 10 +++ src/tutorial/Makefile | 54 ++++++++---- 13 files changed, 260 insertions(+), 268 deletions(-) create mode 100644 src/tutorial/C-code/Makefile diff --git a/src/interfaces/libpgtcl/Makefile b/src/interfaces/libpgtcl/Makefile index 2473451d10..e4c0f15866 100644 --- a/src/interfaces/libpgtcl/Makefile +++ b/src/interfaces/libpgtcl/Makefile @@ -7,40 +7,55 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/Makefile,v 1.4 1996/11/08 00:58:07 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/Makefile,v 1.5 1996/11/12 11:42:09 bryanh Exp $ # #------------------------------------------------------------------------- -LIB= pgtcl +SRCDIR= .. +LIBPQDIR= $(SRCDIR)/libpq +include ../Makefile.global -MKDIR= ../mk -include $(MKDIR)/postgres.mk - -CFLAGS+= -I$(HEADERDIR) \ - -I$(srcdir)/backend/include \ - -I$(srcdir)/backend \ - -I$(CURDIR) \ - -I$(TCL_INCDIR) \ - -I$(srcdir)/libpq - -LIBLDLIBS+= -L$(LIBDIR) -lpq +INCLUDE_OPT= \ + -I../backend \ + -I../include \ + -I$(LIBPQDIR) \ + -I$(TCL_INCDIR) +CFLAGS+= $(INCLUDE_OPT) ifdef KRBVERS CFLAGS+= $(KRBFLAGS) endif ifdef LINUX_ELF CFLAGS += -fPIC -CC += -L $(POSTGRESDIR)/lib -lpq endif -LIBSRCS= pgtcl.c pgtclCmds.c pgtclId.c +OBJS= pgtcl.o pgtclCmds.o pgtclId.o -install-headers: +all: libpgtcl.a + +libpgtcl.a: $(OBJS) +ifdef MK_NO_LORDER + $(AR) $(AROPT) libpgtcl.a $(OBJS) +else + $(AR) $(AROPT) libpgtcl.a `lorder $(OBJS) | tsort` +endif + $(RANLIB) libpgtcl.a + +.PHONY: beforeinstall-headers install-headers +.PHONY: install install-libpgtcl + +install: install-headers install-libpgtcl + +install-headers: beforeinstall-headers libpgtcl.h $(INSTALL) $(INSTLOPTS) libpgtcl.h $(HEADERDIR)/libpgtcl.h +beforeinstall-headers: + @if [ ! -d $(HEADERDIR) ]; then mkdir $(HEADERDIR); fi -install:: install-headers - -include $(MKDIR)/postgres.lib.mk +install-libpgtcl: libpgtcl.a + $(INSTALL) $(INSTL_LIB_OPTS) libpgtcl.a $(DESTDIR)$(LIBDIR)/libpgtcl.a +.PHONY: clean +clean: + rm -f $(OBJS) \ No newline at end of file diff --git a/src/interfaces/libpq++/Makefile b/src/interfaces/libpq++/Makefile index e1d58847ee..3fb1f5d724 100644 --- a/src/interfaces/libpq++/Makefile +++ b/src/interfaces/libpq++/Makefile @@ -7,48 +7,60 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/Makefile,v 1.1.1.1 1996/07/09 06:22:18 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/Makefile,v 1.2 1996/11/12 11:42:24 bryanh Exp $ # #------------------------------------------------------------------------- -CPP_LIB= true +SRCDIR= .. +LIBPQDIR= $(SRCDIR)/libpq +include ../Makefile.global -LIB= pq++ +CXXFLAGS= $(CFLAGS) -MKDIR= ../mk -include $(MKDIR)/postgres.mk +INCLUDE_OPT= \ + -I../backend \ + -I../include \ + -I$(LIBPQDIR) -CXXFLAGS = $(CFLAGS) - -CXXFLAGS+= -I$(srcdir)/backend/include \ - -I$(srcdir)/backend \ - -I$(srcdir)/libpq \ - -I$(CURDIR) \ +CXXFLAGS+= $(INCLUDE_OPT) -DPOSTPORT='"$(POSTPORT)"' ifdef KRBVERS CXXFLAGS+= $(KRBFLAGS) endif +OBJS= pgenv.o pgconnection.o pglobject.o -LIBSRCS = pgenv.cc pgconnection.cc pglobject.cc +all: libpq++.a examples -.PHONY: beforeinstall-headers install-headers - -ifndef NO_BEFOREINSTL -beforeinstall-headers: - @-if [ ! -d $(HEADERDIR) ]; then mkdir $(HEADERDIR); fi +libpq++.a: $(OBJS) +ifdef MK_NO_LORDER + $(AR) $(AROPT) libpq++.a $(OBJS) else -beforeinstall-headers: .dosomething + $(AR) $(AROPT) libpq++.a `lorder $(OBJS) | tsort` endif + $(RANLIB) libpq++.a -HEADERFILES = libpq++.H +.PHONY: examples +examples: + $(MAKE) -C examples all -install-headers: beforeinstall-headers - @for i in ${HEADERFILES}; do \ - echo "Installing $(HEADERDIR)/$$i."; \ - $(INSTALL) -c -m 444 $$i $(HEADERDIR)/$$i; \ - done +.PHONY: beforeinstall-headers install-headers +.PHONY: install install-libpq++ doc -install:: install-headers +install: install-headers install-libpq++ doc -include $(MKDIR)/postgres.lib.mk +install-headers: beforeinstall-headers libpq++.H + $(INSTALL) $(INSTLOPTS) libpq++.H $(HEADERDIR)/libpq++.H + +beforeinstall-headers: + @if [ ! -d $(HEADERDIR) ]; then mkdir $(HEADERDIR); fi + +install-libpq++: libpq++.a + $(INSTALL) $(INSTL_LIB_OPTS) libpq++.a $(DESTDIR)$(LIBDIR)/libpq++.a + +doc: + $(MAKE) -C man install + +clean: + rm libpq++.a $(OBJS) + $(MAKE) -C examples clean \ No newline at end of file diff --git a/src/interfaces/libpq++/examples/Makefile b/src/interfaces/libpq++/examples/Makefile index 6010ab9faf..e319a065c3 100644 --- a/src/interfaces/libpq++/examples/Makefile +++ b/src/interfaces/libpq++/examples/Makefile @@ -2,15 +2,21 @@ # Makefile for example programs # -CPP_PROG = true +SRCDIR= ../.. +LIBPQDIR= $(SRCDIR)/libpq +include ../../Makefile.global -MKDIR= ../../mk -include $(MKDIR)/postgres.mk +CXXFLAGS= $(CFLAGS) -CXXFLAGS+= -I$(HEADERDIR) -I$(srcdir)/libpq -I$(srcdir)/backend \ - -I$(srcdir)/backend/include +INCLUDE_OPT= \ + -I.. \ + -I../../backend \ + -I../../include \ + -I$(LIBPQDIR) -LD_ADD+=-L$(LIBDIR) -lpq++ -lpq +CXXFLAGS+= $(INCLUDE_OPT) + +LD_ADD+= -L.. -lpq++ -L$(LIBPQDIR) -lpq # # And where libpq goes, so goes the authentication stuff... @@ -20,51 +26,19 @@ LD_ADD+= $(KRBLIBS) CXXFLAGS+= $(KRBFLAGS) endif -P0_PROG:= testlibpq0 -P0_OBJS:= testlibpq0.o +PROGS= testlibpq0 testlibpq1 testlibpq2 testlibpq3 testlibpq4 testlo -$(P0_PROG): $(addprefix $(objdir)/,$(P0_OBJS)) - $(CXX) $(CFLAGS) -o $(objdir)/$(@F) $< $(LD_ADD) +all: submake $(PROGS) -P1_PROG:= testlibpq1 -P1_OBJS:= testlibpq1.o +$(PROGS): % : %.cc ../libpq++.a + $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $@.cc $(LD_ADD) -$(P1_PROG): $(addprefix $(objdir)/,$(P1_OBJS)) - $(CXX) $(CFLAGS) -o $(objdir)/$(@F) $< $(LD_ADD) +.PHONY: submake +submake: + $(MAKE) -C.. libpq++.a -P2_PROG:= testlibpq2 -P2_OBJS:= testlibpq2.o +../libpq++.a: + $(MAKE) -C.. libpq++.a -$(P2_PROG): $(addprefix $(objdir)/,$(P2_OBJS)) - $(CXX) $(CFLAGS) -o $(objdir)/$(@F) $< $(LD_ADD) - -P3_PROG:= testlibpq3 -P3_OBJS:= testlibpq3.o - -$(P3_PROG): $(addprefix $(objdir)/,$(P3_OBJS)) - $(CXX) $(CFLAGS) -o $(objdir)/$(@F) $< $(LD_ADD) - -P4_PROG:= testlibpq4 -P4_OBJS:= testlibpq4.o - -$(P4_PROG): $(addprefix $(objdir)/,$(P4_OBJS)) - $(CXX) $(CFLAGS) -o $(objdir)/$(@F) $< $(LD_ADD) - -P5_PROG:= testlo -P5_OBJS:= testlo.o - -$(P5_PROG): $(addprefix $(objdir)/,$(P5_OBJS)) - $(CXX) $(CFLAGS) -o $(objdir)/$(@F) $< $(LD_ADD) - -OBJS:= $(P0_OBJS) $(P1_OBJS) $(P2_OBJS) $(P3_OBJS) $(P4_OBJS) $(P5_OBJS) -PROGS:= $(P0_PROG) $(P1_PROG) $(P2_PROG) $(P3_PROG) $(P4_PROG) $(P5_PROG) - -CLEANFILES+= $(OBJS) $(PROGS) - -all:: $(PROGS) - -install:: $(PROGS) - @for i in ${PROGS}; do \ - echo "Installing $$i"; \ - $(INSTALL) $(objdir)/$$i $(DESTDIR)$(BINDIR)/$$i;\ - done +clean: + rm -f $(PROGS) diff --git a/src/interfaces/libpq++/libpq++.H b/src/interfaces/libpq++/libpq++.H index 24482570f5..98581e7709 100644 --- a/src/interfaces/libpq++/libpq++.H +++ b/src/interfaces/libpq++/libpq++.H @@ -14,7 +14,7 @@ * * IDENTIFICATION * - * $Id: libpq++.H,v 1.2 1996/08/21 04:32:09 scrappy Exp $ + * $Id: libpq++.H,v 1.3 1996/11/12 11:42:27 bryanh Exp $ * *------------------------------------------------------------------------- */ @@ -26,6 +26,8 @@ #include extern "C" { +#include "config.h" +#include "postgres.h" #include "libpq-fe.h" #include "fe-auth.h" } diff --git a/src/interfaces/libpq++/pglobject.cc b/src/interfaces/libpq++/pglobject.cc index 20c7ad5e22..4de4a1f0d9 100644 --- a/src/interfaces/libpq++/pglobject.cc +++ b/src/interfaces/libpq++/pglobject.cc @@ -11,13 +11,15 @@ * Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pglobject.cc,v 1.1.1.1 1996/07/09 06:22:18 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pglobject.cc,v 1.2 1996/11/12 11:42:31 bryanh Exp $ * *------------------------------------------------------------------------- */ #include "libpq++.H" extern "C" { +#include +#include #include "libpq/libpq-fs.h" } diff --git a/src/interfaces/libpq/Makefile b/src/interfaces/libpq/Makefile index 624c2fb7d4..5648ebb313 100644 --- a/src/interfaces/libpq/Makefile +++ b/src/interfaces/libpq/Makefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v 1.15 1996/11/09 06:24:51 momjian Exp $ +# $Header: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v 1.16 1996/11/12 11:42:21 bryanh Exp $ # #------------------------------------------------------------------------- @@ -127,10 +127,10 @@ else install-shlib-dep := endif -install-libpq: +install-libpq: libpq.a $(INSTALL) $(INSTL_LIB_OPTS) libpq.a $(DESTDIR)$(LIBDIR)/libpq.a -install-shlib: +install-shlib: libpq.so.1 $(INSTALL) $(INSTL_LIB_OPTS) libpq.so.1 $(DESTDIR)$(LIBDIR)/libpq.so.1 depend dep: diff --git a/src/test/Makefile b/src/test/Makefile index ed0bfd12cf..fc3fb08471 100644 --- a/src/test/Makefile +++ b/src/test/Makefile @@ -7,12 +7,10 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/test/Makefile,v 1.1.1.1 1996/07/09 06:22:20 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/test/Makefile,v 1.2 1996/11/12 11:42:41 bryanh Exp $ # #------------------------------------------------------------------------- -SUBDIR= bench regress - -include ../mk/postgres.subdir.mk - - +.DEFAULT all: + $(MAKE) -C bench $@ + $(MAKE) -C regress $@ diff --git a/src/test/bench/Makefile b/src/test/bench/Makefile index 65e612b73d..7e6375f2bd 100644 --- a/src/test/bench/Makefile +++ b/src/test/bench/Makefile @@ -7,56 +7,52 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/test/bench/Attic/Makefile,v 1.1.1.1 1996/07/09 06:22:21 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/test/bench/Attic/Makefile,v 1.2 1996/11/12 11:42:49 bryanh Exp $ # #------------------------------------------------------------------------- -MKDIR= ../../mk -include $(MKDIR)/postgres.mk - +SRCDIR= ../.. +LIBPQDIR= $(SRCDIR)/libpq +include ../../Makefile.global CREATEFILES= create.sql bench.sql - -include $(MKDIR)/postgres.user.mk - - OUTFILES= bench.out bench.out.perquery -CLEANFILES+= $(CREATEFILES) $(OUTFILES) + +CFLAGS+= -I$(LIBPQDIR) $(CFLAGS_SL) + +all: $(CREATEFILES) + rm -f $(OUTFILES) + +create.sql: create.source + if [ -z "$$USER" ]; then USER=$$LOGNAME; fi; \ + if [ -z "$$USER" ]; then USER=`whoami`; fi; \ + if [ -z "$$USER" ]; then echo 'Cannot deduce $$USER.'; exit 1; fi; \ + rm -f $@; \ + C=`pwd`; \ + sed -e "s:_CWD_:$$C:g" \ + -e "s:_OBJWD_:$$C:g" \ + -e "s:_SLSUFF_:$(SLSUFF):g" \ + -e "s/_USER_/$$USER/g" < $< > $@ bench.sql: - cat > $(objdir)/$@ < /dev/null x=1; \ for i in `ls query[0-9][0-9]`; do \ - echo "select $$x as x" >> $(objdir)/$@; \ - cat $$i >> $(objdir)/$@; \ - x=`expr $$x + 1`; \ + echo "select $$x as x" >> bench.sql; \ + cat $$i >> bench.sql; \ + x=`expr $$x + 1`; \ done -bench2.pq: - cat > ${.TARGET} < /dev/null - C=`pwd`; cd ${.CURDIR}; \ - for i in 1 2 3 4 5 6; do \ - echo "select timeofday();" >> $$C/${.TARGET}; \ - done; \ - x=1; \ - for i in `ls query[0-9][0-9]`; do \ - echo "select $$x as x;" >> $$C/${.TARGET}; \ - echo "select timeofday();" >> $$C/${.TARGET}; \ - cat $$i >> $$C/${.TARGET}; \ - echo "select timeofday();" >> $$C/${.TARGET}; \ - x=`expr $$x + 1`; \ - done +runtest: $(OUTFILES) bench.out: $(CREATEFILES) $(SHELL) ./create.sh && \ - $(SHELL) ./runwisc.sh > $(objdir)/$@ 2>&1 - @echo "RESULTS OF BENCHMARK ARE SAVED IN ${MAKEOBJDIR}/bench.out"; + $(SHELL) ./runwisc.sh >bench.out 2>&1 + @echo "RESULTS OF BENCHMARK ARE SAVED IN FILE bench.out"; bench.out.perquery: bench.out - $(SHELL) ./perquery < $(objdir)/bench.out 2>&1 > $@ - @echo "BREAKDOWN OF BENCHMARK IS SAVED IN ${MAKEOBJDIR}/bench.out.perquery"; + $(SHELL) ./perquery &1 > $@ + @echo "BREAKDOWN OF BENCHMARK IS SAVED IN FILE" \ + "bench.out.perquery"; -all:: $(CREATEFILES) - rm -f $(OUTFILES) - -runtest: ${OUTFILES} +clean: + rm -f $(OUTFILES) $(CREATEFILES) diff --git a/src/test/examples/Makefile b/src/test/examples/Makefile index 65b3064755..f01885ba03 100644 --- a/src/test/examples/Makefile +++ b/src/test/examples/Makefile @@ -2,14 +2,13 @@ # Makefile for example programs # -MKDIR= ../../mk -include $(MKDIR)/postgres.mk +SRCDIR= ../.. +LIBPQDIR= $(SRCDIR)/libpq +include ../../Makefile.global -CFLAGS+= -I$(HEADERDIR) -I$(srcdir)/backend -I$(srcdir)/backend/include +CFLAGS+= -I$(LIBPQDIR) -LIBPQ:= -L$(LIBDIR) -lpq - -LD_ADD+=$(LIBPQ) +LD_ADD+= -L$(LIBPQDIR) -lpq # # And where libpq goes, so goes the authentication stuff... @@ -19,56 +18,12 @@ LD_ADD+= $(KRBLIBS) CFLAGS+= $(KRBFLAGS) endif -P1_PROG:= testlibpq -P1_OBJS:= testlibpq.o - -$(P1_PROG): $(addprefix $(objdir)/,$(P1_OBJS)) - $(CC) $(CFLAGS) -o $(objdir)/$(@F) $< $(LD_ADD) - -P2_PROG:= testlibpq2 -P2_OBJS:= testlibpq2.o - -$(P2_PROG): $(addprefix $(objdir)/,$(P2_OBJS)) - $(CC) $(CFLAGS) -o $(objdir)/$(@F) $< $(LD_ADD) - - -P3_PROG:= testlibpq3 -P3_OBJS:= testlibpq3.o - -$(P3_PROG): $(addprefix $(objdir)/,$(P3_OBJS)) - $(CC) $(CFLAGS) -o $(objdir)/$(@F) $< $(LD_ADD) - -P4_PROG:= testlo -P4_OBJS:= testlo.o - -$(P4_PROG): $(addprefix $(objdir)/,$(P4_OBJS)) - $(CC) $(CFLAGS) -o $(objdir)/$(@F) $< $(LD_ADD) - -OBJS:= $(P1_OBJS) $(P2_OBJS) $(P3_OBJS) $(P4_OBJS) -PROGS:= $(P1_PROG) $(P2_PROG) $(P3_PROG) $(P4_PROG) - -CLEANFILES+= $(OBJS) $(PROGS) - -all:: $(PROGS) - -install:: $(PROGS) - @for i in ${PROGS}; do \ - echo "Installing $$i"; \ - $(INSTALL) $(objdir)/$$i $(DESTDIR)$(BINDIR)/$$i;\ - done - - - - - - - - - - - - - +PROGS= testlibpq0 testlibpq1 testlibpq2 testlibpq3 testlibpq4 testlo +all: $(PROGS) +$(PROGS): % : %.c + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $@.c $(LD_ADD) +clean: + rm -f $(PROGS) diff --git a/src/test/regress/Makefile b/src/test/regress/Makefile index 6c2a480796..6a115abd06 100644 --- a/src/test/regress/Makefile +++ b/src/test/regress/Makefile @@ -7,74 +7,85 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/test/regress/Makefile,v 1.7 1996/11/12 11:16:44 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/test/regress/Makefile,v 1.8 1996/11/12 11:43:05 bryanh Exp $ # #------------------------------------------------------------------------- -MKDIR= ../../mk -include $(MKDIR)/postgres.mk -include $(MKDIR)/postgres.user.mk +SRCDIR= ../.. +LIBPQDIR= $(SRCDIR)/libpq +include ../../Makefile.global -CFLAGS+=-I../../include +CFLAGS+= -I$(LIBPQDIR) -I../../include +LDADD+= -L$(LIBPQDIR) -lpq + # -# try locating libpq.a in the following places -# -LIBPQ:= -L$(srcdir)/libpq/$(objdir) -L$(LIBDIR) -lpq - -LDADD+= $(LIBPQ) - - -# -# build dynamically-loaded object files +# DLOBJS is the dynamically-loaded object file. The regression test uses +# this when it does a CREATE FUNCTION ... LANGUAGE 'C'). # DLOBJS= regress$(SLSUFF) # # ... plus test query inputs # -CREATEFILES= $(DLOBJS:%=$(objdir)/%) \ - create.sql queries.sql errors.sql destroy.sql security.sql expected.out - +# INFILES is the files the regression test uses for input. +INFILES= $(DLOBJS) \ + create.sql queries.sql errors.sql destroy.sql security.sql \ + expected.out +# +# plus exports files +# +ifdef EXPSUFF +INFILES+= $(DLOBJS:.o=$(EXPSUFF)) +endif +# OUTFILES is the files that get created by running the regression test. OUTFILES= stud_emp.data onek.data regress.out aportal.out -CLEANFILES+= $(notdir $(CREATEFILES)) $(OUTFILES) - -$(OUTFILES): $(CREATEFILES) - $(SHELL) ./regress.sh 2>&1 | tee $(objdir)/regress.out - @echo "RESULTS OF REGRESSION ARE SAVED IN $(objdir)/regress.out" - -# -# expected results file -- expand macros for user and location -# -# the expected.input file is make by hand from 'regress.out' when the -# regression test has been updated and a successful output obtained -# -expected.out: expected.input - if [ -z "$$USER" ]; then USER=$$LOGNAME; fi; \ - if [ -z "$$USER" ]; then USER=`whoami`; fi; \ - if [ -z "$$USER" ]; then echo 'Cannot deduce $USER.'; exit 1; fi; \ - rm -f $(objdir)/expected.out; \ - C="`pwd`"; \ - sed -e "s:_CWD_:$$C:g" \ - -e "s:_OBJWD_:$$C/$(objdir):g" \ - -e "s:_SLSUFF_:$(SLSUFF):g" \ - -e "s/_USER_/$$USER/g" < expected.input > $(objdir)/expected.out - # # prepare to run the test (including clean-up after the last run) # -all:: $(CREATEFILES) - cd $(objdir); rm -f $(OUTFILES) +all: $(INFILES) + rm -f $(OUTFILES) # # run the test # -runtest: expected.out regress.out +runtest: $(INFILES) expected.out + $(SHELL) ./regress.sh 2>&1 | tee regress.out + @echo "ACTUAL RESULTS OF REGRESSION TEST ARE NOW IN FILE regress.out" -# -# installation -# -install: localobj all +# The expected.input file is part of the distribution. It was made by hand +# from 'regress.out' from a reference run of the regression test, replacing +# installation-dependent things with names like _CWD_. The following rule +# turns those names back into real values for the instant installation to +# create a standard (expected.out) against which to compare regress.out +# from the experimental run. + +expected.out: expected.input + if [ -z "$$USER" ]; then USER=$$LOGNAME; fi; \ + if [ -z "$$USER" ]; then USER=`whoami`; fi; \ + if [ -z "$$USER" ]; then echo 'Cannot deduce $USER.'; exit 1; fi; \ + rm -f expected.out; \ + C="`pwd`"; \ + sed -e "s:_CWD_:$$C:g" \ + -e "s:_OBJWD_:$$C:g" \ + -e "s:_SLSUFF_:$(SLSUFF):g" \ + -e "s/_USER_/$$USER/g" < expected.input > expected.out + @echo "YOUR EXPECTED RESULTS ARE NOW IN FILE expected.out." + +%.sql: %.source + if [ -z "$$USER" ]; then USER=$$LOGNAME; fi; \ + if [ -z "$$USER" ]; then USER=`whoami`; fi; \ + if [ -z "$$USER" ]; then echo 'Cannot deduce $$USER.'; exit 1; fi; \ + rm -f $@; \ + C=`pwd`; \ + sed -e "s:_CWD_:$$C:g" \ + -e "s:_OBJWD_:$$C:g" \ + -e "s:_SLSUFF_:$(SLSUFF):g" \ + -e "s/_USER_/$$USER/g" < $< > $@ + +clean: + rm -f $(INFILES) + rm -f $(OUTFILES) diff --git a/src/tools/mkldexport/Makefile b/src/tools/mkldexport/Makefile index 70275cc3b8..e92c26ca48 100644 --- a/src/tools/mkldexport/Makefile +++ b/src/tools/mkldexport/Makefile @@ -7,14 +7,15 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/tools/mkldexport/Attic/Makefile,v 1.1.1.1 1996/07/09 06:22:32 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/tools/mkldexport/Attic/Makefile,v 1.2 1996/11/12 11:43:12 bryanh Exp $ # #------------------------------------------------------------------------- -SHPROG=mkldexport +all: mkldexport -MKDIR= ../../mk -include ../../Makefile.global -include $(MKDIR)/postgres.mk +mkldexport: mkldexport.sh + cp mkldexport.sh mkldexport + chmod a+x mkldexport -include $(MKDIR)/postgres.shell.mk +clean: + rm -f mkldexport diff --git a/src/tutorial/C-code/Makefile b/src/tutorial/C-code/Makefile new file mode 100644 index 0000000000..22ba97158a --- /dev/null +++ b/src/tutorial/C-code/Makefile @@ -0,0 +1,10 @@ +SRCDIR= ../.. +LIBPQDIR= $(SRCDIR)/libpq +include ../../Makefile.global + +CFLAGS+= -I../../include -I$(LIBPQDIR) + +all: complex$(SLSUFF) funcs$(SLSUFF) + +clean: + rm -f complex$(SLSUFF) funcs$(SLSUFF) \ No newline at end of file diff --git a/src/tutorial/Makefile b/src/tutorial/Makefile index 5a29b1468d..b0b7861a76 100644 --- a/src/tutorial/Makefile +++ b/src/tutorial/Makefile @@ -1,39 +1,55 @@ #------------------------------------------------------------------------- # # Makefile-- -# Makefile for tutorial/C-code -# -# Copyright (c) 1994, Regents of the University of California -# +# Makefile for tutorial # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/tutorial/Makefile,v 1.1.1.1 1996/07/09 06:22:33 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/tutorial/Makefile,v 1.2 1996/11/12 11:43:20 bryanh Exp $ # #------------------------------------------------------------------------- -MKDIR= ../mk -include $(MKDIR)/postgres.mk +SRCDIR= .. +LIBPQDIR= $(SRCDIR)/libpq +include ../Makefile.global -VPATH:= $(VPATH):C-code +CFLAGS+= -I$(LIBPQDIR) -I../../include +LDADD+= -L$(LIBPQDIR) -lpq + # -# build dynamically-loaded object files +# DLOBJS is the dynamically-loaded object files. The "funcs" queries +# include CREATE FUNCTIONs that load routines from these files. # -DLOBJS= complex$(SLSUFF) funcs$(SLSUFF) +DLOBJS= complex$(SLSUFF) funcs$(SLSUFF) +QUERIES= advanced.sql basics.sql complex.sql funcs.sql syscat.sql # -# ... plus test query inputs +# plus exports files # -CREATEFILES= $(DLOBJS:%=$(objdir)/%) \ - advanced.sql basics.sql complex.sql funcs.sql syscat.sql +ifdef EXPSUFF +DLOBJS+= $(DLOBJS:.o=$(EXPSUFF)) +endif -include $(MKDIR)/postgres.user.mk +all: $(QUERIES) -CFLAGS+= -I$(srcdir)/backend - -CLEANFILES+= $(notdir $(CREATEFILES)) - -all:: $(CREATEFILES) +%.sql: %.source + if [ -z "$$USER" ]; then USER=$$LOGNAME; fi; \ + if [ -z "$$USER" ]; then USER=`whoami`; fi; \ + if [ -z "$$USER" ]; then echo 'Cannot deduce $$USER.'; exit 1; fi; \ + rm -f $@; \ + C=`pwd`; \ + sed -e "s:_CWD_:$$C:g" \ + -e "s:_OBJWD_:$$C:g" \ + -e "s:_SLSUFF_:$(SLSUFF):g" \ + -e "s/_USER_/$$USER/g" < $< > $@ +funcs.sql:: $(DLOBJS) +$(DLOBJS): + $(MAKE) -C C-code $@ + cp C-code/$@ . +clean: + $(MAKE) -C C-code clean + rm -f $(QUERIES) + rm -f $(DLOBJS)