Subversion Repositories tendra.SVN

Rev

Rev 7 | Rev 89 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7 Rev 38
Line 1... Line -...
1
# $Id$
-
 
2
 
1
 
3
# BUILD OPTIONS
2
# BUILD OPTIONS
4
#
3
#
5
# These flags control which components of the release should be installed.
4
# These flags control which components of the release should be installed.
6
#
5
#
Line 22... Line 21...
22
BUILD_UPDATE=	true
21
BUILD_UPDATE=	true
23
BUILD_MACHINE=	true
22
BUILD_MACHINE=	true
24
BUILD_COMMON=	true
23
BUILD_COMMON=	true
25
BUILD_OK=	true
24
BUILD_OK=	true
26
 
25
 
-
 
26
include defs.mk
-
 
27
 
-
 
28
all:
-
 
29
	@${ECHO} "==> Starting TenDRA build..."
-
 
30
	make utilities
-
 
31
	make install-utilities
-
 
32
	make tools
-
 
33
	make install-tools
-
 
34
	make wrappers
-
 
35
	make producers
-
 
36
	make install-producers
-
 
37
	make install-startup
-
 
38
	make install-env
-
 
39
	make install-apis
-
 
40
	make build-libs
-
 
41
	make install-syslibs
-
 
42
	make install-installer
-
 
43
 
-
 
44
	@${ECHO} "==> Creating object directory and symbolic links"
-
 
45
	@${ECHO} "==> Object directory created, bootstrapping build"
-
 
46
	
-
 
47
 
-
 
48
 
-
 
49
 
-
 
50
 
-
 
51
 
-
 
52
 
-
 
53
 
-
 
54
 
-
 
55
 
-
 
56
 
-
 
57
 
-
 
58
 
-
 
59
 
-
 
60
 
-
 
61
 
-
 
62
 
-
 
63
 
-
 
64
 
-
 
65
 
-
 
66
 
27
# RANDOM BITS 'N PIECES
67
# RANDOM BITS 'N PIECES
28
 
68
 
29
SUBDIR=		src
69
SUBDIR=		src
30
 
70
 
-
 
71
#.include "Makefile.defs"
-
 
72
 
-
 
73
sedfile:
-
 
74
	@${ECHO} "# Create ${.TARGET}"
-
 
75
	@${ECHO} "1,\$$s%-MACH-%${OSFAM}/${BLDARCH}%g" 		\
-
 
76
		> ${.TARGET}
-
 
77
	@${ECHO} "1,\$$s%-BLDARCH-%${BLDARCH}%g" 		\
-
 
78
		>> ${.TARGET}
-
 
79
	@${ECHO} "1,\$$s%-OSFAM-%${OSFAM}%g" 			\
-
 
80
		>> ${.TARGET}
-
 
81
	@${ECHO} "1,\$$s%-MACHDIR-%$(MACH_BASE)%g" 		\
-
 
82
		>> ${.TARGET}
-
 
83
	@${ECHO} "1,\$$s%-BINDIR-%$(MACH_BASE)/bin%g" 		\
-
 
84
		>> ${.TARGET}
-
 
85
	@${ECHO} "1,\$$s%-ENVDIR-%$(MACH_BASE)/env%g" 		\
-
 
86
		>> ${.TARGET}
-
 
87
	@${ECHO} "1,\$$s%-LIBDIR-%$(MACH_BASE)/lib%g" 		\
-
 
88
		>> ${.TARGET}
-
 
89
	@${ECHO} "1,\$$s%-INCLDIR-%${COMMON_DIR}/include%g" 	\
-
 
90
		>> ${.TARGET}
-
 
91
	@${ECHO} "1,\$$s%-ASCMD-%${ASCMD}%g" 	\
-
 
92
		>> ${.TARGET}
-
 
93
	@${ECHO} "1,\$$s%-LDCMD-%${LDCMD}%g" 	\
-
 
94
		>> ${.TARGET}
-
 
95
	@${ECHO} "1,\$$s%-LDCRT-%${LDCRT}%g" 	\
-
 
96
		>> ${.TARGET}
-
 
97
		@${ECHO} "1,\$$s%-STARTUPDIR-%$(INSTALL_DIR)/lib/startup%g" 	\
-
 
98
		>> ${.TARGET}
-
 
99
	@${ECHO} "1,\$$s%-TMPDIR-%${TMP_DIR}%g" 		\
-
 
100
		>> ${.TARGET}
-
 
101
 
-
 
102
 
-
 
103
install-installer:
-
 
104
	cd src/installers/$(BLDARCH)/$(OSFAM) && $(MAKE) && $(MAKE) install || exit 1
-
 
105
 
-
 
106
 
31
.if !exists(Makefile.defs)
107
#.if !exists(Makefile.defs)
32
.BEGIN:
108
#.BEGIN:
33
	@${ECHO} "Please run 'makedefs' prior to running (b)make"
109
#	@${ECHO} "Please run 'makedefs' prior to running (b)make"
34
	@${ECHO}
110
#	@${ECHO}
35
	@${EXIT} 1;
111
#	@${EXIT} 1;
36
.else
112
#.else
37
all:
113
#all:
38
. if defined(BOOTSTRAP)
114
#. if defined(BOOTSTRAP)
-
 
115
#	@${ECHO} "==> Starting TenDRA build..."
-
 
116
#	@${ECHO} "==> Creating object directory and symbolic links"
-
 
117
#	@${ECHO} "==> Object directory created, bootstrapping build"
-
 
118
#	@cd ${BASE_DIR} && ${MAKE} _objdirs_done=yes obj;
-
 
119
#. else
-
 
120
#.  if !exists(${.CURDIR}/obj/_obj_tree_complete)
-
 
121
#.   if "${_objdirs_done}" != "yes"
-
 
122
#	@${ECHO} "==> Starting TenDRA build..."
-
 
123
#	@${ECHO} "==> Creating object directory and symbolic links"
-
 
124
#	@cd ${BASE_DIR} && ${MAKE} _objdirs_done=yes obj;
-
 
125
#	@${ECHO} "Do not remove this file." > ${OBJ_DIR_INDICATOR};
-
 
126
#	@${ECHO} "==> Object directory created, building"
-
 
127
#	@${ECHO}
-
 
128
 
-
 
129
#_objdirs_done=yes
-
 
130
#.   endif
-
 
131
#.  endif
-
 
132
#. endif
-
 
133
#.endif
-
 
134
 
-
 
135
 
-
 
136
wrappers:
-
 
137
	install -d $(PUBLIC_BIN)
-
 
138
	rm -f ${PUBLIC_BIN}/tcc
-
 
139
	echo '#!/bin/sh' > ${PUBLIC_BIN}/tcc
-
 
140
	echo exec $(INSTALL_BINDIR)/tcc -yTENDRA_BASEDIR=$(INSTALL_DIR) -Y$(INSTALL_ENVDIR)/default \$${@+"\$$@"} >> ${PUBLIC_BIN}/tcc
-
 
141
	chmod +x ${PUBLIC_BIN}/tcc
-
 
142
	rm -f ${PUBLIC_BIN}/tld
-
 
143
	echo '#!/bin/sh' > ${PUBLIC_BIN}/tld
-
 
144
	echo exec $(INSTALL_BINDIR)/tld \$${@+"\$$@"} >> ${PUBLIC_BIN}/tld
-
 
145
	chmod +x ${PUBLIC_BIN}/tld
-
 
146
	echo '#!/bin/sh' > ${PUBLIC_BIN}/tnc
-
 
147
	echo exec $(INSTALL_BINDIR)/tnc \$${@+"\$$@"} >> ${PUBLIC_BIN}/tnc
-
 
148
	chmod +x ${PUBLIC_BIN}/tnc
-
 
149
	rm -f ${PUBLIC_BIN}/tspec
-
 
150
	ln -s $(INSTALL_BINDIR)/tspec ${PUBLIC_BIN}/tspec
-
 
151
 
-
 
152
#	echo '#!/bin/sh' > ${PUBLIC_BIN}/tspec
-
 
153
#	echo exec $(INSTALL_BINDIR)/tspec \$${@+"\$$@"} >> ${PUBLIC_BIN}/tspec
-
 
154
#	chmod +x ${PUBLIC_BIN}/tspec
-
 
155
 	
-
 
156
 
-
 
157
 
-
 
158
dirs:
-
 
159
	mkdir -p $(INSTALL_DIR)	|| exit 1
-
 
160
	mkdir -p $(MACH_BASE)\
-
 
161
		$(MACH_BASE)/bin\
-
 
162
		$(MACH_BASE)/env\
-
 
163
		 $(MACH_BASE)/lib\
-
 
164
		 $(MACH_BASE)/lib/diag\
-
 
165
		 $(MACH_BASE)/lib/sys
-
 
166
	
-
 
167
#	mkdir -p $(MACH_WORK) || exit 1
-
 
168
	mkdir -p $(COMMON_DIR) || exit 1
-
 
169
#	rm -f ${MACH_BASE}/startup.tar
-
 
170
#	cd $(BASE_DIR)/src/lib && tar cvf ${MACH_BASE}/startup.tar startup || exit 1 
-
 
171
#	cd ${COMMON_DIR} &&  rm -rf startup && tar xvf ${MACH_BASE}/startup.tar
-
 
172
#	rm -f ${MACH_BASE}/startup.tar
-
 
173
 
-
 
174
 
-
 
175
api-depend:
-
 
176
	@${ECHO} "# Creating API source for ${API}"
-
 
177
	${TSPEC} -I${BASE_DIR}/${APIS} -O./ -S./building ${API}
-
 
178
 
-
 
179
makeapi: ${APILIB}
-
 
180
 
-
 
181
${APILIB}: ${APIOBJS}
-
 
182
	@${ECHO} "# Linking ${API} API"
-
 
183
	${TLD} -mc -o ${APILIB} ${APIOBJS}
-
 
184
 
-
 
185
 
-
 
186
b:
39
	@${ECHO} "==> Starting TenDRA build..."
187
	@${ECHO} "==> Starting TenDRA build..."
40
	@${ECHO} "==> Creating object directory and symbolic links"
188
	@${ECHO} "==> Creating object directory and symbolic links"
41
	@${ECHO} "==> Object directory created, bootstrapping build"
189
	@${ECHO} "==> Object directory created, bootstrapping build"
-
 
190
	cd $(BASE_DIR)/src/utilities/ && $(MAKE) 
-
 
191
	cd $(BASE_DIR)/src/tools/ && $(MAKE) 
-
 
192
 
-
 
193
 
-
 
194
clean:
-
 
195
	cd $(BASE_DIR)/src/utilities/ && $(MAKE) clean
42
	@cd ${BASE_DIR} && ${MAKE} _objdirs_done=yes obj;
196
	cd $(BASE_DIR)/src/tools/ && $(MAKE) clean
-
 
197
	rm -rf $(WORK_DIR)
-
 
198
 
-
 
199
 
-
 
200
producers:
-
 
201
	@cd src/producers/c && $(MAKE)
-
 
202
	@cd src/producers/cpp && $(MAKE)
-
 
203
 
-
 
204
install-producers:
-
 
205
	@cd src/producers/c && $(MAKE) install
-
 
206
	@cd src/producers/cpp && $(MAKE) install
-
 
207
 
-
 
208
 
43
. else
209
tools:
-
 
210
	@cd src/tools && $(MAKE)
-
 
211
 
-
 
212
install-tools:
-
 
213
	@cd src/tools && $(MAKE) install
-
 
214
 
-
 
215
utilities:
-
 
216
	@cd src/utilities/ && $(MAKE) 
-
 
217
 
-
 
218
install-utilities:
-
 
219
	@cd src/utilities/ && $(MAKE) install
-
 
220
 
-
 
221
 
-
 
222
 
-
 
223
install-env:
-
 
224
	cd src/lib/env && $(MAKE) install
-
 
225
 
-
 
226
install-startup:
-
 
227
	install -d $(INSTALL_DIR)
-
 
228
	cp -R $(BASE_DIR)/src/lib/startup  $(INSTALL_DIR)/startup
-
 
229
	install -d $(INSTALL_MACHDIR)
-
 
230
	cp -R $(BASE_DIR)/src/lib/machines/$(OSFAM)/$(BLDARCH)/startup \
-
 
231
		$(INSTALL_MACHDIR)/startup
-
 
232
	cp -R $(BASE_DIR)/src/lib/machines/$(OSFAM)/$(BLDARCH)/include \
-
 
233
		$(INSTALL_MACHDIR)/include
-
 
234
 
-
 
235
install-apis:
-
 
236
	install -d $(INSTALL_DIR)/src
44
.  if !exists(${.CURDIR}/obj/_obj_tree_complete)
237
	install -d $(INSTALL_DIR)/include
45
.   if "${_objdirs_done}" != "yes"
238
	install -d $(INSTALL_DIR)/lib
-
 
239
	for API in `cat $(BASE_DIR)/src/build/APIS` ; do \
46
	@${ECHO} "==> Starting TenDRA build..."
240
		echo Installing API $${API} ... ; \
-
 
241
		echo "$(TSPEC) -O$(INSTALL_DIR)/include -S$(INSTALL_DIR)/src -I$(BASE_DIR)/src/lib/apis -w -v $${API}" ; \
-
 
242
		$(TSPEC) -O$(INSTALL_DIR)/include -S$(INSTALL_DIR)/src -I$(BASE_DIR)/src/lib/apis -w -v $${API} ; \
-
 
243
		echo all done  $${TSPEC_INPUT};\
-
 
244
	done
-
 
245
 
-
 
246
build-libs:
47
	@${ECHO} "==> Creating object directory and symbolic links"
247
	for API in `cat $(BASE_DIR)/src/build/APIS` ; do \
-
 
248
		echo Compiling lib $${API} ... ; \
48
	@cd ${BASE_DIR} && ${MAKE} _objdirs_done=yes obj;
249
		cd $(INSTALL_DIR)/src/$${API}.api || exit 1 ;\
49
	@${ECHO} "Do not remove this file." > ${OBJ_DIR_INDICATOR};
250
		if [ -f ${INSTALL_STARTUPDIR}/$${API}.h ] ; then \
-
 
251
			$(MAKE) "TCC=$(TCC) -yTENDRA_BASEDIR=$(INSTALL_DIR) -Y$(INSTALL_ENVDIR)/default -Y32bit"  TLD=$(INSTALL_BINDIR)/tld || exit 1;\
50
	@${ECHO} "==> Object directory created, building"
252
			$(MAKE) PREFIX=$(INSTALL_DIR) install ;\
51
	@${ECHO}
253
		else \
-
 
254
			echo Skipped ; \
-
 
255
		fi ;\
-
 
256
	done
-
 
257
	
-
 
258
install-syslibs:
-
 
259
	cd $(BASE_DIR)/src/lib/machines/$(OSFAM)/$(BLDARCH)/tokens && \
-
 
260
	$(MAKE) "TCC=$(TCC) -yTENDRA_BASEDIR=$(INSTALL_DIR) -Y$(INSTALL_ENVDIR)/default -Y32bit"  TLD=$(INSTALL_BINDIR)/tld install
-
 
261
 
-
 
262
libs:
-
 
263
 
-
 
264
 
-
 
265
		#${PUBLIC_BIN}/tspec -w -v ${API} ; \
-
 
266
 
-
 
267
 
-
 
268
#	cd $(BASE_DIR)/src/utilities && $(MAKE) -DBOOTSTRAP 
-
 
269
#	cd $(BASE_DIR)/src/tools && $(MAKE) -DBOOTSTRAP 
-
 
270
 
-
 
271
 
-
 
272
 
-
 
273
#	cd ${BASE_DIR}/${APIS}/${API}/ && ${.MAKE} -DBOOTSTRAP 
-
 
274
 
52
 
275
 
53
_objdirs_done=yes
-
 
54
.   endif
-
 
55
.  endif
-
 
56
. endif
-
 
57
.endif
-
 
58
 
276
 
59
.include "Makefile.inc"
-