Subversion Repositories tendra.SVN

Rev

Rev 11 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

# TenDRA make build infrastructure
#
# $Id$

# STANDARD DIRECTORIES
#
# These directories are used to configure where the release is to be
# installed:
#
#       BASE_DIR        gives the directory in which the source has been
#                       installed (i.e. the directory containing this script).
#
#       PREFIX          gives the base directory prefix in which binaries and
#                       helper files will be installed.
#
#       PUBLIC_BIN      gives the directory in which the public executables
#                       (tcc, tchk and tspec) are to be installed.  If
#                       PUBLIC_BIN is left blank then the public executables
#                       will be installed in the private executables
#                       directory.
#
#       INSTALL_DIR     gives the directory in which the configuration files,
#                       include files, private executables, libraries etc.
#                       are to be installed.
#
#       COMMON_DIR      gives the sub-directory of INSTALL_DIR in which the
#                       target independent components are to be installed.
#
#       MACH_DIR        gives the sub-directory of INSTALL_DIR in which the
#                       target dependent components are to be installed.
#
#       MAN_DIR         gives the directory in which the manual pages are
#                       to be installed.
#
#       OBJ_DIR         gives the working directory in which binary object
#                       files etc. created during the build process will
#                       be stored.
#
#       OBJ_SDIR        gives the full path to the working directory and the
#                       sub-directory of the current source directory.
#
#       TMP_DIR         gives a temporary directory, used both by this
#                       script and by tcc (so make sure that there is
#                       plenty of free space).

.if !defined(_TENDRA_BASE_MK_)
_TENDRA_BASE_MK_=1

PWDCMD?=        $(ENVCMD) pwd
CURDIR!=$(PWDCMD)


.MAKEOVERRIDES: BASE_DIR
BASE_DIR?=      /usr/local/src/tendra

#BASE_DIR?=     ${.CURDIR:C/\/(mk|src).*//}

APIS=           src/lib/apis
ENVCMDIRONMENT= src/lib/env
INCLUDE=        src/include
STARTUP=        src/lib/startup
STARTUP_MACH=   src/lib/machines/${OSFAM}/${BLDARCH}/startup
TOKENS_COMMON=  src/lib/machines/common/tokens
TOKENS_MACH=    src/lib/machines/${OSFAM}/${BLDARCH}/tokens
TOOLS=          src/tools
UTILITIES=      src/utilities

PUBLIC_BIN=     ${PREFIX}/bin
INSTALL_DIR=    ${PREFIX}/lib/TenDRA
COMMON_DIR=     ${INSTALL_DIR}/lib
MACH_DIR=       ${INSTALL_DIR}/machines
MACH_BASE=      ${MACH_DIR}/${OSFAM}/${BLDARCH}
#MACH_BASE=     ${MACH_DIR}/${OSFAM}/${MACH_VERS}/${BLDARCH}
MAN_DIR=        ${PREFIX}/man
.if defined(BOOTSTRAP)
OBJ_DIR=        ${BASE_DIR}
OBJ_SDIR=       ${OBJ_DIR}${.CURDIR:C/${BASE_DIR}//}
.else
OBJ_DIR=        ${BASE_DIR}/obj
OBJ_SDIR=       ${OBJ_DIR}${.CURDIR:C/${BASE_DIR}//}
.endif
BOBJ_DIR=       ${BASE_DIR}/bootstrap
BOBJ_SDIR=      ${BOBJ_DIR}${.CURDIR:C/${BASE_DIR}//}
TMP_DIR=        /var/tmp

# If this file exists then the object tree is complete
OBJ_DIR_INDICATOR=${OBJ_DIR}/_obj_tree_complete

OBJS=  ${SRCS:S/.c/.o/}

# Binary paths

SHELL=          /bin/sh
ENVCMD?=        /usr/bin/env

# Keep in alphabetical order
AR?=            ${ENVCMD} ar
COPY?=          ${ENVCMD} cp
ECHO?=          ${ENVCMD} echo
ECHODIR?=       ${ENVCMD} echo
EXIT?=          exit
INSTALL?=       ${ENVCMD} install
LN?=            ${ENVCMD} ln
MKDIR?=         ${ENVCMD} mkdir
MOVE?=          ${ENVCMD} mv
RANLIB?=        ${ENVCMD} ranlib
REMOVE?=        ${ENVCMD} rm -f
SORT?=          ${ENVCMD} sort
TEST?=          ${ENVCMD} test

.endif  # !defined(_TENDRA_BASE_MK_)