root/juggler/tags/1.0.5/Makefile.base.in

Revision 7539, 11.9 kB (checked in by anonymous, 7 years ago)

This commit was manufactured by cvs2svn to create tag
'RELENG_1_0_5_RELEASE'.

  • 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 #
3 # VR Juggler is (C) Copyright 1998, 1999, 2000 by Iowa State University
4 #
5 # Original Authors:
6 #   Allen Bierbaum, Christopher Just,
7 #   Patrick Hartling, Kevin Meinert,
8 #   Carolina Cruz-Neira, Albert Baker
9 #
10 # This library is free software; you can redistribute it and/or
11 # modify it under the terms of the GNU Library General Public
12 # License as published by the Free Software Foundation; either
13 # version 2 of the License, or (at your option) any later version.
14 #
15 # This library is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18 # Library General Public License for more details.
19 #
20 # You should have received a copy of the GNU Library General Public
21 # License along with this library; if not, write to the
22 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23 # Boston, MA 02111-1307, USA.
24 #
25 # -----------------------------------------------------------------
26 # File:          $RCSfile$
27 # Date modified: $Date$
28 # Version:       $Revision$
29 # -----------------------------------------------------------------
30 #
31 # *************** <auto-copyright.pl END do not edit this line> ***************
32
33 # -----------------------------------------------------------------------------
34 # This file <Makefile.base> provides variable information and targets shared
35 # by all Makefiles in the VR Juggler source tree.  It requires GNU make.
36 #
37 # Generated for use on @PLATFORM@
38 # -----------------------------------------------------------------------------
39 # All Makefiles in the source tree should include this file for maximum
40 # information sharing.
41 #
42 # ** NOTE:                                                                  **
43 # **   Shared targets are defined here, so any files that include this file **
44 # **   should define a default target BEFORE including this file.           **
45 # -----------------------------------------------------------------------------
46 # Variables defined here are:
47 #
48 # bindir          - Path to bin directory containing executables (usually
49 #                   ${exec_prefix}/bin).
50 # datadir         - Path to a directory generally sharing platform-independent
51 #                   data (usually ${prefix}/share).
52 # exec_prefix     - Path to base directory where executables will be (usually
53 #                   ${prefix}).
54 # libdir          - Path to directory containing shared and static libraries
55 #                   (usually ${exec_prefix}/lib).
56 # libexecdir      - Path to libexec directory that generally contains
57 #                   executables not called directly by users (usually
58 #                   ${exec_prefix}/libexec).
59 # mtreedir        - Base directory containing the mtree directory hierarchy
60 #                   specifications.
61 # prefix          - Base path used for installation and other things.
62 # releasedir      - The absolute path to the release directory.
63 # sbindir         - Path to sbin directory containing executables (usually
64 #                   ${exec_prefix}/sbin).
65 # scriptdir       - The path to the directory containing scripts used in the
66 #                   build and install/release process.
67 # sysconfdir      - System configuration directory (usually ${prefix}/etc).
68 # topdir          - The top of the build tree.
69 # VJROOT_ABS      - The absolute path to the root of the VR Juggler source
70 #                   tree.
71 # VJ_SHARE_DIR    - The name of the directory where the VR Juggler data files,
72 #                   test programs, and sample apps are installed.  This is
73 #                   only the name of the directory, not the full path to it.
74 #
75 # AR              - Path to ar(1) (or equivalent program).
76 # ARFLAGS         - Flags for ${AR}.
77 # CC              - Path to C compiler.
78 # CXX             - Path to C++ compiler.
79 # CPP             - Command for invoking the C preprocessor.
80 # CXXCPP          - Command for invoking the C preprocessor used by the C++
81 #                   compiler.
82 # CFLAGS          - Flags for ${CC}.
83 # CPPFLAGS        - Flags for ${CPP} and ${CXXCPP}.
84 # CXXFLAGS        - Flags for ${CXX}.
85 # DEFS            - Command-line preprocessor definitions (-Dvariable=value).
86 # DEP_GEN_FLAG    - Flag passed to the compiler to generate dependencies.
87 # DEPENDFLAGS     - Flags passed to makedepend(1) (or equivalent program for
88 #                   generating dependencies).
89 # DEPEND_EXTRAS   - Flags not recognized by makedepend(1) that may be
90 #                   necessary in ${CFLAGS} or ${CXXFLAGS}.
91 # OWNER_NAME      - The name of the user that will own the files.
92 # GROUP_NAME      - The name of the group that will own the files.
93 # FILE_PERMS      - Normal file permissions.
94 # EXEC_PERMS      - Executable file permissions.
95 # DIR_PERMS       - Directory permissions.
96 # INCLUDES        - Additions to the include path (-I/path/to/include).
97 # LD              - Path to ld(1) (or equivalent program).
98 # LDFLAGS         - Flags for ${LD}.
99 # LDOPTS          - Extra, often platform-specific, options for the linker.
100 # LIBS            - Extra external libraries needed at link time.
101 # LN_S            - Working 'ln -s' command.
102 # MKDEPS_CC       - Compiler for C dependencies
103 # MKDEPS_CXX      - Compiler for CXX dependencies
104 # MKPATH          - Path to shared vj.*.mk file directory.
105 # MTREE_CMD       - Path to a BSD-compatible mtree.
106 # OBJ_FILE_SUFFIX - Suffix for object file names (e.g., "o" or "obj").
107 # OBJ_NAME_FLAG   - Flag passed to the compiler to name an object file.
108 # OBJDIR          - Path to the directory where the object files will be
109 #                   built.
110 # PERL            - Path to Perl 5 binary.
111 # RANLIB          - Path to ranlib(1) binary if it is available.  ':'
112 #                   otherwise.
113 #
114 # C_COMPILE       - Command for compiling C code.
115 # CXX_COMPILE     - Command for compiling C++ code.
116 #
117 # MKDEPS_C_COMPILE    - Command for compiling C dependencies
118 # MKDEPS_CXX_COMPILE  - Command for compiling C++ dependencies
119 #
120 # ABI             - Application Binary Interface type.  This may be used for
121 #                   other binary types when supported by the operating
122 #                   system (e.g., "ELF", "N32" or "64").
123 # LIBBITSUF       - Suffix for the library path used by the linker on IRIX
124 #                   only.  For n32 binaries, it will be 32.  For 64-bit
125 #                   binaries, it will be 64.
126 # PLATFORM        - The operating system abbreviation on which the library is
127 #                   being built.
128 #
129 # VJ_LIBRARY      - The base name of the core Juggler library that will be
130 #                   built with no file extension.
131 # GL_LIBRARY      - The base name of the OpenGL Juggler API library with no
132 #                   file extension.
133 # PF_LIBRARY      - The base name of the Performer Juggler API library with no
134 #                   file extension.
135 # -----------------------------------------------------------------------------
136 # Targets defined here are:
137 #
138 # Suffix rules for .c => .o and .cpp => .o.
139 # clean: Standard directory clean-up target.
140 # -----------------------------------------------------------------------------
141
142 # -----------------------------------------------------------------------------
143 # Base variables needed by all Makefiles.
144 # -----------------------------------------------------------------------------
145 bindir          = @bindir@
146 datadir         = @datadir@
147 exec_prefix     = @exec_prefix@
148 libdir          = @libdir@
149 libexecdir      = @libexecdir@
150 mtreedir        = ${topdir}/release/mtree
151 prefix          = @prefix@
152 releasedir      = @SAFE_VJROOT_ABS@/release
153 sbindir         = @sbindir@
154 scriptdir       = ${releasedir}/scripts
155 sysconfdir      = @sysconfdir@
156 topdir          = @topdir@
157 VJROOT_ABS      = @SAFE_VJROOT_ABS@
158 VJ_SHARE_DIR    = @VJ_SHARE_DIR@
159
160 AR              = @AR@ ${EXTRA_ARFLAGS} ${ARFLAGS}
161 ARFLAGS         = @ARFLAGS@
162 AR_NAME_FLAG    = @AR_NAME_FLAG@
163 CC              = @CC@
164 CXX             = @CXX@
165 CPP             = @CPP@
166 CXXCPP          = @CXXCPP@
167 CFLAGS          = @CFLAGS@ ${OPTIMIZER} ${CFLAGS_DYNLIB}
168 CFLAGS_DYNLIB   = @CFLAGS_DYNLIB@
169 CPPFLAGS        = @CPPFLAGS@
170 CXXFLAGS        = @CXXFLAGS@ ${OPTIMIZER} ${CXXFLAGS_DYNLIB}
171 CXXFLAGS_DYNLIB = @CXXFLAGS_DYNLIB@
172 DEFS            = @DEFS@ -DVJ_SHARE_DIR="\"${VJ_SHARE_DIR}\""
173 DEP_GEN_FLAG    = @DEP_GEN_FLAG@
174 DEPENDFLAGS     = @DEPENDFLAGS@ @INCLUDES@ -I${VJROOT_ABS} -I${topdir}
175 DEPEND_EXTRAS   = @DEPEND_EXTRAS@ ${DEFS}
176 INCLUDES        = @INCLUDES@ -I${VJROOT} -I${topdir}
177 INSTALL         = @INSTALL@
178 LD              = @LD@ ${EXTRA_LDFLAGS}
179 LDFLAGS         = @LDFLAGS@ -L/usr/lib${LIBBITSUF} -L/usr/lib
180 LDOPTS          = @LDOPTS@ ${EXTRA_LDOPTS}
181 LDOPTS_DBG      = @LDOPTS_DBG@
182 LDOPTS_OPT      = @LDOPTS_OPT@
183 LIBS            = @LIBS@
184 LN_S            = @LN_S@
185 MAKEFLAGS       += --no-print-directory
186 MKDEPS_CC   = @CC@
187 MKDEPS_CXX  = @CXX@
188 MKPATH          = ${VJROOT_ABS}/mk
189 MTREE_CMD       = @MTREE_CMD@
190 OBJ_FILE_SUFFIX = @OBJ_FILE_SUFFIX@
191 OBJ_NAME_FLAG   = @OBJ_NAME_FLAG@
192 PERL            = @PERL@
193 RANLIB          = @RANLIB@
194
195 # Installation information (permissions, ownership).
196 OWNER_NAME      = @OWNER_NAME@
197 GROUP_NAME      = @GROUP_NAME@
198 FILE_PERMS      = @FILE_PERMS@
199 EXEC_PERMS      = @EXEC_PERMS@
200 DIR_PERMS       = @DIR_PERMS@
201
202 # Allow overriding the default value of ${OBJDIR} by setting ${BASE_OBJDIR}
203 # (probably using an externally defined value).
204 ifdef BASE_OBJDIR
205     OBJDIR      := ${BASE_OBJDIR}
206 else
207     OBJDIR      = .
208 endif
209
210 # -----------------------------------------------------------------------------
211 # Compiler command lines.
212 # -----------------------------------------------------------------------------
213 C_COMPILE       = ${CC} ${DEFS} ${INCLUDES} ${CPPFLAGS} ${CFLAGS}
214 CXX_COMPILE     = ${CXX} ${DEFS} ${INCLUDES} ${CPPFLAGS} ${CXXFLAGS}
215
216 # -----------------------------------------------------------------------------
217 # Makedepend commands
218 # -----------------------------------------------------------------------------
219 MKDEPS_C_COMPILE = ${MKDEPS_CC} ${DEFS} ${INCLUDES} ${CPPFLAGS} ${CFLAGS}
220 MKDEPS_CXX_COMPILE = ${MKDEPS_CXX} ${DEFS} ${INCLUDES} ${CPPFLAGS} ${CXXFLAGS}
221
222 # -----------------------------------------------------------------------------
223 # Platform- and binary-specific options.  The assignments preceding the
224 # ifeq ... endif blocks are the default values.  Depending on the value of
225 # ${ABI}, further settings may be made to allow for building with multiple
226 # ABIs.
227 # -----------------------------------------------------------------------------
228 ifdef vjABI
229     ifeq (${vjABI}, N32_M3)
230         ABI     = N32
231         ISA     = mips3
232     endif
233     ifeq (${vjABI}, N32_M4)
234         ABI     = N32
235         ISA     = mips4
236     endif
237     ifeq (${vjABI}, 64_M3)
238         ABI     = 64
239         ISA     = mips3
240     endif
241     ifeq (${vjABI}, 64_M4)
242         ABI     = 64
243         ISA     = mips4
244     endif
245     ifeq (${vjABI}, ELF_i386)
246         ABI     = ELF
247         ISA     = i386
248     endif
249     ifeq (${vjABI}, HP)
250         ABI     = HP
251         ISA     = PA-RISC
252     endif
253     ifeq (${vjABI}, HP64)
254         ABI     = HP64
255         ISA     = PA-RISC
256     endif
257 else
258     ABI         = @ABI@
259     ISA         = @ISA@
260     LIBBITSUF   = @LIBBITSUF@
261 endif
262
263 PLATFORM        = @PLATFORM@
264
265 ifeq (${ABI}, N32)
266     ARFLAGS     := -n32 ${ARFLAGS}
267     CFLAGS      += -n32
268     CXXFLAGS    += -n32
269     LDOPTS      += -n32
270     LIBBITSUF   = 32
271 endif
272 ifeq (${ABI}, 64)
273     ARFLAGS     := -64 ${ARFLAGS}
274     CFLAGS      += -64
275     CXXFLAGS    += -64
276     LDOPTS      += -64
277     LIBBITSUF   = 64
278 endif
279 ifeq (${ABI}, HP64)
280     CFLAGS      += +DD64
281     CXXFLAGS    += +DD64
282     LDOPTS      += +DD64
283     LIBBITSUF   = /pa20_64
284 endif
285 ifeq (${ABI}, ELF)
286     LIBBITSUF   =
287 endif
288
289 ifeq (${ISA}, mips3)
290     ARFLAGS     := -mips3 ${ARFLAGS}
291     CFLAGS      += -mips3
292     CXXFLAGS    += -mips3
293     LDOPTS      += -mips3
294 endif
295 ifeq (${ISA}, mips4)
296     ARFLAGS     := -mips4 ${ARFLAGS}
297     CFLAGS      += -mips4
298     CXXFLAGS    += -mips4
299     LDOPTS      += -mips4
300 endif
301
302 # -----------------------------------------------------------------------------
303 # Library names.
304 # -----------------------------------------------------------------------------
305 VJ_LIBRARY      = @LIB_PREFIX@Juggler
306 UTILS_LIBRARY   = @LIB_PREFIX@Juggler_utils
307 GL_LIBRARY      = @LIB_PREFIX@Juggler_ogl
308 PF_LIBRARY      = @LIB_PREFIX@Juggler_pf
309 AW_LIBRARY      = @LIB_PREFIX@Juggler_aw
310 SL_LIBRARY      = @LIB_PREFIX@Juggler_sl
311
312 @SET_MAKE@
313
314 # -----------------------------------------------------------------------------
315 # Include a common 'clean' target.
316 # -----------------------------------------------------------------------------
317 include ${MKPATH}/vj.clean.mk
Note: See TracBrowser for help on using the browser.