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