-#
-# $Header: /cvsroot/pgsql/contrib/cube/Makefile,v 1.3 2001/02/20 19:20:27 petere Exp $
-#
+# $PostgreSQL: pgsql/contrib/cube/Makefile,v 1.17 2006/03/07 01:03:12 tgl Exp $
-subdir = contrib/cube
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+MODULE_big = cube
+OBJS= cube.o cubeparse.o
-# override libdir to install shlib in contrib not main directory
-libdir := $(libdir)/contrib
+DATA_built = cube.sql
+DATA = uninstall_cube.sql
+DOCS = README.cube
+REGRESS = cube
-# shared library parameters
-NAME= cube
-SO_MAJOR_VERSION= 1
-SO_MINOR_VERSION= 0
+EXTRA_CLEAN = cubeparse.c cubeparse.h cubescan.c y.tab.c y.tab.h
-override CPPFLAGS := -I$(srcdir) $(CPPFLAGS)
+PG_CPPFLAGS = -I.
-OBJS= cube.o cubeparse.o cubescan.o buffer.o
+SHLIB_LINK += $(filter -lm, $(LIBS))
+
+ifdef USE_PGXS
+PGXS := $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/cube
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
+include $(top_srcdir)/contrib/contrib-global.mk
+endif
-all: all-lib $(NAME).sql
-# Shared library stuff
-include $(top_srcdir)/src/Makefile.shlib
+# cubescan is compiled as part of cubeparse
+cubeparse.o: cubescan.c
+# See notes in src/backend/parser/Makefile about the following two rules
-cubeparse.c cubeparse.h: cubeparse.y
+cubeparse.c: cubeparse.h ;
+
+cubeparse.h: cubeparse.y
ifdef YACC
- $(YACC) -d $(YFLAGS) -p cube_yy $<
+ $(YACC) -d $(YFLAGS) $<
mv -f y.tab.c cubeparse.c
mv -f y.tab.h cubeparse.h
else
cubescan.c: cubescan.l
ifdef FLEX
- $(FLEX) $(FLEXFLAGS) -Pcube_yy -o'$@' $<
+ $(FLEX) $(FLEXFLAGS) -o'$@' $<
else
@$(missing) flex $< $@
endif
-
-$(NAME).sql: $(NAME).sql.in
- sed -e 's:MODULE_PATHNAME:$(libdir)/$(shlib):g' < $< > $@
-
-.PHONY: submake
-submake:
- $(MAKE) -C $(top_builddir)/src/test/regress pg_regress
-
-# against installed postmaster
-installcheck: submake
- $(top_builddir)/src/test/regress/pg_regress cube
-
-# in-tree test doesn't work yet (no way to install my shared library)
-#check: all submake
-# $(top_builddir)/src/test/regress/pg_regress --temp-install \
-# --top-builddir=$(top_builddir) seg
-check:
- @echo "'make check' is not supported."
- @echo "Do 'make install', then 'make installcheck' instead."
-
-install: all installdirs install-lib
- $(INSTALL_DATA) $(srcdir)/README.$(NAME) $(docdir)/contrib
- $(INSTALL_DATA) $(NAME).sql $(datadir)/contrib
-
-installdirs:
- $(mkinstalldirs) $(docdir)/contrib $(datadir)/contrib $(libdir)
-
-uninstall: uninstall-lib
- rm -f $(docdir)/contrib/README.$(NAME) $(datadir)/contrib/$(NAME).sql
-
-clean distclean maintainer-clean: clean-lib
- rm -f cubeparse.c cubeparse.h cubescan.c
- rm -f y.tab.c y.tab.h $(OBJS) $(NAME).sql
-# things created by various check targets
- rm -rf results tmp_check log
- rm -f regression.diffs regression.out regress.out run_check.out
-ifeq ($(PORTNAME), win)
- rm -f regress.def
-endif
-
-depend dep:
- $(CC) -MM $(CFLAGS) *.c >depend
-
-ifeq (depend,$(wildcard depend))
-include depend
-endif