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

Revision 20956, 14.6 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 # OBJC_COMPILE    - Command for compiling Objective-C code.
142 # OBJCXX_COMPILE  - Command for compiling Objective-C++ code.
143 #
144 # ABI             - Application Binary Interface type.  This may be used for
145 #                   other binary types when supported by the operating system
146 #                   (e.g., "ELF", "N32" or "64").
147 # ISA             - Instruction Set Architecture.  This may be used for other
148 #                   binary types when supported by the operating system (e.g.,
149 #                   "mips3" or "i386").
150 # LIBBITSUF       - Suffix for the library path used by the linker on IRIX
151 #                   only.  For n32 binaries, it will be 32.  For 64-bit
152 #                   binaries, it will be 64.
153 # PLATFORM        - The operating system abbreviation on which the library is
154 #                   being built.
155 # =============================================================================
156
157 # -----------------------------------------------------------------------------
158 # Base variables needed by all makefiles.
159 # -----------------------------------------------------------------------------
160 bindir=                 @bindir@
161 datadir=                @datadir@
162 exec_prefix=            @exec_prefix@
163 libdir=                 @libdir@
164 libexecdir=             @libexecdir@
165 prefix=                 @prefix@
166 sbindir=                @sbindir@
167 sysconfdir=             @sysconfdir@
168 topdir=                 @topdir@
169
170 AR=                     @AR@ $(DPP_EXTRA_ARFLAGS) $(EXTRA_ARFLAGS) $(ARFLAGS)
171 ARFLAGS=                @ARFLAGS@
172 AR_NAME_FLAG=           @AR_NAME_FLAG@
173 CC=                     @CC@
174 CXX=                    @CXX@
175 CPP=                    @CPP@
176 CXXCPP=                 @CXXCPP@
177 CFLAGS=                 @CFLAGS@ $(OPTIMIZER) $(EXTRA_CFLAGS)
178 CFLAGS_DYNLIB=          @CFLAGS_DYNLIB@
179 CC_PROF_FLAGS=          @CC_PROF_FLAGS@
180 CPPFLAGS=               @CPPFLAGS@ $(EXTRA_CPPFLAGS)
181 CXXFLAGS=               @CXXFLAGS@ $(OPTIMIZER) $(EXTRA_CXXFLAGS)
182 CXXFLAGS_DYNLIB=        @CXXFLAGS_DYNLIB@
183 CXX_PROF_FLAGS=         @CXX_PROF_FLAGS@
184 C_DLL=                  @C_DLL@ $(DPP_EXTRA_LDFLAGS) $(EXTRA_LDFLAGS)
185 CXX_DLL=                @CXX_DLL@ $(DPP_EXTRA_LDFLAGS) $(EXTRA_LDFLAGS)
186 C_PLUGIN=               @C_PLUGIN@ $(DPP_EXTRA_LDFLAGS) $(EXTRA_LDFLAGS)
187 CXX_PLUGIN=             @CXX_PLUGIN@ $(DPP_EXTRA_LDFLAGS) $(EXTRA_LDFLAGS)
188 DEFS=                   @DEFS@ $(EXTRA_DEFS)
189 DEP_GEN_FLAG=           @DEP_GEN_FLAG@
190 DEPEND_FLAGS=           @DEPEND_FLAGS@ $(INCLUDES) $(EXTRA_DEPEND_FLAGS)
191 DEPEND_EXTRAS=          @DEPEND_EXTRAS@ $(DEFS)
192 DYLIB_NAME_FLAG=        @DYLIB_NAME_FLAG@
193 EXEEXT=                 @EXEEXT@
194 EXE_NAME_FLAG=          @EXE_NAME_FLAG@
195 INCLUDES=               @INCLUDES@ -I$(topdir) $(EXTRA_INCLUDES)
196 INSTALL=                @INSTALL@
197 JCPS=                   @JCPS@
198 JAR=                    @JAR@
199 JAVA=                   @JAVA@
200 JAVAC=                  @JAVAC@
201 JAVADOC=                @JAVADOC@
202 JAVAH=                  @JAVAH@
203 JAVAP=                  @JAVAP@
204 JDK_HOME=               @JDK_HOME@
205 JNI_INC=                @JNI_INC@
206 JNI_LIB=                @JNI_LIB@
207 LD=                     @LD@ $(DPP_EXTRA_LDFLAGS) $(EXTRA_LDFLAGS)
208 LDFLAGS=                @LDFLAGS@ -L/usr/lib$(LIBBITSUF) -L/usr/lib
209 LDOPTS=                 @LDOPTS@ $(DPP_EXTRA_LDOPTS) $(EXTRA_LDOPTS)    \
210                         $(DSOVERSIONOPTS)
211 LDOPTS_DBG=             @LDOPTS_DBG@ $(EXTRA_LDOPTS_DBG)
212 LDOPTS_OPT=             @LDOPTS_OPT@ $(EXTRA_LDOPTS_OPT)
213 LDOPTS_PROF=            @LDOPTS_PROF@ $(EXTRA_LDOPTS_PROF)
214 LIBS=                   @LIBS@ $(EXTRA_LIBS)
215 LN_S=                   @LN_S@
216 MAKEDEPEND=             @MAKEDEPEND@
217 MKPATH?=               
218 OBJC=                   @OBJC@
219 OBJCFLAGS=              @OBJCFLAGS@ $(OPTIMIZER) $(EXTRA_OBJCFLAGS)
220 OBJCXX=                 @OBJCXX@
221 OBJCXXFLAGS=            @OBJCXXFLAGS@ $(OPTIMIZER) $(EXTRA_OBJCXXFLAGS)
222 OBJEXT=                 @OBJEXT@
223 OBJ_BUILD_FLAG=         @OBJ_BUILD_FLAG@
224 OBJ_NAME_FLAG=          @OBJ_NAME_FLAG@
225 OS_TYPE=                @OS_TYPE@
226 PLATFORM_SDK=           @PLATFORM_SDK@
227 PERL=                   @PERL@
228 RANLIB=                 @RANLIB@
229 RMIC=                   @RMIC@
230 UNIVERSAL_ARCH_LIST=    @UNIVERSAL_ARCH_LIST@
231
232 # Warning levels for C and C++ needed by dpp.obj-common.mk.
233 C_WARNS_LEVEL_0=        @C_WARNS_LEVEL_0@
234 C_WARNS_LEVEL_1=        @C_WARNS_LEVEL_1@
235 C_WARNS_LEVEL_2=        @C_WARNS_LEVEL_2@
236 C_WARNS_LEVEL_3=        @C_WARNS_LEVEL_3@
237 C_WARNS_LEVEL_4=        @C_WARNS_LEVEL_4@
238 C_WARNS_LEVEL_5=        @C_WARNS_LEVEL_5@
239 CXX_WARNS_LEVEL_0=      @CXX_WARNS_LEVEL_0@
240 CXX_WARNS_LEVEL_1=      @CXX_WARNS_LEVEL_1@
241 CXX_WARNS_LEVEL_2=      @CXX_WARNS_LEVEL_2@
242 CXX_WARNS_LEVEL_3=      @CXX_WARNS_LEVEL_3@
243 CXX_WARNS_LEVEL_4=      @CXX_WARNS_LEVEL_4@
244 CXX_WARNS_LEVEL_5=      @CXX_WARNS_LEVEL_5@
245
246 # SGI-specific dynamic-shared-object information.
247 DSOREGFILE=             @DSOREGFILE@
248 DSOVERSION=             @DSOVERSION@
249 DSOVERSIONOPTS=         @DSOVERSIONOPTS@
250
251 USE_MAKEDEPEND=         @USE_MAKEDEPEND@
252 USE_DPP_BSD_INSTALL=    @USE_DPP_BSD_INSTALL@
253
254 # Installation information (permissions, ownership).
255 OWNER_NAME=             @OWNER_NAME@
256 GROUP_NAME=             @GROUP_NAME@
257 FILE_PERMS=             @FILE_PERMS@
258 EXEC_PERMS=             @EXEC_PERMS@
259 DIR_PERMS=              @DIR_PERMS@
260
261 # Allow overriding the default value of $(OBJDIR) by setting $(BASE_OBJDIR)
262 # (probably using an externally defined value).
263 ifdef BASE_OBJDIR
264    OBJDIR=              $(BASE_OBJDIR)
265 else
266    OBJDIR=              .
267 endif
268
269 # -----------------------------------------------------------------------------
270 # Compiler command lines.
271 # -----------------------------------------------------------------------------
272 C_COMPILE=              $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS)           \
273                         $(CFLAGS) $(C_WARN_FLAGS)
274 CXX_COMPILE=            $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS)          \
275                         $(CXXFLAGS) $(CXX_WARN_FLAGS)
276 OBJC_COMPILE=           $(OBJC) $(DEFS) $(INCLUDES) $(CPPFLAGS)         \
277                         $(OBJCFLAGS) $(OBJC_WARN_FLAGS)
278 OBJCXX_COMPILE=         $(OBJCXX) $(DEFS) $(INCLUDES) $(CPPFLAGS)       \
279                         $(OBJCXXFLAGS) $(OBJCXX_WARN_FLAGS)
280
281 # -----------------------------------------------------------------------------
282 # Platform- and binary-specific options.  The assignments preceding the
283 # ifeq ... endif blocks are the default values.  Depending on the value of
284 # $(ABI), further settings may be made to allow for building with multiple
285 # ABIs.
286 # -----------------------------------------------------------------------------
287 ifdef dppABI
288    ifeq ($(dppABI), N32_M3)
289       ABI=      N32
290       ISA=      mips3
291    endif
292    ifeq ($(dppABI), N32_M4)
293       ABI=      N32
294       ISA=      mips4
295    endif
296    ifeq ($(dppABI), 64_M3)
297       ABI=      64
298       ISA=      mips3
299    endif
300    ifeq ($(dppABI), 64_M4)
301       ABI=      64
302       ISA=      mips4
303    endif
304    ifeq ($(dppABI), ELF_i386)
305       ABI=      ELF
306       ISA=      i386
307    endif
308    ifeq ($(dppABI), ELF_x86_64)
309       ABI=      ELF
310       ISA=      x86_64
311    endif
312    ifeq ($(dppABI), MACINTOSH_PPC)
313       ABI=      MAC
314       ISA=      powerpc
315    endif
316 else
317    ABI?=        @ABI@
318    ISA?=        @ISA@
319    LIBBITSUF?=  @LIBBITSUF@
320 endif
321
322 ABI_LIST=       @ABI_LIST@
323 PLATFORM=       @PLATFORM@
324
325 # Not using GCC.
326 ifneq ($(findstring gcc, $(CC)), gcc)
327 ifeq ($(ABI), N32)
328    ARFLAGS:=    -n32 $(ARFLAGS)
329    CFLAGS+=     -n32
330    CXXFLAGS+=   -n32
331    LDOPTS+=     -n32
332    LIBBITSUF=   32
333 endif
334 ifeq ($(ABI), 64)
335    ARFLAGS:=    -64 $(ARFLAGS)
336    CFLAGS+=     -64
337    CXXFLAGS+=   -64
338    LDOPTS+=     -64
339    LIBBITSUF=   64
340 endif
341 ifeq ($(ABI), HP64)
342    CFLAGS+=     +DD64
343    CXXFLAGS+=   +DD64
344    LDOPTS+=     +DD64
345    LIBBITSUF=   /pa20_64
346 endif
347 ifeq ($(ABI), ELF)
348    LIBBITSUF=   
349 endif
350
351 ifeq ($(ISA), mips3)
352    ARFLAGS:=    -mips3 $(ARFLAGS)
353    CFLAGS+=     -mips3
354    CXXFLAGS+=   -mips3
355    LDOPTS+=     -mips3
356 endif
357 ifeq ($(ISA), mips4)
358    ARFLAGS:=    -mips4 $(ARFLAGS)
359    CFLAGS+=     -mips4
360    CXXFLAGS+=   -mips4
361    LDOPTS+=     -mips4
362 endif
363
364 # Using GCC.
365 else
366
367 ifeq ($(ABI), ELF)
368    ifeq ($(ISA), i386)
369       CFLAGS+=          -m32
370       CXXFLAGS+=        -m32
371       LDOPTS+=          -m32
372    endif
373    ifeq ($(ISA), x86_64)
374       CFLAGS+=          -m64
375       CXXFLAGS+=        -m64
376       LDOPTS+=          -m64
377    endif
378 endif
379 ifeq ($(ABI), Mach-O)
380    ifeq ($(ISA), universal)
381       CFLAGS+=          $(foreach arch,$(UNIVERSAL_ARCH_LIST),-arch $(arch)) \
382                         $(PLATFORM_SDK)
383       CXXFLAGS+=        $(foreach arch,$(UNIVERSAL_ARCH_LIST),-arch $(arch)) \
384                         $(PLATFORM_SDK)
385       LDOPTS+=          $(foreach arch,$(UNIVERSAL_ARCH_LIST),-arch $(arch)) \
386                         $(PLATFORM_SDK)
387    else
388       ifeq ($(ISA), powerpc)
389          CFLAGS+=       -arch ppc $(PLATFORM_SDK)
390          CXXFLAGS+=     -arch ppc $(PLATFORM_SDK)
391          LDOPTS+=       -arch ppc $(PLATFORM_SDK)
392       else
393          CFLAGS+=       -arch $(ISA) $(PLATFORM_SDK)
394          CXXFLAGS+=     -arch $(ISA) $(PLATFORM_SDK)
395          LDOPTS+=       -arch $(ISA) $(PLATFORM_SDK)
396       endif
397    endif
398 endif
399
400 endif
401
402 @SET_MAKE@
Note: See TracBrowser for help on using the browser.