Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – tendra.SVN – Blame – /branches/algol60/Makefile – Rev 89

Subversion Repositories tendra.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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