| 1 |
# ************** <auto-copyright.pl BEGIN do not edit this line> ************** |
|---|
| 2 |
# |
|---|
| 3 |
# VR Juggler is (C) Copyright 1998-2007 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 |
# *************** <auto-copyright.pl END do not edit this line> *************** |
|---|
| 26 |
|
|---|
| 27 |
# ----------------------------------------------------------------------------- |
|---|
| 28 |
# Base Makefile.in for VR Juggler. It requires GNU make. |
|---|
| 29 |
# |
|---|
| 30 |
# Generated for use on @PLATFORM@ |
|---|
| 31 |
# ----------------------------------------------------------------------------- |
|---|
| 32 |
# __DZR_INFO_BEGIN__ |
|---|
| 33 |
# |
|---|
| 34 |
# Targets are: |
|---|
| 35 |
# |
|---|
| 36 |
# T<world> Build and install everything. |
|---|
| 37 |
# T<world-all-abi> Build and install everything using all supported ABIs. |
|---|
| 38 |
# T<buildworld> Build everything (same as 'all'). |
|---|
| 39 |
# T<installworld> Install everything (same as 'install-all'). This |
|---|
| 40 |
# requires that 'buildworld' be successfully completed |
|---|
| 41 |
# beforehand. |
|---|
| 42 |
# T<release> Build and install a release version. |
|---|
| 43 |
# |
|---|
| 44 |
# T<all> Build everything. |
|---|
| 45 |
# T<all-abi> Build everything using all supported ABIs. |
|---|
| 46 |
# T<debug> Build the VR Juggler libraries (dynamic and static) with |
|---|
| 47 |
# debugging symbols turned on. |
|---|
| 48 |
# T<dbg> Build the debugging, static copy of the libraries. |
|---|
| 49 |
# T<dbg-dso> Build the debugging, dynamic shared object version of |
|---|
| 50 |
# the libraries. |
|---|
| 51 |
# T<optim> Build the VR Juggler libraries (dynamic and static) with |
|---|
| 52 |
# optimization flags enabled. |
|---|
| 53 |
# T<opt> Build the optimized, static version of the libraries. |
|---|
| 54 |
# T<opt-dso> Build the dynamic shared object version of the |
|---|
| 55 |
# libraries. |
|---|
| 56 |
# T<profiled> Build the VR Juggler libraries (dynamic and static) with |
|---|
| 57 |
# profiling flags enabled. |
|---|
| 58 |
# T<prof> Build the profiled, static version of the libraries. |
|---|
| 59 |
# T<prof-dso> Build the profiled, dynamic shared object version of the |
|---|
| 60 |
# libraries. |
|---|
| 61 |
# T<obj> Build the object files using the default value for |
|---|
| 62 |
# $(OBJDIR). |
|---|
| 63 |
# |
|---|
| 64 |
# T<links> Define links (for developer use only) that provide |
|---|
| 65 |
# functionality allowing the use of the $VJ_BASE_DIR |
|---|
| 66 |
# environment variable. |
|---|
| 67 |
# T<clean-links> Remove the symlinks created by 'links'. |
|---|
| 68 |
# |
|---|
| 69 |
# T<hier> Make the full directory hierarchy for the installation. |
|---|
| 70 |
# T<install-all> Install all versions of the libraries, all header files, |
|---|
| 71 |
# the data directory, and the test code. |
|---|
| 72 |
# T<install-all-abi> Install every ABI possible on the target platform. |
|---|
| 73 |
# T<install> Install the full debugging version of VR Juggler (with |
|---|
| 74 |
# both static and dynamic libraries). |
|---|
| 75 |
# T<install-debug> Same as 'install'. |
|---|
| 76 |
# T<install-dbg> Install the debugging, static version of the libraries. |
|---|
| 77 |
# T<install-dbg-dso> Install the debugging, dynamic shared object version of |
|---|
| 78 |
# the libraries. |
|---|
| 79 |
# T<install-optim> Install the full optimized version of VR Juggler (with |
|---|
| 80 |
# both static and dynamic libraries). |
|---|
| 81 |
# T<install-opt> Install the optimized, static version of the libraries. |
|---|
| 82 |
# T<install-opt-dso> Install the dynamic shared object version of the |
|---|
| 83 |
# libraries. |
|---|
| 84 |
# T<install-headers> Install only the header files. |
|---|
| 85 |
# T<install-samples> Install only the sample applications. |
|---|
| 86 |
# T<install-test> Install only the test code. |
|---|
| 87 |
# T<install-tools> Install only the user tools code. |
|---|
| 88 |
# T<install-data> Install only the data directory. |
|---|
| 89 |
# |
|---|
| 90 |
# T<docs> Build the internal and the public documentation. |
|---|
| 91 |
# T<doc-internal> Build only the internal documentation. |
|---|
| 92 |
# T<doc-public> Build only the public documentation. |
|---|
| 93 |
# |
|---|
| 94 |
# T<clean> Clean up everything (uses common 'clean' target). |
|---|
| 95 |
# T<cleandepend> Clean up the dependency files (uses common 'cleandepend' |
|---|
| 96 |
# target). |
|---|
| 97 |
# T<clobber> Clean up everything and remove the directories |
|---|
| 98 |
# containing the compiled libraries and its object files. |
|---|
| 99 |
# |
|---|
| 100 |
# T<info> Print out information about the build process that may |
|---|
| 101 |
# be useful to the user. |
|---|
| 102 |
# |
|---|
| 103 |
# __DZR_INFO_END__ |
|---|
| 104 |
# |
|---|
| 105 |
# The default target is 'debug'. 'install' will install the debugging, static |
|---|
| 106 |
# version of the libraries. |
|---|
| 107 |
# ----------------------------------------------------------------------------- |
|---|
| 108 |
|
|---|
| 109 |
default: debug |
|---|
| 110 |
|
|---|
| 111 |
# This is a hack to deal with GNU make's ignorance about defined targets. |
|---|
| 112 |
# Without this, the 'default' set in dpp.subdir.mk becomes the default |
|---|
| 113 |
# target, and that's not what we want. |
|---|
| 114 |
DEFAULT_SET= 1 |
|---|
| 115 |
|
|---|
| 116 |
SRC_MKFILES= Makefile |
|---|
| 117 |
|
|---|
| 118 |
# Include common definitions. |
|---|
| 119 |
include @topdir@/make.defs.mk |
|---|
| 120 |
|
|---|
| 121 |
STARTTIME:= $(shell LC_TIME=C date) |
|---|
| 122 |
|
|---|
| 123 |
BUILD_PROF_C= @BUILD_PROF_C@ |
|---|
| 124 |
BUILD_PROF_CXX= @BUILD_PROF_CXX@ |
|---|
| 125 |
|
|---|
| 126 |
# If we can build both C and C++ profiled objects, we will build profiled |
|---|
| 127 |
# libraries. |
|---|
| 128 |
#ifeq ($(BUILD_PROF_C), Y) |
|---|
| 129 |
#ifeq ($(BUILD_PROF_CXX), Y) |
|---|
| 130 |
# BUILD_PROF_LIBS= 1 |
|---|
| 131 |
#endif |
|---|
| 132 |
#endif |
|---|
| 133 |
|
|---|
| 134 |
# ============================================================================= |
|---|
| 135 |
# Lists used for various types of recursion. |
|---|
| 136 |
# ============================================================================= |
|---|
| 137 |
|
|---|
| 138 |
# Subdirectories used for recursion through the source tree. |
|---|
| 139 |
SUBDIR= vrj |
|---|
| 140 |
|
|---|
| 141 |
# ============================================================================= |
|---|
| 142 |
# Library targets. The default is 'debug' as defined above. The steps for |
|---|
| 143 |
# building the 'dbg', 'dbg-dso', 'opt' and 'opt-dso' are as follows: |
|---|
| 144 |
# |
|---|
| 145 |
# 1) Build dependencies (if necessary). |
|---|
| 146 |
# 2) Compile all object files that are out of date. |
|---|
| 147 |
# 3) Compile the actual libraries from the object files. |
|---|
| 148 |
# 4) Set up the developer installation links. |
|---|
| 149 |
# ============================================================================= |
|---|
| 150 |
|
|---|
| 151 |
# ------------------------------------------------ |
|---|
| 152 |
# Build and install everything (i.e., the world). |
|---|
| 153 |
# ------------------------------------------------ |
|---|
| 154 |
world: |
|---|
| 155 |
@echo "===============================================================" |
|---|
| 156 |
@echo ">>> VR Juggler make world started $(STARTTIME)" |
|---|
| 157 |
@echo "===============================================================" |
|---|
| 158 |
ifndef NO_CLEAN |
|---|
| 159 |
@$(MAKE) clobber |
|---|
| 160 |
endif |
|---|
| 161 |
@$(MAKE) $(BEFOREBUILD) |
|---|
| 162 |
@$(MAKE) libs |
|---|
| 163 |
@$(MAKE) BUILD_TYPE=all $(AFTERBUILD) |
|---|
| 164 |
@echo "---------------------------------------------------------------" |
|---|
| 165 |
@echo "Beginning VR Juggler installation process" |
|---|
| 166 |
@echo "---------------------------------------------------------------" |
|---|
| 167 |
@$(MAKE) beforeinstall |
|---|
| 168 |
@$(MAKE) install-libs |
|---|
| 169 |
@$(MAKE) do-post-install |
|---|
| 170 |
@echo "===============================================================" |
|---|
| 171 |
@echo ">>> VR Juggler make world started $(STARTTIME)" |
|---|
| 172 |
@echo ">>> VR Juggler make world completed `LTIME=C date`" |
|---|
| 173 |
@echo "===============================================================" |
|---|
| 174 |
|
|---|
| 175 |
# ------------------------------------------------------------------------ |
|---|
| 176 |
# Build and install everything (i.e., the world) using all possible ABIs. |
|---|
| 177 |
# ------------------------------------------------------------------------ |
|---|
| 178 |
world-all-abi: |
|---|
| 179 |
@echo "===============================================================" |
|---|
| 180 |
@echo ">>> VR Juggler make world started on $(STARTTIME)" |
|---|
| 181 |
@echo "===============================================================" |
|---|
| 182 |
ifndef NO_CLEAN |
|---|
| 183 |
@$(MAKE) clobber |
|---|
| 184 |
endif |
|---|
| 185 |
@$(MAKE) $(BEFOREBUILD) |
|---|
| 186 |
@for abi in $(ABI_LIST) ; do \ |
|---|
| 187 |
echo "------------------------------------------------" ; \ |
|---|
| 188 |
echo "Building libraries using $$abi" ; \ |
|---|
| 189 |
echo "------------------------------------------------" ; \ |
|---|
| 190 |
$(MAKE) vjABI=$$abi libs ; \ |
|---|
| 191 |
done |
|---|
| 192 |
@$(MAKE) BUILD_TYPE=all $(AFTERBUILD) |
|---|
| 193 |
@echo "---------------------------------------------------------------" |
|---|
| 194 |
@echo "Beginning VR Juggler installation process" |
|---|
| 195 |
@echo "---------------------------------------------------------------" |
|---|
| 196 |
@$(MAKE) beforeinstall |
|---|
| 197 |
@for abi in $(ABI_LIST) ; do \ |
|---|
| 198 |
echo "------------------------------------------------" ; \ |
|---|
| 199 |
echo "Installing $$abi version of libraries" ; \ |
|---|
| 200 |
echo "------------------------------------------------" ; \ |
|---|
| 201 |
$(MAKE) vjABI=$$abi install-libs ; \ |
|---|
| 202 |
done |
|---|
| 203 |
@$(MAKE) do-post-install |
|---|
| 204 |
@echo "===============================================================" |
|---|
| 205 |
@echo ">>> VR Juggler make world started on $(STARTTIME)" |
|---|
| 206 |
@echo ">>> VR Juggler make world completed on `LTIME=C date`" |
|---|
| 207 |
@echo "===============================================================" |
|---|
| 208 |
|
|---|
| 209 |
# ----------------------------------------------------------------------------- |
|---|
| 210 |
# A release is a superset of 'world' except that no profiled libraries are |
|---|
| 211 |
# built. Beyond this, the change log, release notes, etc. are installed. |
|---|
| 212 |
# A special case is required for releases made in the "global" build. Namely, |
|---|
| 213 |
# the developer installation ("instlinks") must be created so that subsequent |
|---|
| 214 |
# targets can find headers properly. |
|---|
| 215 |
# ----------------------------------------------------------------------------- |
|---|
| 216 |
release: |
|---|
| 217 |
@echo "===============================================================" |
|---|
| 218 |
@echo ">>> VR Juggler make release started on $(STARTTIME)" |
|---|
| 219 |
@echo "===============================================================" |
|---|
| 220 |
ifndef NO_CLEAN |
|---|
| 221 |
@$(MAKE) clobber |
|---|
| 222 |
endif |
|---|
| 223 |
@$(MAKE) $(BEFOREBUILD) |
|---|
| 224 |
@$(MAKE) BUILD_PROF_C=N BUILD_PROF_CXX=N libs |
|---|
| 225 |
@$(MAKE) BUILD_TYPE=opt $(AFTERBUILD) |
|---|
| 226 |
@echo "---------------------------------------------------------------" |
|---|
| 227 |
@echo "Beginning VR Juggler release installation process" |
|---|
| 228 |
@echo "---------------------------------------------------------------" |
|---|
| 229 |
@$(MAKE) beforeinstall |
|---|
| 230 |
@$(MAKE) BUILD_PROF_C=N BUILD_PROF_CXX=N install-libs |
|---|
| 231 |
@$(MAKE) BUILD_PROF_C=N BUILD_PROF_CXX=N do-post-install |
|---|
| 232 |
$(INSTALL) -m $(FILE_PERMS) $(GROUP_OPT_UNIX) \ |
|---|
| 233 |
$(EXTRA_INSTALL_ARGS) $(VJROOT_ABS)/ChangeLog $(projdatadir) |
|---|
| 234 |
$(INSTALL) -m $(FILE_PERMS) $(GROUP_OPT_UNIX) \ |
|---|
| 235 |
$(EXTRA_INSTALL_ARGS) $(JUGGLERROOT_ABS)/COPYING.txt $(projdatadir) |
|---|
| 236 |
$(INSTALL) -m $(FILE_PERMS) $(GROUP_OPT_UNIX) \ |
|---|
| 237 |
$(EXTRA_INSTALL_ARGS) $(VJROOT_ABS)/INSTALL.txt $(projdatadir) |
|---|
| 238 |
$(INSTALL) -m $(FILE_PERMS) $(GROUP_OPT_UNIX) \ |
|---|
| 239 |
$(EXTRA_INSTALL_ARGS) $(VJROOT_ABS)/README.txt $(projdatadir) |
|---|
| 240 |
$(INSTALL) -m $(FILE_PERMS) $(GROUP_OPT_UNIX) \ |
|---|
| 241 |
$(EXTRA_INSTALL_ARGS) $(VJROOT_ABS)/RELEASE_NOTES.txt $(projdatadir) |
|---|
| 242 |
@echo "Build time: `LTIME=C date`" > $(projdatadir)/BUILD_TIME |
|---|
| 243 |
@echo "===============================================================" |
|---|
| 244 |
@echo ">>> VR Juggler make release started on $(STARTTIME)" |
|---|
| 245 |
@echo ">>> VR Juggler make release completed on `LTIME=C date`" |
|---|
| 246 |
@echo "===============================================================" |
|---|
| 247 |
|
|---|
| 248 |
# ------------------------------------- |
|---|
| 249 |
# Build all versions of the libraries. |
|---|
| 250 |
# ------------------------------------- |
|---|
| 251 |
buildworld: all |
|---|
| 252 |
|
|---|
| 253 |
# ------------------------------------------------------------------------ |
|---|
| 254 |
# Do a full installation all versions of the libraries and the associated |
|---|
| 255 |
# files. |
|---|
| 256 |
# ------------------------------------------------------------------------ |
|---|
| 257 |
installworld: install-all |
|---|
| 258 |
|
|---|
| 259 |
include $(MKPATH)/dpp.info.mk |
|---|
| 260 |
include $(MKPATH)/dpp.subdir.mk |
|---|
| 261 |
include Makefile.inc |
|---|