| 1 |
# ----------------------------------------------------------------------------- |
|---|
| 2 |
# $Id$ |
|---|
| 3 |
# |
|---|
| 4 |
# Base Makefile.in for VR Juggler. It requires GNU make. |
|---|
| 5 |
# ----------------------------------------------------------------------------- |
|---|
| 6 |
# Targets are: |
|---|
| 7 |
# |
|---|
| 8 |
# all - Build everything. |
|---|
| 9 |
# all-abi - Build everything using all supported ABIs. |
|---|
| 10 |
# dbg - Build a debugging, static copy of the library. |
|---|
| 11 |
# ddso - Build a debugging, dynamic shared object version of the |
|---|
| 12 |
# library. |
|---|
| 13 |
# opt - Build an optimized, static copy of the library. |
|---|
| 14 |
# dso - Build a dynamic shared object version of the library. |
|---|
| 15 |
# obj - Build the object files using the default value for |
|---|
| 16 |
# ${OBJDIR}. |
|---|
| 17 |
# gui - Build the Java-based configuration GUI. |
|---|
| 18 |
# |
|---|
| 19 |
# links - Define links (for developer use only) that provide |
|---|
| 20 |
# functionality allowing the use of the $VJ_BASE_DIR |
|---|
| 21 |
# environment variable. |
|---|
| 22 |
# clean-links - Remove the symlinks created by 'links'. |
|---|
| 23 |
# |
|---|
| 24 |
# lib-static - Build the static version of the library. This target |
|---|
| 25 |
# depends on a correct value for ${LIBDIR} (that does not |
|---|
| 26 |
# have a default value). |
|---|
| 27 |
# lib-dynamic - Build the dynamic shared version of the library. This |
|---|
| 28 |
# target depends on a correct value for ${LIBDIR} (that does |
|---|
| 29 |
# not have a default value). |
|---|
| 30 |
# |
|---|
| 31 |
# install-all - Install all versions of the library, all header files, |
|---|
| 32 |
# the Data directory, the configuration GUI and the test |
|---|
| 33 |
# code. |
|---|
| 34 |
# install-all-abi - Install every ABI possible on the target platform. |
|---|
| 35 |
# install - Install the library, all header files, the Data |
|---|
| 36 |
# directory, the configuration GUI and the test code. |
|---|
| 37 |
# install-dbg - Install the debugging, static version of the library. |
|---|
| 38 |
# install-ddso - Install the debugging, dynamic shared object version of |
|---|
| 39 |
# the library. |
|---|
| 40 |
# install-opt - Install the optimized, static version of the library. |
|---|
| 41 |
# install-dso - Install the dynamic shared object version of the library. |
|---|
| 42 |
# install-headers - Install only the header files. |
|---|
| 43 |
# install-test - Install only the test code. |
|---|
| 44 |
# install-data - Install only the Data directory. |
|---|
| 45 |
# install-gui - Install only the configuration GUI. |
|---|
| 46 |
# |
|---|
| 47 |
# depend - Recursively build the dependencies for the source files. |
|---|
| 48 |
# newdepend - Recursively (and forcibly) rebuild the dependencies for |
|---|
| 49 |
# the source files. |
|---|
| 50 |
# |
|---|
| 51 |
# clean - Clean up everything (uses common 'clean' target). |
|---|
| 52 |
# clobber - Clean up everything and remove the directory containing |
|---|
| 53 |
# the compiled library. |
|---|
| 54 |
# |
|---|
| 55 |
# info - Print out information about the build process that may be |
|---|
| 56 |
# useful to the user. |
|---|
| 57 |
# |
|---|
| 58 |
# The default target is 'dbg'. 'install' will install the debugging, static |
|---|
| 59 |
# version of the library. |
|---|
| 60 |
# ----------------------------------------------------------------------------- |
|---|
| 61 |
|
|---|
| 62 |
default: dbg |
|---|
| 63 |
|
|---|
| 64 |
# Include common definitions. |
|---|
| 65 |
include @topdir@/Makefile.base |
|---|
| 66 |
|
|---|
| 67 |
# Variables whose values are specific to this file. |
|---|
| 68 |
includedir = @includedir@ |
|---|
| 69 |
instlinks = ${topdir}/instlinks |
|---|
| 70 |
srcdir = @srcdir@ |
|---|
| 71 |
top_srcdir = @top_srcdir@ |
|---|
| 72 |
VJROOT = ${top_srcdir} |
|---|
| 73 |
VJ_SRCDIR = @VJ_SRCDIR@ |
|---|
| 74 |
WORKDIR = ${topdir} |
|---|
| 75 |
|
|---|
| 76 |
# Define ${_LOCAL_CLEAN} to inform the shared clean target that there is a |
|---|
| 77 |
# '_clean' target to be run besides the standard 'clean' target. |
|---|
| 78 |
_LOCAL_CLEAN = 1 |
|---|
| 79 |
|
|---|
| 80 |
# Include recursive target code. |
|---|
| 81 |
include ${MKPATH}/vj.rec.mk |
|---|
| 82 |
|
|---|
| 83 |
# Extra compiler and linker options needed only by this file. |
|---|
| 84 |
OPT_FLAGS = -O @OPT_FLAGS@ |
|---|
| 85 |
|
|---|
| 86 |
# SGI-specific dynamic-shared-object information. |
|---|
| 87 |
DSOREGFILE = @DSOREGFILE@ |
|---|
| 88 |
DSOVERSION = @DSOVERSION@ |
|---|
| 89 |
DSOVERSIONOPTS = @DSOVERSIONOPTS@ |
|---|
| 90 |
|
|---|
| 91 |
# ----------------------------------------------------------------------------- |
|---|
| 92 |
# Build and installation directory naming information. |
|---|
| 93 |
# ----------------------------------------------------------------------------- |
|---|
| 94 |
_DEBUG_DIR = debug |
|---|
| 95 |
_OPT_DIR = opt |
|---|
| 96 |
_DEFAULT_DIR = ${_DEBUG_DIR} |
|---|
| 97 |
|
|---|
| 98 |
# ------------------------------------------------ |
|---|
| 99 |
# Object file build and installation directories. |
|---|
| 100 |
# ------------------------------------------------ |
|---|
| 101 |
_BUILDDIR_BASE = ${topdir}/obj |
|---|
| 102 |
_BUILDDIR = ${_BUILDDIR_BASE}/${PLATFORM}/${ABI}/${INST_SET} |
|---|
| 103 |
_DBG_BUILDDIR = ${_BUILDDIR}/${_DEBUG_DIR} |
|---|
| 104 |
_OPT_BUILDDIR = ${_BUILDDIR}/${_OPT_DIR} |
|---|
| 105 |
|
|---|
| 106 |
# -------------------------------------------- |
|---|
| 107 |
# Library build and installation directories. |
|---|
| 108 |
# -------------------------------------------- |
|---|
| 109 |
|
|---|
| 110 |
# ${_install_libdir} is the base directory (minus any debugging or optimized |
|---|
| 111 |
# subdirectories) where the library will be installed. |
|---|
| 112 |
_install_libdir = ${libdir}${LIBBITSUF}/${INST_SET} |
|---|
| 113 |
|
|---|
| 114 |
# ${_LIBDIR_NAME} is the name of the library directory including an ABI suffix |
|---|
| 115 |
# if applicable. |
|---|
| 116 |
_LIBDIR_NAME = lib${LIBBITSUF} |
|---|
| 117 |
|
|---|
| 118 |
# ${_LIBDIR_BASE} is the base directory where the library will be built. |
|---|
| 119 |
_LIBDIR_BASE = ${topdir}/${_LIBDIR_NAME} |
|---|
| 120 |
|
|---|
| 121 |
# ${_LIBDIR} is the first-level subdirectory of ${_LIBDIR_BASE} that is |
|---|
| 122 |
# named by the instruction set being used (${INST_SET}). |
|---|
| 123 |
_LIBDIR = ${_LIBDIR_BASE}/${INST_SET} |
|---|
| 124 |
|
|---|
| 125 |
# ${_DBG_LIBDIR} and ${_OPT_LIBDIR} are the directories where the library |
|---|
| 126 |
# is actually built. The first is for a debugging copy of the library and |
|---|
| 127 |
# the second is for an optimized version of the library. |
|---|
| 128 |
_DBG_LIBDIR = ${_LIBDIR}/${_DEBUG_DIR} |
|---|
| 129 |
_OPT_LIBDIR = ${_LIBDIR}/${_OPT_DIR} |
|---|
| 130 |
|
|---|
| 131 |
# Full name of the static and dynamic versions of the library. |
|---|
| 132 |
LIB_STATIC = ${LIBRARY}.a |
|---|
| 133 |
LIB_DYNAMIC = ${LIBRARY}.@SHAREDLIB_EXT@ |
|---|
| 134 |
|
|---|
| 135 |
# ----------------------------------------------------------------------------- |
|---|
| 136 |
# Lists used for various types of recursion. |
|---|
| 137 |
# ----------------------------------------------------------------------------- |
|---|
| 138 |
|
|---|
| 139 |
# Subdirectories used for recursion through the source tree. |
|---|
| 140 |
SUBDIRS = Math Config Kernel Input SharedMem Sync Threads |
|---|
| 141 |
|
|---|
| 142 |
# Subdirectories used for recursion through the test source tree when |
|---|
| 143 |
# installing. |
|---|
| 144 |
TEST_SUBDIRS = . CfgTest Quat input ogl ogl/cubes ogl/wand pfNav threads |
|---|
| 145 |
|
|---|
| 146 |
# The list of ABIs supported on this platform. |
|---|
| 147 |
ABI_LIST = @ABI_LIST@ |
|---|
| 148 |
|
|---|
| 149 |
# ----------------------------------------------------------------------------- |
|---|
| 150 |
# Library targets. |
|---|
| 151 |
# ----------------------------------------------------------------------------- |
|---|
| 152 |
all: opt dso dbg ddso |
|---|
| 153 |
@echo "------------------------------------------------" |
|---|
| 154 |
@echo "Creating symlinks in ${_LIBDIR}" |
|---|
| 155 |
@echo "------------------------------------------------" |
|---|
| 156 |
cd ${_LIBDIR} && \ |
|---|
| 157 |
rm -f ${LIB_STATIC} && ln -s ${_DEFAULT_DIR}/${LIB_STATIC} ./ |
|---|
| 158 |
cd ${_LIBDIR} && \ |
|---|
| 159 |
rm -f ${LIB_DYNAMIC} && ln -s ${_DEFAULT_DIR}/${LIB_DYNAMIC} ./ |
|---|
| 160 |
@echo "------------------------------------------------" |
|---|
| 161 |
@echo "Library build complete" |
|---|
| 162 |
@echo "------------------------------------------------" |
|---|
| 163 |
|
|---|
| 164 |
all-abi: |
|---|
| 165 |
@abi_list='${ABI_LIST}' ; \ |
|---|
| 166 |
for abi in $$abi_list ; do \ |
|---|
| 167 |
echo "------------------------------------------------" ; \ |
|---|
| 168 |
echo "Building ${LIBRARY} using $$abi" ; \ |
|---|
| 169 |
echo "------------------------------------------------" ; \ |
|---|
| 170 |
echo "${MAKE} vjABI=$$abi all" ; \ |
|---|
| 171 |
${MAKE} vjABI=$$abi all ; \ |
|---|
| 172 |
done |
|---|
| 173 |
|
|---|
| 174 |
# Make a debugging version of the library. |
|---|
| 175 |
dbg: _build_dbg gui |
|---|
| 176 |
${MAKE} OBJDIR="${_DBG_BUILDDIR}" LIBDIR="${_DBG_LIBDIR}" lib-static |
|---|
| 177 |
${MAKE} OBJDIR="${_DBG_BUILDDIR}" LIBDIR="${_DBG_LIBDIR}" links |
|---|
| 178 |
|
|---|
| 179 |
# Make a debugging version of the library that uses DSOs. |
|---|
| 180 |
ddso: _build_dbg gui |
|---|
| 181 |
${MAKE} OBJDIR="${_DBG_BUILDDIR}" LIBDIR="${_DBG_LIBDIR}" lib-dynamic |
|---|
| 182 |
${MAKE} OBJDIR="${_DBG_BUILDDIR}" LIBDIR="${_DBG_LIBDIR}" links |
|---|
| 183 |
|
|---|
| 184 |
# Make an optimized version of the library. |
|---|
| 185 |
opt: _build_opt gui |
|---|
| 186 |
${MAKE} OBJDIR="${_OPT_BUILDDIR}" LIBDIR="${_OPT_LIBDIR}" lib-static |
|---|
| 187 |
${MAKE} OBJDIR="${_OPT_BUILDDIR}" LIBDIR="${_OPT_LIBDIR}" links |
|---|
| 188 |
|
|---|
| 189 |
# Make an optimized version of the library that uses DSOs. |
|---|
| 190 |
dso: _build_opt gui |
|---|
| 191 |
${MAKE} OBJDIR="${_OPT_BUILDDIR}" LIBDIR="${_OPT_LIBDIR}" lib-dynamic |
|---|
| 192 |
${MAKE} OBJDIR="${_OPT_BUILDDIR}" LIBDIR="${_OPT_LIBDIR}" links |
|---|
| 193 |
|
|---|
| 194 |
# Build the object files with the debugging flags enabled. |
|---|
| 195 |
_build_dbg: |
|---|
| 196 |
@echo "------------------------------------------------" |
|---|
| 197 |
@echo "Making DBG version of ${LIBRARY}" |
|---|
| 198 |
@echo "------------------------------------------------" |
|---|
| 199 |
${scriptdir}/mkinstalldirs ${_DBG_BUILDDIR} |
|---|
| 200 |
${MAKE} depend |
|---|
| 201 |
@echo "------------------------------------------------" |
|---|
| 202 |
@echo "Building object files" |
|---|
| 203 |
@echo "------------------------------------------------" |
|---|
| 204 |
${MAKE} RECTARGET="dbg" OPTIMIZER="-g" \ |
|---|
| 205 |
OBJDIR="${_DBG_BUILDDIR}" recursive |
|---|
| 206 |
|
|---|
| 207 |
# Build the object files with the optimization flags enabled. |
|---|
| 208 |
_build_opt: |
|---|
| 209 |
@echo "------------------------------------------------" |
|---|
| 210 |
@echo "Making OPT version of ${LIBRARY}" |
|---|
| 211 |
@echo "------------------------------------------------" |
|---|
| 212 |
${scriptdir}/mkinstalldirs ${_OPT_BUILDDIR} |
|---|
| 213 |
${MAKE} depend |
|---|
| 214 |
@echo "------------------------------------------------" |
|---|
| 215 |
@echo "Building object files" |
|---|
| 216 |
@echo "------------------------------------------------" |
|---|
| 217 |
${MAKE} RECTARGET="opt" OPTIMIZER="${OPT_FLAGS}" \ |
|---|
| 218 |
OBJDIR="${_OPT_BUILDDIR}" recursive |
|---|
| 219 |
|
|---|
| 220 |
# Build only the object files using the default values for ${OBJDIR}. |
|---|
| 221 |
obj: |
|---|
| 222 |
@echo "------------------------------------------------" |
|---|
| 223 |
@echo "Making ${LIBRARY} object files" |
|---|
| 224 |
@echo "------------------------------------------------" |
|---|
| 225 |
${MAKE} RECTARGET="$@" recursive |
|---|
| 226 |
@echo "------------------------------------------------" |
|---|
| 227 |
@echo "Object files built" |
|---|
| 228 |
@echo "------------------------------------------------" |
|---|
| 229 |
|
|---|
| 230 |
# Build the Java-based configuration GUI. |
|---|
| 231 |
gui: |
|---|
| 232 |
ifeq (@BUILD_GUI@, yes) |
|---|
| 233 |
@echo "------------------------------------------------" |
|---|
| 234 |
@echo "Building GUI" |
|---|
| 235 |
@echo "------------------------------------------------" |
|---|
| 236 |
cd GUI && ${MAKE} all |
|---|
| 237 |
@echo "------------------------------------------------" |
|---|
| 238 |
@echo "GUI done" |
|---|
| 239 |
@echo "------------------------------------------------" |
|---|
| 240 |
else |
|---|
| 241 |
@echo "------------------------------------------------" |
|---|
| 242 |
@echo "GUI cannot be built without javac" |
|---|
| 243 |
@echo "------------------------------------------------" |
|---|
| 244 |
endif |
|---|
| 245 |
|
|---|
| 246 |
# Construct the static version of the library from the object files. |
|---|
| 247 |
lib-static ${LIB_STATIC}: |
|---|
| 248 |
@echo "------------------------------------------------" |
|---|
| 249 |
@echo "Creating ${LIB_STATIC}" |
|---|
| 250 |
@echo "------------------------------------------------" |
|---|
| 251 |
${scriptdir}/mkinstalldirs ${LIBDIR} |
|---|
| 252 |
cd ${LIBDIR} && ${AR} ${LIB_STATIC} ${OBJDIR}/*.o |
|---|
| 253 |
cd ${_LIBDIR_BASE} && ln -sf ${LIBDIR}/${LIB_STATIC} ./ |
|---|
| 254 |
@echo "------------------------------------------------" |
|---|
| 255 |
@echo "${LIB_STATIC} done" |
|---|
| 256 |
@echo "------------------------------------------------" |
|---|
| 257 |
|
|---|
| 258 |
# Construct the dynamic shared version of the library from the object files. |
|---|
| 259 |
lib-dynamic ${LIB_DYNAMIC}: |
|---|
| 260 |
@echo "------------------------------------------------" |
|---|
| 261 |
@echo "Creating ${LIB_DYNAMIC}" |
|---|
| 262 |
@echo "------------------------------------------------" |
|---|
| 263 |
${scriptdir}/mkinstalldirs ${LIBDIR} |
|---|
| 264 |
cd ${LIBDIR} && \ |
|---|
| 265 |
${LD} ${LDOPTS} ${DSOVERSIONOPTS} -o ${LIB_DYNAMIC} ${OBJDIR}/*.o |
|---|
| 266 |
cd ${_LIBDIR_BASE} && ln -sf ${LIBDIR}/${LIB_DYNAMIC} ./ |
|---|
| 267 |
@echo "------------------------------------------------" |
|---|
| 268 |
@echo "${LIB_DYNAMIC} done" |
|---|
| 269 |
@echo "------------------------------------------------" |
|---|
| 270 |
|
|---|
| 271 |
# Make links for developer use that provide the needed functionality for |
|---|
| 272 |
# the $VJ_BASE_DIR environment variable to be used when needed. $VJ_BASE_DIR |
|---|
| 273 |
# should be set to ${VJROOT_ABS}. |
|---|
| 274 |
links: |
|---|
| 275 |
@echo "------------------------------------------------" |
|---|
| 276 |
@echo "Setting up developer installation links" |
|---|
| 277 |
@echo "------------------------------------------------" |
|---|
| 278 |
${scriptdir}/mkinstalldirs ${instlinks} |
|---|
| 279 |
${scriptdir}/mkinstalldirs ${instlinks}/include |
|---|
| 280 |
cd ${instlinks}/include && \ |
|---|
| 281 |
dir_list='${SUBDIRS}' ; \ |
|---|
| 282 |
for dir in $$dir_list ; do \ |
|---|
| 283 |
rm -f ./$$dir ; \ |
|---|
| 284 |
ln -s ${VJROOT_ABS}/$$dir ./$$dir ; \ |
|---|
| 285 |
done |
|---|
| 286 |
cd ${instlinks} && rm -f ./${_LIBDIR_NAME} && \ |
|---|
| 287 |
ln -s ${_LIBDIR_BASE} ./${_LIBDIR_NAME} |
|---|
| 288 |
cd ${instlinks} && rm -f ./Data && ln -s ${VJROOT_ABS}/Data ./Data |
|---|
| 289 |
cd ${instlinks}/include && ln -sf ${topdir}/config.h ./config.h |
|---|
| 290 |
${scriptdir}/mkinstalldirs ${instlinks}/bin |
|---|
| 291 |
cd ${instlinks}/bin && ln -sf ${topdir}/GUI/VjCfg.jar ./ |
|---|
| 292 |
cd ${instlinks}/bin && ln -sf ${VJROOT_ABS}/GUI/editconfig ./vjConfig |
|---|
| 293 |
@echo "\n\n" |
|---|
| 294 |
@echo "---------------------------------------------------------------" |
|---|
| 295 |
@echo 'You should now set $$VJ_BASE_DIR to:' |
|---|
| 296 |
@cd ${instlinks} && echo " `pwd`" |
|---|
| 297 |
@echo "---------------------------------------------------------------" |
|---|
| 298 |
|
|---|
| 299 |
# Remove the links in ${instlinks}. |
|---|
| 300 |
clean-links: |
|---|
| 301 |
@echo "------------------------------------------------" |
|---|
| 302 |
@echo "Removing developer installation links" |
|---|
| 303 |
@echo "------------------------------------------------" |
|---|
| 304 |
-cd ${instlinks}/include && rm -f ./config.h |
|---|
| 305 |
rm -rf ${instlinks} |
|---|
| 306 |
|
|---|
| 307 |
# Installation targets. |
|---|
| 308 |
install-all: install-opt install-dso install-dbg install-ddso \ |
|---|
| 309 |
install-headers install-test install-data install-gui |
|---|
| 310 |
@echo "------------------------------------------------" |
|---|
| 311 |
@echo "Creating symlinks in ${_install_libdir}" |
|---|
| 312 |
@echo "------------------------------------------------" |
|---|
| 313 |
cd ${_install_libdir} && \ |
|---|
| 314 |
rm -f ${LIB_STATIC} && ln -s ${_DEFAULT_DIR}/${LIB_STATIC} ./ |
|---|
| 315 |
cd ${_install_libdir} && \ |
|---|
| 316 |
rm -f ${LIB_DYNAMIC} && ln -s ${_DEFAULT_DIR}/${LIB_DYNAMIC} ./ |
|---|
| 317 |
@echo "------------------------------------------------" |
|---|
| 318 |
@echo "Library installation complete" |
|---|
| 319 |
@echo "------------------------------------------------" |
|---|
| 320 |
|
|---|
| 321 |
install-all-abi: |
|---|
| 322 |
@abi_list='${ABI_LIST}' ; \ |
|---|
| 323 |
for abi in $$abi_list ; do \ |
|---|
| 324 |
echo "------------------------------------------------" ; \ |
|---|
| 325 |
echo "Installing $$abi version of ${LIBRARY}" ; \ |
|---|
| 326 |
echo "------------------------------------------------" ; \ |
|---|
| 327 |
${MAKE} vjABI=$$abi install-all ; \ |
|---|
| 328 |
done |
|---|
| 329 |
@echo "------------------------------------------------" |
|---|
| 330 |
@echo "install-all-abi done" |
|---|
| 331 |
@echo "------------------------------------------------" |
|---|
| 332 |
|
|---|
| 333 |
|
|---|
| 334 |
install: install-dbg |
|---|
| 335 |
${MAKE} install-headers |
|---|
| 336 |
${MAKE} install-test |
|---|
| 337 |
${MAKE} install-data |
|---|
| 338 |
${MAKE} install-gui |
|---|
| 339 |
@echo "------------------------------------------------" |
|---|
| 340 |
@echo "Install done" |
|---|
| 341 |
@echo "------------------------------------------------" |
|---|
| 342 |
|
|---|
| 343 |
install-dbg: dbg |
|---|
| 344 |
@echo "------------------------------------------------" |
|---|
| 345 |
@echo "Installing static debugging library" |
|---|
| 346 |
@echo "------------------------------------------------" |
|---|
| 347 |
${scriptdir}/mkinstalldirs ${_install_libdir}/${_DEBUG_DIR} |
|---|
| 348 |
${INSTALL} -m 644 ${_DBG_LIBDIR}/${LIB_STATIC} \ |
|---|
| 349 |
${_install_libdir}/${_DEBUG_DIR}/ |
|---|
| 350 |
cd ${libdir}${LIBBITSUF} && \ |
|---|
| 351 |
ln -sf ${_install_libdir}/${_DEBUG_DIR}/${LIB_STATIC} ./ |
|---|
| 352 |
|
|---|
| 353 |
install-ddso: ddso |
|---|
| 354 |
@echo "------------------------------------------------" |
|---|
| 355 |
@echo "Installing dynamic debugging library" |
|---|
| 356 |
@echo "------------------------------------------------" |
|---|
| 357 |
${scriptdir}/mkinstalldirs ${_install_libdir}/${_DEBUG_DIR} |
|---|
| 358 |
${INSTALL} -m 755 ${_DBG_LIBDIR}/${LIB_DYNAMIC} \ |
|---|
| 359 |
${_install_libdir}/${_DEBUG_DIR}/ |
|---|
| 360 |
cd ${libdir}${LIBBITSUF} && \ |
|---|
| 361 |
ln -sf ${_install_libdir}/${_DEBUG_DIR}/${LIB_DYNAMIC} ./ |
|---|
| 362 |
|
|---|
| 363 |
install-opt: opt |
|---|
| 364 |
@echo "------------------------------------------------" |
|---|
| 365 |
@echo "Installing static optimized library" |
|---|
| 366 |
@echo "------------------------------------------------" |
|---|
| 367 |
${scriptdir}/mkinstalldirs ${_install_libdir}/${_OPT_DIR} |
|---|
| 368 |
${INSTALL} -m 644 ${_OPT_LIBDIR}/${LIB_STATIC} \ |
|---|
| 369 |
${_install_libdir}/${_OPT_DIR}/ |
|---|
| 370 |
cd ${libdir}${LIBBITSUF} && \ |
|---|
| 371 |
ln -sf ${_install_libdir}/${_OPT_DIR}/${LIB_STATIC} ./ |
|---|
| 372 |
|
|---|
| 373 |
install-dso: dso |
|---|
| 374 |
@echo "------------------------------------------------" |
|---|
| 375 |
@echo "Installing dynamic optimizied library" |
|---|
| 376 |
@echo "------------------------------------------------" |
|---|
| 377 |
${scriptdir}/mkinstalldirs ${_install_libdir}/${_OPT_DIR} |
|---|
| 378 |
${INSTALL} -m 755 ${_OPT_LIBDIR}/${LIB_DYNAMIC} \ |
|---|
| 379 |
${_install_libdir}/${_OPT_DIR}/ |
|---|
| 380 |
cd ${libdir}${LIBBITSUF} && \ |
|---|
| 381 |
ln -sf ${_install_libdir}/${_OPT_DIR}/${LIB_DYNAMIC} ./ |
|---|
| 382 |
|
|---|
| 383 |
install-headers: |
|---|
| 384 |
@echo "------------------------------------------------" |
|---|
| 385 |
@echo "Installing header files" |
|---|
| 386 |
@echo "------------------------------------------------" |
|---|
| 387 |
${MAKE} RECTARGET="install" recursive |
|---|
| 388 |
${INSTALL} -m 644 ${topdir}/config.h ${includedir} |
|---|
| 389 |
|
|---|
| 390 |
install-test: |
|---|
| 391 |
@echo "------------------------------------------------" |
|---|
| 392 |
@echo "Installing test programs" |
|---|
| 393 |
@echo "------------------------------------------------" |
|---|
| 394 |
${scriptdir}/install-src.pl -i ${top_srcdir}/test -o ${prefix}/test |
|---|
| 395 |
${scriptdir}/makefiles-gen.pl --CXX="${CXX}" --DEFS="${DEFS}" \ |
|---|
| 396 |
--CPPFLAGS="${CPPFLAGS}" --CXXFLAGS="${CXXFLAGS}" \ |
|---|
| 397 |
--INCLUDES="@INCLUDES@" --startdir="${top_srcdir}/test" \ |
|---|
| 398 |
--SUBDIRS="${TEST_SUBDIRS}" --srcdir="." \ |
|---|
| 399 |
--prefix="${prefix}/test" \ |
|---|
| 400 |
--TEST_VJ_LIBS='@TEST_VJ_LIBS_SUBST@' \ |
|---|
| 401 |
--TEST_EXTRA_LIBS="@TEST_EXTRA_LIBS_SUBST@" |
|---|
| 402 |
|
|---|
| 403 |
install-data: |
|---|
| 404 |
@echo "------------------------------------------------" |
|---|
| 405 |
@echo "Installing standard data files" |
|---|
| 406 |
@echo "------------------------------------------------" |
|---|
| 407 |
${scriptdir}/install-dir.pl -i ${top_srcdir}/Data -o ${prefix}/Data |
|---|
| 408 |
|
|---|
| 409 |
install-gui: gui |
|---|
| 410 |
ifeq (@BUILD_GUI@, yes) |
|---|
| 411 |
@echo "------------------------------------------------" |
|---|
| 412 |
@echo "Installing vjConfig" |
|---|
| 413 |
@echo "------------------------------------------------" |
|---|
| 414 |
${scriptdir}/mkinstalldirs ${bindir} |
|---|
| 415 |
${INSTALL} -m 644 ${topdir}/GUI/VjCfg.jar ${bindir} |
|---|
| 416 |
${INSTALL} -m 755 ${VJROOT_ABS}/GUI/editconfig ${bindir}/vjConfig |
|---|
| 417 |
else |
|---|
| 418 |
@echo "------------------------------------------------" |
|---|
| 419 |
@echo "Skipping installation of vjConfig (not built)" |
|---|
| 420 |
@echo "------------------------------------------------" |
|---|
| 421 |
endif |
|---|
| 422 |
|
|---|
| 423 |
# Dependency generation. |
|---|
| 424 |
depend: .depend_done |
|---|
| 425 |
|
|---|
| 426 |
newdepend: |
|---|
| 427 |
@echo "------------------------------------------------" |
|---|
| 428 |
@echo "Regenerating dependencies" |
|---|
| 429 |
@echo "------------------------------------------------" |
|---|
| 430 |
-@rm -f .depend_done |
|---|
| 431 |
${MAKE} RECTARGET="$@" recursive |
|---|
| 432 |
@touch .depend_done |
|---|
| 433 |
|
|---|
| 434 |
.depend_done: |
|---|
| 435 |
@echo "------------------------------------------------" |
|---|
| 436 |
@echo "Generating dependencies" |
|---|
| 437 |
@echo "------------------------------------------------" |
|---|
| 438 |
${MAKE} RECTARGET="depend" recursive |
|---|
| 439 |
@touch .depend_done |
|---|
| 440 |
|
|---|
| 441 |
# ----------------------------------------------------------------------------- |
|---|
| 442 |
# Clean-up. '_clean' removes all the files in the build directories. |
|---|
| 443 |
# 'clobber' removes the ${_DBG_BUILDDIR} and ${_OPT_BUILDDR} directories. |
|---|
| 444 |
# ----------------------------------------------------------------------------- |
|---|
| 445 |
_clean: |
|---|
| 446 |
@echo "------------------------------------------------" |
|---|
| 447 |
@echo "Cleaning up the source tree" |
|---|
| 448 |
@echo "------------------------------------------------" |
|---|
| 449 |
${MAKE} RECTARGET="clean" recursive |
|---|
| 450 |
cd GUI && ${MAKE} clean |
|---|
| 451 |
@if test -d ${_DBG_BUILDDIR}; then \ |
|---|
| 452 |
echo "------------------------------------------------" ; \ |
|---|
| 453 |
echo "Cleaning in ${_DBG_BUILDDIR} ..." ; \ |
|---|
| 454 |
echo "------------------------------------------------" ; \ |
|---|
| 455 |
cd ${_DBG_BUILDDIR} ; \ |
|---|
| 456 |
rm -f *.o core so_locations ; \ |
|---|
| 457 |
rm -rf ./ii_files ; \ |
|---|
| 458 |
fi |
|---|
| 459 |
@if test -d ${_OPT_BUILDDIR}; then \ |
|---|
| 460 |
echo "------------------------------------------------" ; \ |
|---|
| 461 |
echo "Cleaning in ${_OPT_BUILDDIR} ..." ; \ |
|---|
| 462 |
echo "------------------------------------------------" ; \ |
|---|
| 463 |
cd ${_OPT_BUILDDIR} ; \ |
|---|
| 464 |
rm -f *.o core so_locations ; \ |
|---|
| 465 |
rm -rf ./ii_files ; \ |
|---|
| 466 |
fi |
|---|
| 467 |
-@rm -f .*_done |
|---|
| 468 |
rm -f so_locations |
|---|
| 469 |
@echo "------------------------------------------------" |
|---|
| 470 |
@echo "Done with 'clean'" |
|---|
| 471 |
@echo "------------------------------------------------" |
|---|
| 472 |
|
|---|
| 473 |
clobber: _clean |
|---|
| 474 |
@echo "------------------------------------------------" |
|---|
| 475 |
@echo "Clobbering build directories" |
|---|
| 476 |
@echo "------------------------------------------------" |
|---|
| 477 |
@if test -d ${_DBG_BUILDDIR}; then \ |
|---|
| 478 |
echo "------------------------------------------------" ; \ |
|---|
| 479 |
echo "Removing ${_DBG_BUILDDIR} ..." ; \ |
|---|
| 480 |
echo "------------------------------------------------" ; \ |
|---|
| 481 |
rm -rf ${_DBG_BUILDDIR} ; \ |
|---|
| 482 |
fi |
|---|
| 483 |
@if test -d ${_OPT_BUILDDIR}; then \ |
|---|
| 484 |
echo "------------------------------------------------" ; \ |
|---|
| 485 |
echo "Removing ${_DBG_BUILDDIR} ..." ; \ |
|---|
| 486 |
echo "------------------------------------------------" ; \ |
|---|
| 487 |
rm -rf ${_OPT_BUILDDIR} ; \ |
|---|
| 488 |
fi |
|---|
| 489 |
@if test -d ${_DBG_LIBDIR} ; then \ |
|---|
| 490 |
echo "------------------------------------------------" ; \ |
|---|
| 491 |
echo "Removing ${_DBG_LIBDIR} ..." ; \ |
|---|
| 492 |
echo "------------------------------------------------" ; \ |
|---|
| 493 |
rm -rf ${_DBG_LIBDIR} ; \ |
|---|
| 494 |
fi |
|---|
| 495 |
@if test -d ${_OPT_LIBDIR} ; then \ |
|---|
| 496 |
echo "------------------------------------------------" ; \ |
|---|
| 497 |
echo "Removing ${_OPT_LIBDIR} ..." ; \ |
|---|
| 498 |
echo "------------------------------------------------" ; \ |
|---|
| 499 |
rm -rf ${_OPT_LIBDIR} ; \ |
|---|
| 500 |
fi |
|---|
| 501 |
@echo "------------------------------------------------" |
|---|
| 502 |
@echo "Done with 'clobber'" |
|---|
| 503 |
@echo "------------------------------------------------" |
|---|
| 504 |
|
|---|
| 505 |
# ----------------------------------------------------------------------------- |
|---|
| 506 |
# Human-readable information about the build system. |
|---|
| 507 |
# ----------------------------------------------------------------------------- |
|---|
| 508 |
info:: |
|---|
| 509 |
@echo "\nInfo for the make of ${LIBRARY}" |
|---|
| 510 |
@echo "\nOBJDIR: ${OBJDIR}" |
|---|
| 511 |
@echo "VJROOT_ABS: ${VJROOT_ABS}" |
|---|
| 512 |
@echo "Default ABI: ${ABI}" |
|---|
| 513 |
@echo "Default instruction set: ${INST_SET}" |
|---|
| 514 |
@echo "ABI list: ${ABI_LIST}" |
|---|
| 515 |
@echo "DBG_BUILDDIR: ${_DBG_BUILDDIR}" |
|---|
| 516 |
@echo "OPT_BUILDDIR: ${_OPT_BUILDDIR}" |
|---|
| 517 |
@echo "Installation prefix: ${prefix}" |
|---|
| 518 |
@echo "includedir: ${includedir}" |
|---|
| 519 |
@echo "libdir: ${libdir}" |
|---|
| 520 |
@${scriptdir}/print-targets.sh |
|---|