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

Revision 8789, 11.9 kB (checked in by patrickh, 7 years ago)

Copyright update.

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