]> granicus.if.org Git - postgresql/blob - src/Makefile.global.in
Potential fix for Bruce's "test" problem
[postgresql] / src / Makefile.global.in
1 #----------------------------------------------------------------------------
2 #
3 # Makefile.global--
4 #    global configuration for the Makefiles
5 #
6 # Copyright (c) 1994, Regents of the University of California
7 #
8 #
9 # IDENTIFICATION
10 #    $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.31 1997/12/20 18:36:26 scrappy Exp $
11 #
12 # NOTES
13 #    Essentially all Postgres make files include this file and use the 
14 #    variables it sets.  
15 #
16 #    To override the default setting, create a Makefile.custom in this
17 #    directory and put your defines there. (Makefile.custom is included
18 #    near the end of this file).  Sometimes, a variable gets set in
19 #    Makefile.global after Makefile.custom has been included, so you can't
20 #    simply set that variable in Makefile.custom.  In those cases, there is
21 #    often another variable (like CUSTOM_COPT) that you can set in 
22 #    Makefile.custom that influences the later setting of the true variable
23 #    of interest (like CFLAGS) by Makefile.global.
24 #
25 #
26 #    If you change any of these defines you probably have to 
27 #       make clean; make
28 #    since no dependencies are created for these. (of course you can 
29 #    be crafty and check what files really depend on them and just remake
30 #    those).
31 #        
32 #    Before including this file, you must set the SRCDIR variable to the 
33 #    path of the top of the Postgres source tree (the directory that 
34 #    contains this file).  
35 #
36 #-------------------------------------------------------------------------
37
38
39 ##############################################################################
40 #
41 # CONFIGURATION SECTION
42 #
43 # Following are settings pertaining to the postgres build and 
44 # installation.  
45 # of the port.
46 #
47 # Ignore LINUX_ELF if you're not using Linux.  But if you are, and you're
48 # compiling to a.out (which means you're using the dld dynamic loading 
49 # library), set LINUX_ELF to null in Makefile.custom.
50 LINUX_ELF= true
51
52 LIBPQDIR:= $(SRCDIR)/interfaces/libpq
53
54 # For convenience, POSTGRESDIR is where BINDIR, and LIBDIR 
55 # and other target destinations are rooted.  Of course, each of these is 
56 # changable separately.
57 POSTGRESDIR= @prefix@
58
59 # Where the postgres executables live (changeable by just putting them
60 # somewhere else and putting that directory in your shell PATH)
61 BINDIR= $(POSTGRESDIR)/bin
62
63 # Where libpq.a gets installed.  You must put it where your loader will
64 # look for it if you wish to use the -lpq convention.  Otherwise you
65 # can just put the absolute pathname to the library at the end of your
66 # command line.
67 LIBDIR= $(POSTGRESDIR)/lib
68
69 # This is the directory where IPC utilities ipcs and ipcrm are located
70 #
71 IPCS=@ipcs@
72 IPCRM=@ipcrm@ 
73
74 # Where the man pages (suitable for use with "man") get installed.
75 POSTMANDIR= $(POSTGRESDIR)/man
76
77 # Where the formatted documents (e.g., the reference manual) get installed.
78 POSTDOCDIR= $(POSTGRESDIR)/doc
79
80 # Where the header files necessary to build frontend programs get installed.
81 HEADERDIR= $(POSTGRESDIR)/include
82
83 # NAMEDATALEN is the max length for system identifiers (e.g. table names,
84 # attribute names, function names, etc.)
85 #
86 # These MUST be set here.  DO NOT COMMENT THESE OUT
87 # Setting these too high will result in excess space usage for system catalogs
88 # Setting them too low will make the system unusable.
89 # values between 16 and 64 that are multiples of four are recommended.
90
91 # NOTE also that databases with different NAMEDATALEN's cannot interoperate!
92 #
93 # THERE ARE REDUNDANT DEFINITIONS OF THESE VALUES IN config.h.
94 # Don't change anything here without changing it there too.
95
96 NAMEDATALEN= 32
97 # OIDNAMELEN should be set to NAMEDATALEN + sizeof(Oid)
98 OIDNAMELEN= 36
99  
100 ##############################################################################
101 #
102 # FEATURES 
103 #
104 # To disable a feature, comment out the entire definition
105 # (that is, prepend '#', don't set it to "0" or "no").
106
107 # Compile libpq++
108 @HAVECXX@
109
110 # Comment out ENFORCE_ALIGNMENT if you do NOT want unaligned access to
111 # multi-byte types to generate a bus error.
112 ENFORCE_ALIGNMENT= true
113
114 # Comment out PROFILE to generate a profile version of the binaries
115 #PROFILE= -p -non_shared
116
117 # If you plan to use Kerberos for authentication...
118 #
119 # Comment out KRBVERS if you do not use Kerberos.
120 # Set KRBVERS to "4" for Kerberos v4, "5" for Kerberos v5.
121 # XXX Edit the default Kerberos variables below!
122 #
123 #KRBVERS= 5
124
125 # Globally pass Kerberos file locations.
126 # these are used in the postmaster and all libpq applications.
127 #
128 # Adjust KRBINCS and KRBLIBS to reflect where you have Kerberos
129 # include files and libraries installed.
130 # PG_KRB_SRVNAM is the name under which POSTGRES is registered in
131 # the Kerberos database (KDC).
132 # PG_KRB_SRVTAB is the location of the server's keytab file.
133 #
134 ifdef KRBVERS
135 KRBINCS= -I/usr/athena/include
136 KRBLIBS= -L/usr/athena/lib
137 KRBFLAGS+= $(KRBINCS) -DPG_KRB_SRVNAM='"postgres_dbms"'
138    ifeq ($(KRBVERS), 4)
139 KRBFLAGS+= -DKRB4
140 KRBFLAGS+= -DPG_KRB_SRVTAB='"/etc/srvtab"'
141 KRBLIBS+= -lkrb -ldes
142    else
143    ifeq ($(KRBVERS), 5)
144 KRBFLAGS+= -DKRB5
145 KRBFLAGS+= -DPG_KRB_SRVTAB='"FILE:/krb5/srvtab.postgres"'
146 KRBLIBS+= -lkrb5 -lcrypto -lcom_err -lisode
147    endif
148    endif
149 endif
150
151 #
152 # location of Tcl/Tk headers and libraries
153 #
154 # Uncomment this to build the tcl utilities.
155 USE_TCL= @USE_TCL@
156 # customize these to your site's needs
157 #
158 TCL_INCDIR= /usr/local/include
159 TCL_LIBDIR= /usr/local/lib
160 TCL_LIB= -ltcl80
161 TK_INCDIR= /usr/local/include
162 TK_LIBDIR= /usr/local/lib
163 TK_LIB= -ltk80
164
165 USE_PERL= @USE_PERL@
166
167 X11_INCDIR= /usr/include
168 X11_LIBDIR= /usr/lib
169 X11_LIB= -lX11 @SOCKET_LIB@ @NSL_LIB@
170
171
172 ##############################################################################
173 #
174 # Installation. 
175 #
176 # For many ports, INSTALL is overridden below.
177 INSTALL= @INSTALL@
178 RANLIB= @RANLIB@
179
180 INSTLOPTS= @INSTLOPTS@
181 INSTL_EXE_OPTS= @INSTL_EXE_OPTS@
182 INSTL_LIB_OPTS= @INSTL_LIB_OPTS@
183
184 ##############################################################################
185 #
186 # For building shell scripts:
187
188 # For many ports, these are overridden below.
189
190 # DASH_N is what we put before the text on an echo command when we don't
191 # want a trailing newline.  BACKSLASH_C is what we put at the end of the
192 # string on a echo command when we don't want a trailing newline.  On
193 # some systems, you do echo -n "no newline after this", while on others
194 # you do echo "no newline after this\c".
195
196 DASH_N= @DASH_N@
197 BACKSLASH_C= @BACKSLASH_C@ 
198
199
200
201 #-------------------------------------------------------------
202 # See the subdirectory template for default settings for these
203 #-------------------------------------------------------------
204 CC= @CC@
205 YFLAGS= @YFLAGS@
206 YACC= @YACC@
207 LEX= @LEX@
208 AROPT= @AROPT@
209 CFLAGS= -I$(SRCDIR)/include @CPPFLAGS@ @CFLAGS@ 
210 CFLAGS_SL= @SHARED_LIB@
211 LDFLAGS= @LDFLAGS@ @LIBS@
212 DLSUFFIX= @DLSUFFIX@
213
214 include $(SRCDIR)/Makefile.port
215
216 ##############################################################################
217 #
218 # Customization.
219 #
220 # This includes your local customizations if Makefile.custom exists
221 # in the source directory.  This file doesn't exist in the original
222 # distribution so that it doesn't get overwritten when you upgrade.
223 ifneq ($(wildcard $(SRCDIR)/Makefile.custom), )
224 include $(SRCDIR)/Makefile.custom
225 endif
226
227 # This goes here so that customization in Makefile.custom is effective
228 ##############################################################################
229
230 ifneq ($(CUSTOM_INSTALL),)
231 INSTALL= $(CUSTOM_INSTALL)
232 endif
233
234 #
235 # Flags for CC and LD. 
236
237 ##############################################################################
238 # COPT
239 #
240 # COPT is for options that the sophisticated builder might want to vary 
241 # from one build to the next, like options to build Postgres with debugging
242 # information included.  COPT is meant to be set on the make command line, 
243 # for example with the command "make COPT=-g".  The value you see set here
244 # is the default that gets used if the builder does not give a value for
245 # COPT on his make command.
246 #
247 # There is a nonobvious relationship between -O (optimization) and 
248 # -Werror (consider all warnings fatal).  On some systems, if you don't
249 # optimize, you will always get some warnings because the system header
250 # files will include some unreferenced functions in the code.  These are
251 # functions that are supposed to be inline, so there wouldn't ordinarily
252 # be an "unreferenced" problem, but if you don't enable optimization, no
253 # inlining can happen, and hence the problem.  Therefore, we include 
254 # if you override -O, you override -Werror as well.
255 #
256 # CUSTOM_COPT is something the user may set in Makefile.custom
257
258 # Common values for COPT are: -g for debuggable binaries, -m486 if you are
259 # using a i486 or better.
260
261 ifneq ($(CUSTOM_CC),)
262   CC= $(CUSTOM_CC)
263 endif
264
265 ifneq ($(CUSTOM_COPT),)
266   COPT= $(CUSTOM_COPT)
267 endif
268
269 ifeq ($(CC), gcc)
270 CFLAGS+= -Wall -Wmissing-prototypes
271 endif
272
273 ifdef COPT
274    CFLAGS+= $(COPT)
275 endif
276
277 ifdef PROFILE
278    CFLAGS+= $(PROFILE)
279 endif