Subversion Repositories tendra.SVN

Rev

Rev 11 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6 7u83 1
# TenDRA make build infrastructure
2
#
3
# $Id$
4
 
5
# STANDARD DIRECTORIES
6
#
7
# These directories are used to configure where the release is to be
8
# installed:
9
#
10
#       BASE_DIR        gives the directory in which the source has been
11
#                       installed (i.e. the directory containing this script).
12
#
13
#	PREFIX		gives the base directory prefix in which binaries and
14
#			helper files will be installed.
15
#
16
#       PUBLIC_BIN      gives the directory in which the public executables
17
#                       (tcc, tchk and tspec) are to be installed.  If
18
#                       PUBLIC_BIN is left blank then the public executables
19
#                       will be installed in the private executables
20
#                       directory.
21
#
22
#       INSTALL_DIR     gives the directory in which the configuration files,
23
#                       include files, private executables, libraries etc.
24
#                       are to be installed.
25
#
26
#       COMMON_DIR      gives the sub-directory of INSTALL_DIR in which the
27
#                       target independent components are to be installed.
28
#
29
#       MACH_DIR        gives the sub-directory of INSTALL_DIR in which the
30
#                       target dependent components are to be installed.
31
#
32
#       MAN_DIR         gives the directory in which the manual pages are
33
#                       to be installed.
34
#
35
#       OBJ_DIR         gives the working directory in which binary object
36
#                       files etc. created during the build process will
37
#                       be stored.
38
#
39
#	OBJ_SDIR	gives the full path to the working directory and the
40
#			sub-directory of the current source directory.
41
#
42
#       TMP_DIR         gives a temporary directory, used both by this
43
#                       script and by tcc (so make sure that there is
44
#                       plenty of free space).
45
 
46
.if !defined(_TENDRA_BASE_MK_)
47
_TENDRA_BASE_MK_=1
48
 
11 7u83 49
PWDCMD?=	$(ENVCMD) pwd
50
CURDIR!=$(PWDCMD)
51
 
52
 
6 7u83 53
.MAKEOVERRIDES:	BASE_DIR
11 7u83 54
BASE_DIR?=	/usr/local/src/tendra
55
 
56
#BASE_DIR?=	${.CURDIR:C/\/(mk|src).*//}
57
 
6 7u83 58
APIS=		src/lib/apis
11 7u83 59
ENVCMDIRONMENT=	src/lib/env
6 7u83 60
INCLUDE=	src/include
61
STARTUP=	src/lib/startup
62
STARTUP_MACH=	src/lib/machines/${OSFAM}/${BLDARCH}/startup
63
TOKENS_COMMON=	src/lib/machines/common/tokens
64
TOKENS_MACH=	src/lib/machines/${OSFAM}/${BLDARCH}/tokens
65
TOOLS=		src/tools
66
UTILITIES=	src/utilities
67
 
68
PUBLIC_BIN=	${PREFIX}/bin
69
INSTALL_DIR=	${PREFIX}/lib/TenDRA
70
COMMON_DIR=	${INSTALL_DIR}/lib
71
MACH_DIR=	${INSTALL_DIR}/machines
72
MACH_BASE=	${MACH_DIR}/${OSFAM}/${BLDARCH}
73
#MACH_BASE=	${MACH_DIR}/${OSFAM}/${MACH_VERS}/${BLDARCH}
74
MAN_DIR=	${PREFIX}/man
75
.if defined(BOOTSTRAP)
15 7u83 76
OBJ_DIR=	${BASE_DIR}
6 7u83 77
OBJ_SDIR=	${OBJ_DIR}${.CURDIR:C/${BASE_DIR}//}
78
.else
79
OBJ_DIR=	${BASE_DIR}/obj
80
OBJ_SDIR=	${OBJ_DIR}${.CURDIR:C/${BASE_DIR}//}
81
.endif
82
BOBJ_DIR=	${BASE_DIR}/bootstrap
83
BOBJ_SDIR=	${BOBJ_DIR}${.CURDIR:C/${BASE_DIR}//}
84
TMP_DIR=	/var/tmp
85
 
86
# If this file exists then the object tree is complete
87
OBJ_DIR_INDICATOR=${OBJ_DIR}/_obj_tree_complete
88
 
89
OBJS=  ${SRCS:S/.c/.o/}
90
 
91
# Binary paths
92
 
93
SHELL=		/bin/sh
11 7u83 94
ENVCMD?=	/usr/bin/env
6 7u83 95
 
96
# Keep in alphabetical order
11 7u83 97
AR?=		${ENVCMD} ar
98
COPY?=		${ENVCMD} cp
99
ECHO?=		${ENVCMD} echo
100
ECHODIR?=	${ENVCMD} echo
6 7u83 101
EXIT?=		exit
11 7u83 102
INSTALL?=	${ENVCMD} install
103
LN?=		${ENVCMD} ln
104
MKDIR?=		${ENVCMD} mkdir
105
MOVE?=		${ENVCMD} mv
106
RANLIB?=	${ENVCMD} ranlib
107
REMOVE?=	${ENVCMD} rm -f
108
SORT?=		${ENVCMD} sort
109
TEST?=		${ENVCMD} test
6 7u83 110
 
111
.endif	# !defined(_TENDRA_BASE_MK_)