comparison src/gpf2/frame/cust_os/makefile @ 1:864b8cc0cf63

src/gpf2: preened GPF goo from TCS211
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 25 Sep 2016 23:38:58 +0000
parents
children
comparison
equal deleted inserted replaced
0:945cf7f506b2 1:864b8cc0cf63
1 ####################### Makefile for GNU make #####################
2 #
3 # makefile to build cust.lib
4 #
5 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7 #
8 # targets:
9 #
10 # osx.lib functions which belong neither to frame nor to tif, somehow old files
11 # clean delete temp files
12 #
13 #######################################################################
14
15 OWN_MAKELEVEL=0
16
17 #---------- Directories
18 # to add the right header file for the specified board type
19 BOARD=5
20
21 ifdef TOOL_CHOICE
22 TS:=/ts$(TOOL_CHOICE)
23 tsTail :=_ts$(TOOL_CHOICE)
24 else
25 TS:=
26 endif
27
28 ifdef PATH_CC_1_22E
29 PATH:=$(PATH_CC_1_22E);$(PATH)
30 C_DIR:=$(PATH_CC_1_22E)
31 endif
32
33 ifeq ($(TOOL_CHOICE), 3)
34 COPTS= --align_structs=4 -pden -o -q
35 ifndef PATH_CC_2_54
36 PATH_CC_2_54=C:/Dvpt_tools/Codegen/TMS4701x_2.54
37 endif
38 Path:=$(PATH_CC_2_54)/bin;$(Path)
39 INCLUDES += -I"$(PATH_CC_2_54)/include"
40 endif
41
42 ifeq ($(TOOL_CHOICE), 5)
43 COPTS= --align_structs=4 -pden -o -q
44 ifndef PATH_CC_2_55
45 PATH_CC_2_55=C:\Dvpt_tools\Codegen\TMS4701x_2.55
46 endif
47 Path:=$(PATH_CC_2_55)/bin;$(Path)
48 INCLUDES += -I"$(PATH_CC_2_55)/include"
49 endif
50
51 ifeq ($(TOOL_CHOICE), 6)
52 # --code_state=16 => -mt
53 # --endian=little => -me
54 # what is -ml?
55 COPTS= -mv=5e --abi=ti_arm9_abi
56 COPTS+= -pden -pdv -mf -ms -qq -disable_branch_chaining -pi
57 ifndef PATH_CC_4_11
58 PATH_CC_4_11=C:\Dvpt_tools\Codegen\TMS4701x_4.11
59 endif
60 Path:=$(PATH_CC_4_11)/bin;$(Path)
61 INCLUDES += -I"$(PATH_CC_4_11)/include"
62 endif
63
64 # for created object files
65 ifeq ($(TARGET), nuc)
66 OBJDIR=obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)$(OPT)$(TS)
67 else
68 OBJDIR=obj/$(TARGET)$(DB)$(OSAL)$(PS)
69 endif
70
71 ifeq "$(CLEARCASE_PRIMARY_GROUP)" ""
72 CLRCAS=0
73 else
74 ifeq "$(IN_VOB)" "FALSE"
75 CLRCAS=0
76 else
77 CLRCAS=1
78 endif
79 endif
80
81 ifeq ($(CLRCAS), 1)
82 CHECKOUT = -cleartool co -nc
83 CHECKIN = -cleartool ci -nc
84 else
85 CHECKOUT = attrib -r
86 CHECKIN = attrib +r
87 endif
88
89 VPATH=$(OBJDIR);$(OSX_SRC)
90
91 # for created libraries
92 LIBDIR=../../LIB
93
94 # Lint
95 LINT=lint-nt.exe
96 LINT_INC=-i/gpf/template/lint/
97 LINT_OPT_FILE=/gpf/template/lint/options.lnt
98
99 #-------------------------Suffixes for the name of the output file
100 #---------e.g. osx_na7_db.lib
101
102 ifeq ($(TARGET), nuc)
103 ifeq ($(PLATFORM), arm7)
104 tTail :=_na7
105 else
106 ifeq ($(PLATFORM), arm9)
107 tTail :=_na9
108 else
109 ifeq ($(PLATFORM), pc)
110 tTail :=_npc
111 endif
112 endif
113 endif
114 endif
115 ifeq ($(TARGET), linuxpc)
116 tTail :=_lpc
117 OSENV=sus
118 NO_LINT=1
119 else
120 ifeq ($(TARGET), rtlpc)
121 tTail :=_rlp
122 OSENV=sus
123 NO_LINT=1
124 RTL_VERSION=2.0
125 RTL_DIR=/opt/rtldk-$(RTL_VERSION)/rtlinuxpro
126 include $(RTL_DIR)/rtl.mk
127 else
128 ifeq ($(TARGET), linuxarm)
129 tTail :=_la9
130 OSENV=sus
131 NO_LINT=1
132 else
133 ifeq ($(TARGET), solsparc)
134 tTail :=_ssp
135 OSENV=sus
136 NO_LINT=1
137 endif
138 endif
139 endif
140 endif
141
142 #---------- shell calls
143 RM = -rm -rf
144 ifeq ($(OSENV), sus)
145 MKDIR = mkdir
146 else
147 MKDIR = gmkdir
148 endif
149 COPY = cp
150 COPTS_FILE =
151 CLEARTOOL = cleartool
152
153 ifeq ($(DEBUG), 1)
154 dbTail :=_db
155 DB=/db
156 else
157 dbTail:=
158 endif
159
160 ifeq ($(OS_ONLY), 1)
161 osTail :=_os
162 OSAL=/os
163 else
164 osTail:=
165 endif
166
167 ifeq ($(NO_OPT), 1)
168 DISABLE_OPT:=1
169 OPT:=/no
170 noTail:=_no
171 else
172 DISABLE_OPT:=0
173 OPT:=
174 noTail:=
175 endif
176
177 ifeq ($(MEMSUPER), 2)
178 msTail :=_ps
179 PS=/ps
180 endif
181 ifeq ($(MEMSUPER), 1)
182 msTail :=_pm
183 endif
184 ifeq ($(MEMSUPER), 0)
185 msTail:=
186 PS=
187 endif
188
189 XXX:=$(tTail)$(osTail)$(dbTail)$(msTail)$(noTail)$(tsTail)
190
191 #---------- Special settings for each target: for Nucleus/arm7
192 ifeq ($(TARGET), nuc)
193 ifeq ($(PLATFORM), arm7)
194
195 LINT_OPTS = $(LINT_INC) -I"$(subst \,/,$(C_DIR))" -u $(LINT_OPT_FILE)
196
197 ifeq ($(MEMSUPER), 2)
198 DEFINES = -dMEMORY_SUPERVISION -dOPTIMIZE_POOL
199 endif
200 ifeq ($(MEMSUPER), 1)
201 DEFINES = -dMEMORY_SUPERVISION
202 endif
203
204 ifeq ($(TOOL_CHOICE), )
205 COPTS+= -mw -x -pw2 -q -o
206 endif
207
208 CC=cl470
209 COPTS+= -me -mt
210
211 ifeq ($(DEBUG), 1)
212 ifeq ($(TOOL_CHOICE), )
213 COPTS += -g
214 else
215 COPTS += -gt
216 endif
217 COPTS += -mn
218 endif
219
220 ifeq ($(OS_ONLY), 1)
221 DEFINES += -d_OSX_ON_OS_
222 else
223 COPTS+= -o3
224 endif
225
226 COPTS += -fr $(OBJDIR) -c
227
228 INCLUDES += -I"." -I"..\..\INC" -I"..\..\INC\NUC"
229
230 DEFINES += -d_TARGET_ -d_NUCLEUS_
231 COPTSNF = $(COPTS) $(DEFINES) $(INCLUDES)
232 COMMLFLAGS = -rq $@ # only one command is allowed and it is "r" for replace
233 LFLAGS=$(COMMLFLAGS)
234 LIB = ar470 $(LFLAGS)
235 LIBEXT=lib
236 OSX_LIB=$(LIBDIR)/osx$(XXX).$(LIBEXT)
237 OBJTAIL=obj
238
239 clean:
240 @$(RM) obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)$(TS)/*.obj
241 @$(RM) $(OSX_LIB)
242
243
244 endif # platform: arm7
245 endif # target: nucleus
246
247
248 #---------- Special settings for each target: for Nucleus/arm9
249 ifeq ($(TARGET), nuc)
250 ifeq ($(PLATFORM), arm9)
251
252 INCLUDES = -I"." -I"..\..\INC" -I"..\..\INC\NUC"
253
254 CC=cl470
255
256 COPTS+= -me -mt
257
258 ifneq ($(DISABLE_OPT), 1)
259 ifeq ($(TOOL_CHOICE), 6)
260 COPTS+= -O=2
261 else
262 COPTS+= -o
263 endif
264 endif
265
266 ifeq ($(DEBUG), 1)
267 ifeq ($(TOOL_CHOICE), 6)
268 COPTS += --symdebug:coff
269 else
270 COPTS += -gt
271 # toolsets 3 und 5
272 endif
273 COPTS += -mn
274 endif
275
276 LINT_OPTS = $(LINT_INC) -I"$(subst \,/,$(C_DIR))" -u $(LINT_OPT_FILE)
277
278 ifeq ($(MEMSUPER), 2)
279 DEFINES = -dMEMORY_SUPERVISION -dOPTIMIZE_POOL
280 endif
281 ifeq ($(MEMSUPER), 1)
282 DEFINES = -dMEMORY_SUPERVISION
283 endif
284
285 ifeq ($(OS_ONLY), 1)
286 DEFINES += -d_OSX_ON_OS_
287 endif
288
289 COPTS += -fr $(OBJDIR) -c
290
291 DEFINES += -d_TARGET_ -d_NUCLEUS_
292 COPTSNF = $(COPTS) $(DEFINES) $(INCLUDES)
293 COMMLFLAGS = -rq $@ # only one command is allowed and it is "r" for replace
294 LFLAGS=$(COMMLFLAGS)
295 LIB=ar470 $(LFLAGS)
296 LIBEXT=lib
297 OSX_LIB=$(LIBDIR)/osx$(XXX).$(LIBEXT)
298 OBJTAIL=obj
299
300 clean:
301 @$(RM) obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)$(RV)$(OPT)$(TS)/*.obj
302 @$(RM) $(OSX_LIB)
303
304
305 endif # platform: arm9
306 endif # target: nucleus
307
308 #----------NucleusWin
309 ifeq ($(TARGET), nuc)
310 ifeq ($(PLATFORM), pc)
311
312 CC=cl
313 COPTS = /c /nologo /W3 /GX /Zp1 /GZ
314 INCLUDES = -I"." -I"..\..\inc" -I"..\..\inc\nuc"
315 LINT_OPT_FILE += co-msc50.lnt
316 LINT_OPTS = $(LINT_INC) -D_WIN32 -D_M_IX86 -I"NUC" -u $(LINT_OPT_FILE)
317
318 ifeq ($(DEBUG), 1)
319 COPTS += /MD /DEBUG /Z7
320 DEFINES += -D"_DEBUG" -D"NU_DEBUG"
321 else
322 COPTS += /MT
323 endif
324
325 COPTS += /FR"..\..\temp\nucwin" /Fd"..\..\temp\nucwin" /Fo./$(OBJDIR)/
326
327 ifeq ($(OS_ONLY), 1)
328 DEFINES += -D"_OSX_ON_OS_"
329 endif
330
331 ifeq ($(MEMSUPER), 2)
332 DEFINES += -D"MEMORY_SUPERVISION" -D"OPTIMIZE_POOL"
333 endif
334 ifeq ($(MEMSUPER), 1)
335 DEFINES += -D"MEMORY_SUPERVISION"
336 endif
337
338 DEFINES += -D"_NUCLEUS_"
339 COPTSNF = $(COPTS) $(DEFINES) $(INCLUDES)
340 COPTS_FILE =
341 INCLUDELIST=$(subst /I ,-I,$(INCLUDES))
342 DEFINELIST=$(subst /D ,-D,$(DEFINES))
343
344 COMMLFLAGS = /nologo /subsystem:console /machine:I386
345 LFLAGS=$(COMMLFLAGS) #/debug??
346 LIB=LIB /out:$@ $(LFLAGS)
347 LIBEXT=lib
348 OBJTAIL=obj
349 OSX_LIB=$(LIBDIR)/osx$(XXX).$(LIBEXT)
350
351 clean:
352 @$(RM) obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)$(RV)/*.obj
353 @$(RM) $(OSX_LIB)
354
355 endif
356 endif # nucleus && pc
357
358 ifeq ($(OSENV), sus)
359
360 #_OS_LAYER += os_ctb.o
361 OS_LAYER_SRC:=./$(OSENV)/
362 COPTS = -c -o$(OBJDIR)/$@
363 INCLUDES = -I. -I../../inc/$(OSENV) -I../../inc
364 ifeq ($(TARGET), linuxtool)
365 DEFINES += -D_TOOLS_
366 endif
367
368 DEFINES += -DPURE_USER_MODE #-DGSP_OSL_LOG
369 ifeq ($(OS_ONLY), 1)
370 DEFINES += -D_OSX_ON_OS_
371 endif
372
373 ifeq ($(DEBUG), 1)
374 COPTS += -g
375 DEFINES += -DOSL_DEBUG
376 endif
377
378 ifeq ($(MEMSUPER), 2)
379 DEFINES += -DMEMORY_SUPERVISION -DOPTIMIZE_POOL
380 endif
381 ifeq ($(MEMSUPER), 1)
382 DEFINES += -DMEMORY_SUPERVISION
383 endif
384
385 ifeq ($(TARGET), rtlpc)
386 COPTSNF = $(CFLAGS)
387 MKLIB= i386-linux-ar ruv $@
388 RANLIB= i386-linux-ranlib
389 DEFINES += -D_RT_LINUX_
390 else
391 ifeq ($(TARGET), linuxarm)
392 CC=arm-linux-gcc
393 MKLIB= arm-linux-ar ruv $@
394 RANLIB= arm-linux-ranlib
395 DEFINES += -D_TARGET -D_LINUX_ -DGSP_OSL_LOG
396 else
397 ifeq ($(TARGET), solsparc)
398 CC=gcc
399 MKLIB= ar ruv $@
400 RANLIB= ranlib
401 DEFINES += -D_SOLARIS_ -D_LINUX_
402 else
403 CC=gcc
404 MKLIB= ar ruv $@
405 RANLIB= ranlib
406 DEFINES += -D_LINUX_
407 endif
408 endif
409 endif
410 COPTSNF += $(COPTS) $(DEFINES) $(INCLUDES)
411 COPTS_FILE =
412 INCLUDELIST=$(subst /I ,-I,$(INCLUDES))
413 DEFINELIST=$(subst /D ,-D,$(DEFINES))
414
415 LIB=ar ruv $@
416 LIBEXT=a
417 OBJTAIL=o
418 OSX_LIB=$(LIBDIR)/libosx$(XXX).$(LIBEXT)
419
420 clean:
421 @$(RM) obj/$(TARGET)/$(PLATFORM)$(DB)$(PS)/*.$(OBJTAIL)
422 @$(RM) $(FRAME_LIB)
423
424 endif # osenv = sus
425 ######################### osx.lib ##################################
426 OSX_INC = ../../inc/typedefs.h ../../inc/vsi.h ../../inc/header.h cust_os.h
427
428 OSX_SRC=./
429
430 _OSX_OBJS = osx.$(OBJTAIL)
431 OSX_OBJS=$(patsubst %.$(OBJTAIL),$(OBJDIR)/%.$(OBJTAIL),$(_OSX_OBJS))
432
433
434 foo:
435 echo $(OSX_OBJS)
436 echo $(_OSX_OBJS)
437 echo $(OBJDIR)
438 echo $(OBJTAIL)
439
440 osx.$(LIBEXT): $(COPTS_FILE) $(OSX_LIB)
441
442 $(OBJDIR) :
443 $(MKDIR) -p $(OBJDIR)
444
445 $(OSX_LIB) : $(OBJDIR) $(COPTS_FILE) $(_OSX_OBJS) makefile
446 # OWN_MAKELEVEL == 0 if makefile called directly, == 1 if nested
447 ifneq ($(OWN_MAKELEVEL), 0)
448 @echo checking out and touching using $(MAKE)
449 $(CHECKOUT) $@
450 touch -c $@
451 else
452 gnumake MAKE=gnumake OWN_MAKELEVEL=1 $(subst \,/,$@ $<)
453 @echo proceeding using $(MAKE)
454 $(LIB) $(OSX_OBJS)
455 ifeq ($(OSENV), sus)
456 $(RANLIB) $@
457 endif
458 endif
459
460
461 $(_OSX_OBJS) : %.$(OBJTAIL) : $(OSX_SRC)/%.c $(OSX_INC)
462 # $(LINT) $(LINT_OPTS) $(DEFINES) $(INCLUDES) $<
463 $(CC) $(COPTSNF) $<