root/juggler/branches/2.2/modules/vapor/common.defs.mk.in

Revision 20956, 14.1 kB (checked in by patrick, 1 year ago)

MFT: Added the Mach-O x86_64 case.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 # ************** <auto-copyright.pl BEGIN do not edit this line> **************
2 # Doozer++ is (C) Copyright 2000-2003 by Iowa State University
3 #
4 # Original Author:
5 #   Patrick Hartling
6 #
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Library General Public
9 # License as published by the Free Software Foundation; either
10 # version 2 of the License, or (at your option) any later version.
11 #
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 # Library General Public License for more details.
16 #
17 # You should have received a copy of the GNU Library General Public
18 # License along with this library; if not, write to the
19 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 # Boston, MA 02111-1307, USA.
21 #
22 # -----------------------------------------------------------------
23 # File:          common.defs.mk.in,v
24 # Date modified: 2003/06/27 22:50:32
25 # Version:       1.30.2.7
26 # -----------------------------------------------------------------
27 # *************** <auto-copyright.pl END do not edit this line> ***************
28
29 # =============================================================================
30 # common.defs.mk.in,v 1.30.2.7 2003/06/27 22:50:32 patrickh Exp
31 #
32 # This file <common.defs.mk> provides variable assignments based on the
33 # results of running a Doozer++-aware configure script.  It is distributed
34 # with Doozer++ as a means for users to get quick, effortless access to all
35 # these variables.  It is recommended that user build systems include this
36 # file in their own local definitions file and override settings therein as
37 # necessary.
38 #
39 # All makefiles in a source tree should include this file through some means
40 # for maximum information sharing.
41 #
42 # Generated for use on @PLATFORM@
43 # -----------------------------------------------------------------------------
44 # Variables defined here are:
45 #
46 # bindir          - Path to bin directory containing executables (usually
47 #                   $(exec_prefix)/bin).
48 # datadir         - Path to a directory generally sharing platform-independent
49 #                   data (usually $(prefix)/share).
50 # exec_prefix     - Path to base directory where executables will be (usually
51 #                   $(prefix)).
52 # libdir          - Path to directory containing shared and static libraries
53 #                   (usually $(exec_prefix)/lib).
54 # libexecdir      - Path to libexec directory that generally contains
55 #                   executables not called directly by users (usually
56 #                   $(exec_prefix)/libexec).
57 # prefix          - Base path used for installation and other things.
58 # sbindir         - Path to sbin directory containing executables (usually
59 #                   $(exec_prefix)/sbin).
60 # sysconfdir      - System configuration directory (usually $(prefix)/etc).
61 # topdir          - The top of the build tree.
62 #
63 # AR              - Path to ar(1) (or equivalent program).
64 # ARFLAGS         - Flags for $(AR).
65 # CC              - Path to C compiler.
66 # CXX             - Path to C++ compiler.
67 # CPP             - Command for invoking the C preprocessor.
68 # CXXCPP          - Command for invoking the C preprocessor used by the C++
69 #                   compiler.
70 # CFLAGS          - Flags for $(CC).
71 # CFLAGS_DYLINB   - Special flags used only when building dynamically linked
72 #                   libraries with the C compiler.
73 # CC_PROF_FLAGS   - Flag(s) to enable compiling profiled C objects.
74 # CPPFLAGS        - Flags for $(CPP) and $(CXXCPP).
75 # CXXFLAGS        - Flags for $(CXX).
76 # CXXFLAGS_DYLINB - Special flags used only when building dynamically linked
77 #                   libraries with the C++ compiler.
78 # CXX_PROF_FLAGS  - Flag(s) to enable compiling profiled C++ objects.
79 # C_DLL           - Command for linking a DLL from C object files.
80 # CXX_DLL         - Command for linking a DLL from C++ object files.
81 # C_PLUGIN        - Command for linking a plug-in from C object files.
82 # CXX_PLUGIN      - Command for linking a plug-in from C++ object files.
83 # DEFS            - Command-line preprocessor definitions (-Dvariable=value).
84 # DEP_GEN_FLAG    - Flag passed to the compiler to generate dependencies.
85 # DEPEND_FLAGS    - Flags passed to makedepend(1) (or equivalent program for
86 #                   generating dependencies).
87 # DEPEND_EXTRAS   - Flags not recognized by makedepend(1) that may be
88 #                   necessary in $(CFLAGS) or $(CXXFLAGS).
89 # OWNER_NAME      - The name of the user that will own the files.
90 # GROUP_NAME      - The name of the group that will own the files.
91 # FILE_PERMS      - Normal file permissions.
92 # EXEC_PERMS      - Executable file permissions.
93 # DIR_PERMS       - Directory permissions.
94 # DYLIB_NAME_FLAG - Flag passed to the linker to name a dynamic library.
95 # EXEEXT          - Suffix for executable file names (e.g., ".exe" or nothing).
96 # EXE_NAME_FLAG   - Flag passed to the linker to name an executable file.
97 # INCLUDES        - Additions to the include path (-I/path/to/include).
98 # JCPS            - The Java classpath separator character for this platform.
99 # JAR             - Command for creating Java JAR files.
100 # JAVA            - The java command.
101 # JAVAC           - Java compiler.
102 # JAVADOC         - Java documentation generator.
103 # JAVAH           - javah utility.
104 # JAVAP           - javap utility.
105 # JDK_HOME        - Base Java installation directory.
106 # JNI_INC         - The include paths necessary for JNI.
107 # JNI_LIB         - The library which needs to be statically linked for JNI.
108 # LD              - Path to ld(1) (or equivalent program).
109 # LDFLAGS         - Flags for $(LD).
110 # LDOPTS          - Extra, often platform-specific, options for the linker.
111 # LDOPTS_DBG      - Extra, often platform-specific, debugging options for the
112 #                   linker.
113 # LDOPTS_OPT      - Extra, often platform-specific, optimization options for
114 #                   the linker.
115 # LDOPTS_PROF     - Extra, often platform-specific, profiling options for the
116 #                   linker.
117 # LIBS            - Extra external libraries needed at link time.
118 # LN_S            - Working 'ln -s' command.
119 # MAKEDEPEND      - The makedepend(1) program (if needed).
120 # MKPATH          - Path to shared dpp.*.mk file directory.
121 # OBJEXT          - Suffix for object file names (e.g., "o" or "obj").
122 # OBJ_BUILD_FLAG  - Flag passed to the compiler to create an object file.
123 # OBJ_NAME_FLAG   - Flag passed to the compiler to name an object file.
124 # OBJDIR          - Path to the directory where the object files will be built.
125 # OS_TYPE         - Type of the target operating system (UNIX or Win32).
126 # PERL            - Path to Perl 5 binary.
127 # RANLIB          - Path to ranlib(1) binary if it is available.  ':'
128 #                   otherwise.
129 # RMIC            - Java RMI compiler utility.
130 #
131 # C_WARNS_LEVEL_[0-5]   - Warning levels for C code.
132 # CXX_WARNS_LEVEL_[0-5] - Warning levels for C++ code.
133 #
134 # USE_MAKEDEPEND      - Tell the dependency-generation code whether to use
135 #                       makedepend(1).  The value will be either 'Y' or 'N'.
136 # USE_DPP_BSD_INSTALL - Indicate that the Doozer++ BSD-compatible install(1)
137 #                       script will be used.
138 #
139 # C_COMPILE       - Command for compiling C code.
140 # CXX_COMPILE     - Command for compiling C++ code.
141 #
142 # ABI             - Application Binary Interface type.  This may be used for
143 #                   other binary types when supported by the operating system
144 #                   (e.g., "ELF", "N32" or "64").
145 # ISA             - Instruction Set Architecture.  This may be used for other
146 #                   binary types when supported by the operating system (e.g.,
147 #                   "mips3" or "i386").
148 # LIBBITSUF       - Suffix for the library path used by the linker on IRIX
149 #                   only.  For n32 binaries, it will be 32.  For 64-bit
150 #                   binaries, it will be 64.
151 # PLATFORM        - The operating system abbreviation on which the library is
152 #                   being built.
153 # =============================================================================
154
155 # -----------------------------------------------------------------------------
156 # Base variables needed by all makefiles.
157 # -----------------------------------------------------------------------------
158 bindir=                 @bindir@
159 datadir=                @datadir@
160 exec_prefix=            @exec_prefix@
161 libdir=                 @libdir@
162 libexecdir=             @libexecdir@
163 prefix=                 @prefix@
164 sbindir=                @sbindir@
165 sysconfdir=             @sysconfdir@
166 topdir=                 @topdir@
167
168 AR=                     @AR@ $(DPP_EXTRA_ARFLAGS) $(EXTRA_ARFLAGS) $(ARFLAGS)
169 ARFLAGS=                @ARFLAGS@
170 AR_NAME_FLAG=           @AR_NAME_FLAG@
171 CC=                     @CC@
172 CXX=                    @CXX@
173 CPP=                    @CPP@
174 CXXCPP=                 @CXXCPP@
175 CFLAGS=                 @CFLAGS@ $(OPTIMIZER) $(EXTRA_CFLAGS)
176 CFLAGS_DYNLIB=          @CFLAGS_DYNLIB@
177 CC_PROF_FLAGS=          @CC_PROF_FLAGS@
178 CPPFLAGS=               @CPPFLAGS@ $(EXTRA_CPPFLAGS)
179 CXXFLAGS=               @CXXFLAGS@ $(OPTIMIZER) $(EXTRA_CXXFLAGS)
180 CXXFLAGS_DYNLIB=        @CXXFLAGS_DYNLIB@
181 CXX_PROF_FLAGS=         @CXX_PROF_FLAGS@
182 C_DLL=                  @C_DLL@ $(DPP_EXTRA_LDFLAGS) $(EXTRA_LDFLAGS)
183 CXX_DLL=                @CXX_DLL@ $(DPP_EXTRA_LDFLAGS) $(EXTRA_LDFLAGS)
184 C_PLUGIN=               @C_PLUGIN@ $(DPP_EXTRA_LDFLAGS) $(EXTRA_LDFLAGS)
185 CXX_PLUGIN=             @CXX_PLUGIN@ $(DPP_EXTRA_LDFLAGS) $(EXTRA_LDFLAGS)
186 DEFS=                   @DEFS@ $(EXTRA_DEFS)
187 DEP_GEN_FLAG=           @DEP_GEN_FLAG@
188 DEPEND_FLAGS=           @DEPEND_FLAGS@ $(INCLUDES) $(EXTRA_DEPEND_FLAGS)
189 DEPEND_EXTRAS=          @DEPEND_EXTRAS@ $(DEFS)
190 DYLIB_NAME_FLAG=        @DYLIB_NAME_FLAG@
191 EXEEXT=                 @EXEEXT@
192 EXE_NAME_FLAG=          @EXE_NAME_FLAG@
193 INCLUDES=               -I$(topdir) $(EXTRA_INCLUDES) @INCLUDES@
194 INSTALL=                @INSTALL@
195 JCPS=                   @JCPS@
196 JAR=                    @JAR@
197 JAVA=                   @JAVA@
198 JAVAC=                  @JAVAC@
199 JAVADOC=                @JAVADOC@
200 JAVAH=                  @JAVAH@
201 JAVAP=                  @JAVAP@
202 JDK_HOME=               @JDK_HOME@
203 JNI_INC=                @JNI_INC@
204 JNI_LIB=                @JNI_LIB@
205 LD=                     @LD@ $(DPP_EXTRA_LDFLAGS) $(EXTRA_LDFLAGS)
206 LDFLAGS=                @LDFLAGS@ -L/usr/lib$(LIBBITSUF) -L/usr/lib
207 LDOPTS=                 @LDOPTS@ $(DPP_EXTRA_LDOPTS) $(EXTRA_LDOPTS)    \
208                         $(DSOVERSIONOPTS)
209 LDOPTS_DBG=             @LDOPTS_DBG@ $(EXTRA_LDOPTS_DBG)
210 LDOPTS_OPT=             @LDOPTS_OPT@ $(EXTRA_LDOPTS_OPT)
211 LDOPTS_PROF=            @LDOPTS_PROF@ $(EXTRA_LDOPTS_PROF)
212 LIBS=                   @LIBS@ $(EXTRA_LIBS)
213 LN_S=                   @LN_S@
214 MAKEDEPEND=             @MAKEDEPEND@
215 MKPATH?=               
216 OBJEXT=                 @OBJEXT@
217 OBJ_BUILD_FLAG=         @OBJ_BUILD_FLAG@
218 OBJ_NAME_FLAG=          @OBJ_NAME_FLAG@
219 OS_TYPE=                @OS_TYPE@
220 PLATFORM_SDK=           @PLATFORM_SDK@
221 PERL=                   @PERL@
222 RANLIB=                 @RANLIB@
223 RMIC=                   @RMIC@
224 UNIVERSAL_ARCH_LIST=    @UNIVERSAL_ARCH_LIST@
225
226 # Warning levels for C and C++ needed by dpp.obj-common.mk.
227 C_WARNS_LEVEL_0=        @C_WARNS_LEVEL_0@
228 C_WARNS_LEVEL_1=        @C_WARNS_LEVEL_1@
229 C_WARNS_LEVEL_2=        @C_WARNS_LEVEL_2@
230 C_WARNS_LEVEL_3=        @C_WARNS_LEVEL_3@
231 C_WARNS_LEVEL_4=        @C_WARNS_LEVEL_4@
232 C_WARNS_LEVEL_5=        @C_WARNS_LEVEL_5@
233 CXX_WARNS_LEVEL_0=      @CXX_WARNS_LEVEL_0@
234 CXX_WARNS_LEVEL_1=      @CXX_WARNS_LEVEL_1@
235 CXX_WARNS_LEVEL_2=      @CXX_WARNS_LEVEL_2@
236 CXX_WARNS_LEVEL_3=      @CXX_WARNS_LEVEL_3@
237 CXX_WARNS_LEVEL_4=      @CXX_WARNS_LEVEL_4@
238 CXX_WARNS_LEVEL_5=      @CXX_WARNS_LEVEL_5@
239
240 # SGI-specific dynamic-shared-object information.
241 DSOREGFILE=             @DSOREGFILE@
242 DSOVERSION=             @DSOVERSION@
243 DSOVERSIONOPTS=         @DSOVERSIONOPTS@
244
245 USE_MAKEDEPEND=         @USE_MAKEDEPEND@
246 USE_DPP_BSD_INSTALL=    @USE_DPP_BSD_INSTALL@
247
248 # Installation information (permissions, ownership).
249 OWNER_NAME=             @OWNER_NAME@
250 GROUP_NAME=             @GROUP_NAME@
251 FILE_PERMS=             @FILE_PERMS@
252 EXEC_PERMS=             @EXEC_PERMS@
253 DIR_PERMS=              @DIR_PERMS@
254
255 # Allow overriding the default value of $(OBJDIR) by setting $(BASE_OBJDIR)
256 # (probably using an externally defined value).
257 ifdef BASE_OBJDIR
258    OBJDIR=              $(BASE_OBJDIR)
259 else
260    OBJDIR=              .
261 endif
262
263 # -----------------------------------------------------------------------------
264 # Compiler command lines.
265 # -----------------------------------------------------------------------------
266 C_COMPILE=              $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS)           \
267                         $(CFLAGS) $(C_WARN_FLAGS)
268 CXX_COMPILE=            $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS)          \
269                         $(CXXFLAGS) $(CXX_WARN_FLAGS)
270
271 # -----------------------------------------------------------------------------
272 # Platform- and binary-specific options.  The assignments preceding the
273 # ifeq ... endif blocks are the default values.  Depending on the value of
274 # $(ABI), further settings may be made to allow for building with multiple
275 # ABIs.
276 # -----------------------------------------------------------------------------
277 ifdef dppABI
278    ifeq ($(dppABI), N32_M3)
279       ABI=      N32
280       ISA=      mips3
281    endif
282    ifeq ($(dppABI), N32_M4)
283       ABI=      N32
284       ISA=      mips4
285    endif
286    ifeq ($(dppABI), 64_M3)
287       ABI=      64
288       ISA=      mips3
289    endif
290    ifeq ($(dppABI), 64_M4)
291       ABI=      64
292       ISA=      mips4
293    endif
294    ifeq ($(dppABI), ELF_i386)
295       ABI=      ELF
296       ISA=      i386
297    endif
298    ifeq ($(dppABI), ELF_x86_64)
299       ABI=      ELF
300       ISA=      x86_64
301    endif
302    ifeq ($(dppABI), MACINTOSH_PPC)
303       ABI=      MAC
304       ISA=      powerpc
305    endif
306 else
307    ABI?=        @ABI@
308    ISA?=        @ISA@
309    LIBBITSUF?=  @LIBBITSUF@
310 endif
311
312 ABI_LIST=       @ABI_LIST@
313 PLATFORM=       @PLATFORM@
314
315 # Not using GCC.
316 ifneq ($(findstring gcc, $(CC)), gcc)
317 ifeq ($(ABI), N32)
318    ARFLAGS:=    -n32 $(ARFLAGS)
319    CFLAGS+=     -n32
320    CXXFLAGS+=   -n32
321    LDOPTS+=     -n32
322    LIBBITSUF=   32
323 endif
324 ifeq ($(ABI), 64)
325    ARFLAGS:=    -64 $(ARFLAGS)
326    CFLAGS+=     -64
327    CXXFLAGS+=   -64
328    LDOPTS+=     -64
329    LIBBITSUF=   64
330 endif
331 ifeq ($(ABI), HP64)
332    CFLAGS+=     +DD64
333    CXXFLAGS+=   +DD64
334    LDOPTS+=     +DD64
335    LIBBITSUF=   /pa20_64
336 endif
337 ifeq ($(ABI), ELF)
338    LIBBITSUF=   
339 endif
340
341 ifeq ($(ISA), mips3)
342    ARFLAGS:=    -mips3 $(ARFLAGS)
343    CFLAGS+=     -mips3
344    CXXFLAGS+=   -mips3
345    LDOPTS+=     -mips3
346 endif
347 ifeq ($(ISA), mips4)
348    ARFLAGS:=    -mips4 $(ARFLAGS)
349    CFLAGS+=     -mips4
350    CXXFLAGS+=   -mips4
351    LDOPTS+=     -mips4
352 endif
353
354 # Using GCC.
355 else
356
357 ifeq ($(ABI), ELF)
358    ifeq ($(ISA), i386)
359       CFLAGS+=          -m32
360       CXXFLAGS+=        -m32
361       LDOPTS+=          -m32
362    endif
363    ifeq ($(ISA), x86_64)
364       CFLAGS+=          -m64
365       CXXFLAGS+=        -m64
366       LDOPTS+=          -m64
367    endif
368 endif
369 ifeq ($(ABI), Mach-O)
370    ifeq ($(ISA), universal)
371       CFLAGS+=          $(foreach arch,$(UNIVERSAL_ARCH_LIST),-arch $(arch)) \
372                         $(PLATFORM_SDK)
373       CXXFLAGS+=        $(foreach arch,$(UNIVERSAL_ARCH_LIST),-arch $(arch)) \
374                         $(PLATFORM_SDK)
375       LDOPTS+=          $(foreach arch,$(UNIVERSAL_ARCH_LIST),-arch $(arch)) \
376                         $(PLATFORM_SDK)
377    else
378       ifeq ($(ISA), powerpc)
379          CFLAGS+=       -arch ppc $(PLATFORM_SDK)
380          CXXFLAGS+=     -arch ppc $(PLATFORM_SDK)
381          LDOPTS+=       -arch ppc $(PLATFORM_SDK)
382       else
383          CFLAGS+=       -arch $(ISA) $(PLATFORM_SDK)
384          CXXFLAGS+=     -arch $(ISA) $(PLATFORM_SDK)
385          LDOPTS+=       -arch $(ISA) $(PLATFORM_SDK)
386       endif
387    endif
388 endif
389
390 endif
391
392 @SET_MAKE@
Note: See TracBrowser for help on using the browser.