|
| 1 | +#------------------------------------------------------------------------- |
| 2 | +# |
| 3 | +# Makefile |
| 4 | +# Makefile for the plpgsql shared object |
| 5 | +# |
| 6 | +# IDENTIFICATION |
| 7 | +# $Header: /cvsroot/pgsql/src/pl/plpgsql/src/Makefile,v 1.1 1998/09/25 15:50:02 momjian Exp $ |
| 8 | +# |
| 9 | +#------------------------------------------------------------------------- |
| 10 | + |
| 11 | +# |
| 12 | +# Tell make where the postgresql sources live |
| 13 | +# |
| 14 | +SRCDIR= ../../.. |
| 15 | + |
| 16 | +# |
| 17 | +# Include the global and port specific Makefiles |
| 18 | +# |
| 19 | +include$(SRCDIR)/Makefile.global |
| 20 | +include$(SRCDIR)/Makefile.port |
| 21 | + |
| 22 | +CFLAGS+= -I$(LIBPQDIR) -I$(SRCDIR)/include |
| 23 | +LFLAGS+= -i -l |
| 24 | + |
| 25 | +# For fmgr.h |
| 26 | +CFLAGS+= -I$(SRCDIR)/backend |
| 27 | + |
| 28 | +LDADD+= -L$(LIBPQDIR) -lpq |
| 29 | + |
| 30 | +# |
| 31 | +# DLOBJ is the dynamically-loaded object file. |
| 32 | +# |
| 33 | +DLOBJ= plpgsql$(DLSUFFIX) |
| 34 | + |
| 35 | +OBJS=pl_parse.o pl_handler.o pl_comp.o pl_exec.o pl_funcs.o |
| 36 | + |
| 37 | +ALL=$(DLOBJ) |
| 38 | + |
| 39 | +# |
| 40 | +# Build the shared object |
| 41 | +# |
| 42 | +all:$(ALL) |
| 43 | + |
| 44 | +$(DLOBJ):$(OBJS) |
| 45 | + |
| 46 | +# |
| 47 | +# Clean |
| 48 | +# |
| 49 | +clean: |
| 50 | +rm -f$(ALL) |
| 51 | +rm -f*.o y.tab.h pl.tab.h pl_gram.c gram.c pl_scan.c scan.c |
| 52 | + |
| 53 | +install: all |
| 54 | +$(INSTALL)$(INSTL_LIB_OPTS)$(DLOBJ)$(DESTDIR)$(LIBDIR)/$(DLOBJ) |
| 55 | + |
| 56 | +$(DLOBJ):$(OBJS) |
| 57 | +$(CC) -shared -o$@$(OBJS) |
| 58 | + |
| 59 | +#$(LD) $(LDFLAGS_SL) -o $@ $(OBJS) |
| 60 | + |
| 61 | + |
| 62 | +pl_handler.o:pl_handler.c plpgsql.h pl.tab.h |
| 63 | + |
| 64 | +pl_comp.o:pl_comp.c plpgsql.h pl.tab.h |
| 65 | + |
| 66 | +pl_exec.o:pl_exec.c plpgsql.h pl.tab.h |
| 67 | + |
| 68 | +pl_funcs.o:pl_funcs.c plpgsql.h pl.tab.h |
| 69 | + |
| 70 | +pl_parse.o:pl_gram.c pl_scan.c plpgsql.h |
| 71 | +$(CC)$(CFLAGS) -c -o$@ pl_gram.c |
| 72 | + |
| 73 | +pl_gram.c:gram.c |
| 74 | +sed -e's/yy/plpgsql_yy/g' -e's/YY/PLPGSQL_YY/g'<gram.c>pl_gram.c |
| 75 | +sed -e's/yy/plpgsql_yy/g' -e's/YY/PLPGSQL_YY/g'<y.tab.h>pl.tab.h |
| 76 | + |
| 77 | +pl_scan.c:scan.c |
| 78 | +sed -e's/yy/plpgsql_yy/g' -e's/YY/PLPGSQL_YY/g'<scan.c>pl_scan.c |
| 79 | + |
| 80 | +gram.c:gram.y |
| 81 | + |
| 82 | +scan.c:scan.l |
| 83 | + |
| 84 | +pl.tab.h:pl_gram.c |