Makefile
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:3k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. #-------------------------------------------------------------------------
  2. #
  3. # Makefile
  4. #    Makefile for the pltcl shared object
  5. #
  6. # IDENTIFICATION
  7. #    $Header: /usr/local/cvsroot/pgsql/src/pl/tcl/Makefile,v 1.10 1998/12/13 23:46:49 tgl Exp $
  8. #
  9. #-------------------------------------------------------------------------
  10. #
  11. # Tell make where the postgresql sources live
  12. #
  13. SRCDIR= ../../../src
  14. include $(SRCDIR)/Makefile.global
  15. #
  16. # Include definitions from the tclConfig.sh file
  17. # NOTE: GNU make will make this file automatically if it doesn't exist,
  18. # using the make rule that appears below.  Cute, eh?
  19. #
  20. include Makefile.tcldefs
  21. #
  22. # Find out whether Tcl was built as a shared library --- if not,
  23. # we can't link a shared library that depends on it, and have to
  24. # forget about building pltcl.
  25. # In Tcl 8, tclConfig.sh sets TCL_SHARED_BUILD for us, but in
  26. # older Tcl releases it doesn't.  In that case we guess based on
  27. # the name of the Tcl library.
  28. #
  29. ifndef TCL_SHARED_BUILD
  30. ifneq (,$(findstring $(DLSUFFIX),$(TCL_LIB_FILE)))
  31. TCL_SHARED_BUILD=1
  32. else
  33. TCL_SHARED_BUILD=0
  34. endif
  35. endif
  36. # Change following to how shared library that contains
  37. # references to libtcl must get built on your system.
  38. # Since these definitions come from the tclConfig.sh script,
  39. # they should work if the shared build of tcl was successful
  40. # on this system.  However, tclConfig.sh lies to us a little bit
  41. # (at least in versions 7.6 through 8.0.4) --- it doesn't mention -lc
  42. # in TCL_LIBS, but you still need it on systems that want to hear about
  43. # dependent libraries...
  44. ifneq ($(TCL_SHLIB_LD_LIBS),)
  45. # link command for a shared lib must mention shared libs it uses
  46. SHLIB_EXTRA_LIBS=$(TCL_LIBS) -lc
  47. else
  48. # link command for a shared lib must NOT mention shared libs it uses
  49. SHLIB_EXTRA_LIBS=
  50. endif
  51. %$(TCL_SHLIB_SUFFIX): %.o
  52. $(TCL_SHLIB_LD) -o $@ $< $(TCL_LIB_SPEC) $(SHLIB_EXTRA_LIBS)
  53. #
  54. # Uncomment the following to enable the unknown command lookup
  55. # on the first of all calls to the call handler. See the doc
  56. # in the modules directory about details.
  57. #
  58. #CFLAGS+= -DPLTCL_UNKNOWN_SUPPORT
  59. CC = $(TCL_CC)
  60. CFLAGS+= -I$(LIBPQDIR) -I$(SRCDIR)/include $(TCL_SHLIB_CFLAGS)
  61. # For fmgr.h
  62. CFLAGS+= -I$(SRCDIR)/backend
  63. CFLAGS+= $(TCL_DEFS)
  64. LDADD+= -L$(LIBPQDIR) -lpq
  65.         
  66. #
  67. # DLOBJS is the dynamically-loaded object file.
  68. #
  69. DLOBJS= pltcl$(DLSUFFIX)
  70. INFILES= $(DLOBJS) 
  71. #
  72. # plus exports files
  73. #
  74. ifdef EXPSUFF
  75. INFILES+= $(DLOBJS:.o=$(EXPSUFF))
  76. endif
  77. ifeq ($(TCL_SHARED_BUILD),1)
  78. #
  79. # Build the shared lib
  80. #
  81. all: $(INFILES)
  82. install: all
  83. $(INSTALL) $(INSTL_SHLIB_OPTS) $(DLOBJS) $(LIBDIR)/$(DLOBJS)
  84. else
  85. #
  86. # Oops, can't build it
  87. #
  88. all:
  89. @echo "Cannot build pltcl because Tcl is not a shared library; skipping it."
  90. install:
  91. @echo "Cannot build pltcl because Tcl is not a shared library; skipping it."
  92. endif
  93. #
  94. # Make targets that are still valid when we can't build pltcl
  95. # should be below here.
  96. #
  97. Makefile.tcldefs: mkMakefile.tcldefs.sh
  98. /bin/sh mkMakefile.tcldefs.sh
  99. #
  100. # Clean 
  101. #
  102. clean:
  103. rm -f $(INFILES) *.o
  104. rm -f Makefile.tcldefs
  105. dep depend: